mirror of
				https://gitlab.sectorq.eu/jaydee/ansible.git
				synced 2025-10-30 18:01:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			115 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
| - hosts: datacenter
 | |
|   name: Install zabbix agent
 | |
|   become: true
 | |
|   vars:
 | |
|     ZABBIX_SERVER_IP: "192.168.77.216"
 | |
|     ZABBIX_DB_PASSWORD: "zabbix"
 | |
|   tasks:
 | |
|     - name: Print all available facts
 | |
|       ansible.builtin.debug:
 | |
|         var: ansible_facts.architecture
 | |
|     # - name: Upload zabbix package
 | |
|     #   ansible.builtin.copy:
 | |
|     #     src: packages/zabbix-release_6.4-1+ubuntu22.04_all.deb
 | |
|     #     dest: /tmp/
 | |
| 
 | |
|     - name: Install a .deb package from the internet
 | |
|       ansible.builtin.apt:
 | |
|         #deb: https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb
 | |
|         deb: https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb
 | |
|       when:
 | |
|         - ansible_facts.architecture != "armv7l"  and ansible_distribution == "Debian"  and ansible_distribution_major_version  == "12"
 | |
|     
 | |
| 
 | |
| 
 | |
|     # - name: Install a .deb package localy
 | |
|     #   ansible.builtin.apt:
 | |
|     #     deb: /tmp/zabbix-release_6.4-1+ubuntu22.04_all.deb
 | |
|     - name: Install zabbix packages
 | |
|       ansible.builtin.apt:
 | |
|         name: 
 | |
|           - zabbix-agent2
 | |
|           - zabbix-agent2-plugin-*
 | |
|           - zabbix-server-pgsql
 | |
|           - zabbix-frontend-php
 | |
|           - php8.2-pgsql
 | |
|           - zabbix-nginx-conf
 | |
|           - zabbix-sql-scripts
 | |
|           - postgresql
 | |
|           - postgresql-client
 | |
|         update_cache: yes
 | |
| 
 | |
|     - name: Apt exclude linux-dtb-current-meson64
 | |
|       ansible.builtin.shell: echo "CREATE USER zabbix password 'zabbix';" |  su -c /usr/bin/psql postgres
 | |
|     - name: Apt exclude linux-dtb-current-meson64
 | |
|       ansible.builtin.shell: sudo -u postgres createdb -O zabbix zabbix 
 | |
|     - name: Apt exclude linux-dtb-current-meson64
 | |
|       ansible.builtin.shell: zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix 
 | |
| 
 | |
|     - name: Reconfigure zabbix agent Server
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_server.conf 
 | |
|         regexp: "^DBPassword=.*"
 | |
|         insertafter: '^# DBPassword='
 | |
|         line: "DBPassword={{ ZABBIX_DB_PASSWORD }}"
 | |
|     - name: Reconfigure zabbix agent Server
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/nginx/conf.d/zabbix.conf 
 | |
|         regexp: "^#        listen.*"
 | |
|         line: "        listen          8080;"
 | |
|     - name: Reconfigure zabbix agent Server
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/nginx/conf.d/zabbix.conf 
 | |
|         regexp: "^#        server_name.*"
 | |
|         line: "        server_name     zabbix.sectorq.eu;"     
 | |
| 
 | |
| 
 | |
|     - name: Reconfigure zabbix agent Server
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_agent2.conf
 | |
|         regexp: "^Server=.*"
 | |
|         insertafter: '^# Server='
 | |
|         line: "Server=192.168.77.0/24"
 | |
| 
 | |
|     - name: Reconfigure zabbix agent ServerActive
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_agent2.conf
 | |
|         regexp: "^ServerActive=.*"
 | |
|         line: "ServerActive={{ ZABBIX_SERVER_IP }}"
 | |
|     - name: Reconfigure zabbix agent ListenPort
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_agent2.conf
 | |
|         regexp: "^ListenPort=.*"
 | |
|         line: "ListenPort=10050"
 | |
|     # - name: Reconfigure zabbix agent ListenIP
 | |
|     #   ansible.builtin.lineinfile:
 | |
|     #     path: /etc/zabbix/zabbix_agent2.conf
 | |
|     #     regexp: "^ListenIP=.*"
 | |
|     #     line: "ListenIP=0.0.0.0"
 | |
|     - name: Reconfigure zabbix-agent2 hostname
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_agent2.conf
 | |
|         regexp: "^Hostname=.*"
 | |
|         line: "Hostname={{ansible_hostname}}"
 | |
|     - name: Reconfigure zabbix-agent2 hostname
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_agent2.conf
 | |
|         regexp: "^UserParameter=.*"
 | |
|         insertafter: '^# UserParameter='
 | |
|         line: "UserParameter=system.temperature,vcgencmd measure_temp"
 | |
|     - name: Reconfigure zabbix-agent2 hostname
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/zabbix/zabbix_agent2.conf
 | |
|         regexp: "^HostMetadata=.*"
 | |
|         insertafter: '^# HostMetadata='
 | |
|         line: "HostMetadata=linux;jaydee"
 | |
| 
 | |
|     - name: Restart zabbix-server service
 | |
|       ansible.builtin.service:
 | |
|         name: "{{ item }}"
 | |
|         state: restarted
 | |
|         enabled: true
 | |
|       loop:
 | |
|         - zabbix-server.service
 | |
|         - zabbix-agent2.service
 | |
|         - nginx.service    | 
