ansible部署zabbix客户端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible部署zabbix客户端相关的知识,希望对你有一定的参考价值。

第一次用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

[[email protected] ansible]# cat /etc/ansible/hosts
……
……
[zabbixclient]
192.168.40.145
192.168.40.146

然后将安装剧本写入文件中。

[[email protected] 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安装是否可以:

[[email protected] 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

直接执行:

[[email protected] 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客户端的主要内容,如果未能解决你的问题,请参考以下文章

ansible自动化部署zabbix客户端

ansible部署zabbix客户端

Ansible 部署 Zabbix 客户端

ansible 部署 zabbix客户端 脚本

ansible自动部署 zabbix-agent 的模块

ansible +centos7 批量安装zabbix3.2.1 agent