1. 程式人生 > >ansible部署zabbix客戶端

ansible部署zabbix客戶端

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客戶端