您现在的位置是:首页 > 文章详情

Ansible批量部署zabbix-agent

日期:2017-02-14点击:561


Ansible的目录树结构如下:


# tree zabbix/

zabbix/ ├── defaults ├── files │   └── zabbix.tar.gz ├── handlers ├── meta ├── tasks │   └── main.yml ├── templates │   └── zabbix_agentd.conf.j2 └── vars     └── main.yaml



zabbix.tar.gz:tar包是编译安装完zabbix后打的tar包


zabbix_agentd.conf.j2:编译安装完zabbix,copy的zabbix_agentd.conf文件,略微添加点东西,后面会展示。


zabbix_agentd:文件也是编译安装完zabbix,copy的启动脚本文件,修改了里面的zabbix_home变量。



zabbix playbook文件如下:

cat zabbix.yml  - hosts: all   roles:     - zabbix



tasks文件内容如下:

# cat main.yml  - name: scp zabbix 到 client   copy: src=zabbix.tar.gz dest={{ zabbix_home }} - name: scp zabbix_aegntd 到 client   copy: src=/tmp/zabbix_agentd dest=/etc/init.d/ mode=777 - name: tar zxf zabbix.tar.gz 解压   shell: cd {{ zabbix_home }} && tar -zxf zabbix.tar.gz - name: Copy zabbix_agent.conf Config file   template: >         src=zabbix_agentd.conf.j2         dest=/usr/local/zabbix/etc/zabbix_agentd.conf         mode=0644 owner=root group=root - name: restart zabbix   service: name=zabbix_agentd state=restarted



vars的内容如下:

# cat main.yaml  zabbix_home: /usr/local



zabbix_agentd.conf.j2模板的文件内容如下:

#grep -v '^#' zabbix_agentd.conf.j2  | grep -v '^$' LogFile=/tmp/zabbix_agentd.log EnableRemoteCommands=1 Server=10.74.246.70 ListenPort=10050 ServerActive=10.74.246.70 Hostname={{ ansible_default_ipv4.address }} AllowRoot=1 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf UnsafeUserParameters=1 UserParameter=tomcat_port,/usr/local/zabbix/share/zabbix/alertscripts/tomcat_port.sh $1 UserParameter=tcp[*],/usr/local/zabbix/share/zabbix/alertscripts/tcp_connection.sh $1 UserParameter=nginx_port,/usr/local/zabbix/share/zabbix/alertscripts/nginx_port.sh $1 UserParameter=erro_log[*],/usr/local/zabbix/share/zabbix/alertscripts/error_log.sh $1


然后就可以定义hosts文件,批量操作安装zabbix_agent。


对于某些特定的主机,需要批量推送特定的zabbix_agentd.conf文件,可以修改完zabbix_agentd.conf.j2模板,然后使用ansible推送:

#ansible-playbook zabbix.yml --start-at-task='Copy zabbix_agent.conf Config file'


当然也可以指定推送那些机器,后面-l指定就行

#ansible-playbook zabbix.yml --start-at-task='Copy zabbix_agent.conf Config file' -l 192.168.121.128

原文链接:https://blog.51cto.com/215687833/1897506
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章