ansible部署zabbix客戶端
阿新 • • 發佈:2017-10-23
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://lsfandlinux.blog.51cto.com/13405754/1975066
ansible部署zabbix客戶端