zabbix ansible
第一次用ansible部署软件,ansible这款软件用得还不熟,所以摸索了挺久的。
由于ansible是基于ssh的,所以先在服务端生成秘钥,然后把公钥传到要部署的客户机。
- ssh-keygen
- ssh-copy-id 192.168.40.145
- ssh-copy-id 192.168.40.146
然后同步一下时间。
安装软件:
- yum install ansible - y
然后修改配置文件,添加要安装zabbix客户端的主机ip
- [root@test ansible]# cat /etc/ansible/hosts
- ……
- ……
- [zabbixclient]
- 192.168.40.145
- 192.168.40.146
然后将安装剧本写入文件中。
- [root@test ansible]# cat instal_zabbixclient.yaml
- - hosts: zabbixclient
- tasks:
- - name: install packages
- yum: name={{item}} state=latest
- with_items: ##使用with循环安装依赖包,如果好有其他依赖包没安装,可以写在下面。
- - curl-devel
- - name: sent packages tar
- copy: src=/usr/local/src/zabbix-3.2.7.tar.gz dest=/usr/local/src/zabbix-3.2.7.tar.gz
- - name: unzip the tar
- shell: cd /usr/local/src/;tar -xf zabbix-3.2.7.tar.gz
- - name: compile zabbix
- shell: cd /usr/local/src/zabbix-3.2.7;./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix
- - name: make
- shell: cd /usr/local/src/zabbix-3.2.7;make && make install
- - name: copy zabbix_agentd.conf
- copy: src=/usr/local/zabbix/etc/zabbix_agentd.conf dest=/usr/local/zabbix/etc/
- - name: copy zabbix_agentd
- copy: src=/usr/local/src/zabbix-3.2.7/misc/init.d/fedora/core5/zabbix_agentd dest=/etc/init.d/ mode=700
- - name: useradd zabbix
- shell: useradd zabbix -s /sbin/nologin
- - name: start zabbix_agentd
- shell: /etc/init.d/zabbix_agentd start
然后先修改一下以上两个要copy过去的文件。
先将客户端配置文件zabbix_agented.conf的Server指向zabbix服务器:
- sed - i ‘s / Server = 127.0.0.1 / Server = 192.168.40.5 / g‘ / usr / local / zabbix / etc / zabbix_agentd.conf
再将启动文件复制到/etc/init.d/目录下,然后修改一下启动路径:
- cp / usr / local / src / zabbix - 3.2.7 / misc / init.d / fedora / core5 / zabbix_agentd / etc / init.d /
- sed - i ‘s / ZABBIX_BIN = "\/usr\/local\/sbin\/zabbix_agentd/ZABBIX_BIN="\ / usr\ / local\ / zabbix\ / sbin\ / zabbix_agentd "/g‘ /etc/init.d/zabbix_agentd"
然后就可以测试一下ansible安装是否可以:
- [root@test ansible]# ansible-playbook -C instal_zabbixclient.yaml
- PLAY [zabbixclient] **************************************************************************************************************************************************************
- TASK [Gathering Facts] ***********************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [install packages] **********************************************************************************************************************************************************
- ok: [192.168.40.146] => (item=[u‘curl-devel‘])
- ok: [192.168.40.145] => (item=[u‘curl-devel‘])
- TASK [sent packages tar] *********************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [unzip the tar] *************************************************************************************************************************************************************
- skipping: [192.168.40.145]
- skipping: [192.168.40.146]
- TASK [compile zabbix] ************************************************************************************************************************************************************
- skipping: [192.168.40.145]
- skipping: [192.168.40.146]
- TASK [make] **********************************************************************************************************************************************************************
- skipping: [192.168.40.145]
- skipping: [192.168.40.146]
- TASK [copy zabbix_agentd.conf] ***************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [copy zabbix_agentd] ********************************************************************************************************************************************************
- ok: [192.168.40.146]
- ok: [192.168.40.145]
- TASK [useradd zabbix] ************************************************************************************************************************************************************
- skipping: [192.168.40.145]
- skipping: [192.168.40.146]
- TASK [start zabbix_agentd] *******************************************************************************************************************************************************
- skipping: [192.168.40.146]
- skipping: [192.168.40.145]
- PLAY RECAP ***********************************************************************************************************************************************************************
- 192.168.40.145 : ok=5 changed=0 unreachable=0 failed=0
- 192.168.40.146 : ok=5 changed=0 unreachable=0 failed=0
直接执行:
- [root@test ansible]# ansible-playbook instal_zabbixclient.yaml
- PLAY [zabbixclient] **************************************************************************************************************************************************************
- TASK [Gathering Facts] ***********************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [install packages] **********************************************************************************************************************************************************
- ok: [192.168.40.145] => (item=[u‘curl-devel‘])
- ok: [192.168.40.146] => (item=[u‘curl-devel‘])
- TASK [sent packages tar] *********************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [unzip the tar] *************************************************************************************************************************************************************
- changed: [192.168.40.145]
- changed: [192.168.40.146]
- TASK [compile zabbix] ************************************************************************************************************************************************************
- changed: [192.168.40.145]
- changed: [192.168.40.146]
- TASK [make] **********************************************************************************************************************************************************************
- changed: [192.168.40.146]
- changed: [192.168.40.145]
- TASK [copy zabbix_agentd.conf] ***************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [copy zabbix_agentd] ********************************************************************************************************************************************************
- ok: [192.168.40.145]
- ok: [192.168.40.146]
- TASK [useradd zabbix] ************************************************************************************************************************************************************
- changed: [192.168.40.145]
- changed: [192.168.40.146]
- TASK [start zabbix_agentd] *******************************************************************************************************************************************************
- changed: [192.168.40.145]
- changed: [192.168.40.146]
- PLAY RECAP ***********************************************************************************************************************************************************************
- 192.168.40.145 : ok=10 changed=5 unreachable=0 failed=0
- 192.168.40.146 : ok=10 changed=5 unreachable=0 failed=0
启动成功后就去服务端zabbix界面添加主机:
完。
来源: http://www.bubuko.com/infodetail-2362197.html