Ansible Playbook 源碼安裝 Zabbix_Agent (client 端爲Centos6.4)

 Ansible目錄結構

## ansible.cfg  此文件爲 ansible 的主配置文件
## hosts        用於定義主機組
## roles        定義不同的角色
## install_zabbix_agent.yml  用於安裝 zabbix_agent 的引導文件
## delete_zabbix_agent.yml   用於刪除已安裝的 zabbix_agent 的引導文件
 [root@ansible-server ansible]# cd /etc/ansible/ ; tree 
.
|-- hosts
|-- install_zabbix_agent.yml
`-- roles
    `-- install_zabbix_agent                                                              <---------爲一個角色(目錄)
        |-- files                                                                                          <---------用於存放將要拷貝到遠程主機的安裝包等
        |   |-- install_zabbix_client.sh                                                        <--------client安裝腳本
        |   `-- zabbix-4.0.6-agent_after_make_on_centos6.tar              <--------官網下載agent,放至此目錄
        |-- tasks                 <--------將要執行的所有任務,如果比較複雜,可以單獨定義不同的任務,最後在 main.yml 文件中引用即可
        |   `-- main.yml
        |-- templates         <--------模板目錄,這裏存放着一些可變的文件,即:每臺主機上的這些文件中的內容都不完全相同
        |   |-- zabbix_agentd
        |   `-- zabbix_agentd.conf
        `-- vars                                                                                              <--------變量目錄,存放變量文件
            `-- main.yml

===========================================================================================

 Playbook 安裝軟件需要的步驟

1、定義 hosts( 給哪些主機安裝軟件 )
2、定義入口文件 install_zabbix_agent.yml
3、定義角色 install_zabbix_agent

以下爲相關文件內容,按tree目錄顯示位置存放下列文件即可:

# cat /etc/ansible/hosts 
[webservers]
192.168.1.100
192.168.1.110
 

# cat install_zabbix_agent.yml
- hosts: webservers
  remote_user: root
  tasks:
  - name: mkdir
    shell: mkdir -p /tmp/zabbix
  - name: touch Logfile
    shell: cd /tmp/zabbix && touch zabbix.log
  - name: copy zabbix.tar to clien
    copy: src=/etc/ansible/roles/install_zabbix_agent/files/zabbix-4.0.6-agent_after_make_on_centos6.tar  dest=/tmp/zabbix
  - name: copy install_shell to client
    copy: src=/etc/ansible/roles/install_zabbix_agent/files/install_zabbix_client.sh dest=/tmp/zabbix/install_zabbix_client.sh
    notify: install shell
  handlers:
  - name: install shell
    shell: /bin/bash /tmp/zabbix/install_zabbix_client.sh >/tmp/zabbix/zabbix.log 2>&1

[root@ansible-server files]# cat install_zabbix_client.sh
#!/bin/bash
set -x
yum -y install pcre-devel.x86_64
groupadd --system zabbix
useradd --system -g zabbix -M -s /sbin/nologin -c "Zabbix Monitoring" zabbix
cd /tmp/zabbix
tar -xf  zabbix-4.0.6-agent.tar -C /tmp/zabbix
cd /tmp/zabbix/zabbix-4.0.6
make install
cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
sed -i 's/Server=127.0.0.1/Server=10.10.100.10/' /usr/local/etc/zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/ServerActive=10.10.100.10/' /usr/local/etc/zabbix_agentd.conf
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
service zabbix_agentd start

 

最後執行命令(run on ansible)
#ansible-playbook  -vvv -i hosts install_zabbix_agent.yml
 

另外可在 zabbixServer 上測試
/usr/local/zabbix/bin/zabbix_get -s10.10.10.2 -p10050 -k "system.uname"

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章