客户端
[root@zabbix-proxy ~]# yum -y install mariadb-server mariadb https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-proxy-mysql-5.0.15-1.el7.x86_64.rpm
[root@zabbix-proxy ~]# systemctl enable --now mariadb
[root@zabbix-proxy ~]# systemctl enable --now zabbix-proxy.service
[root@zabbix-proxy ~]# mysql
MariaDB [(none)]> create database zabbix_proxy default charset utf8;
MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@'localhost' identified by 'zabbix_proxy';
[root@zabbix-proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.15/schema.sql.gz | mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy
[root@zabbix-proxy ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=172.16.1.71
Hostname=Zabbix_proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=30
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
服务端
[root@zabbix-server zabbix-agent2]# ansible-galaxy init zabbix-agent2
[root@zabbix-server ansible]# vim hosts
[zabbix-agent]
172.16.1.31
172.16.1.32
[root@zabbix-server ansible]# ansible all -m ping
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
172.16.1.31 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
172.16.1.32 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
[root@zabbix-server zabbix-agent2]# grep '^[a-Z]' templates/zabbix_agent2.conf.j2
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server={{ zabbix_proxy }}
ServerActive={{ zabbix_proxy }}
Hostname={{ ansible_hostname }}
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
[root@zabbix-server zabbix-agent2]# vim tasks/main.yml
---
# tasks file for zabbix-agent2
- name: yum zabbix.agent2
yum:
name: https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.15-1.el7.x86_64.rpm
state: present
- name: set zabbix-agent2.conf
template:
src: zabbix_agent2.conf.j2
dest: /etc/zabbix/
mode: '0644'
- name: cp userparameter
copy:
src: zabbix_agent2.d/
dest: /etc/zabbix/zabbix.agent2.d/
- name: status zabbix
service:
name: zabbix-agent2
state: started
enabled: yes
执行脚本
[root@localhost ansible]# ansible-playbook zabbix.yml
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
PLAY [zabbix-agent] *********************************************************************************************************************************
TASK [Gathering Facts] ******************************************************************************************************************************
ok: [172.16.1.31]
ok: [172.16.1.32]
TASK [zabbix-agent2 : yum zabbix.agent2] ************************************************************************************************************
ok: [172.16.1.31]
ok: [172.16.1.32]
TASK [set zabbix-agent2.conf] ***********************************************************************************************************************
ok: [172.16.1.31]
ok: [172.16.1.32]
TASK [zabbix-agent2 : cp userparameter] *************************************************************************************************************
ok: [172.16.1.31]
ok: [172.16.1.32]
TASK [zabbix-agent2 : status zabbix] ****************************************************************************************************************
changed: [172.16.1.31]
changed: [172.16.1.32]
PLAY RECAP ******************************************************************************************************************************************
172.16.1.31 : ok=5 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
172.16.1.32 : ok=5 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
效果