Ansible批量部署zabbix-agent
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
主流区块链技术特点及Fabric V0.6&V1.0版本特点
声明:文章内容来源于网络。 一、主流区块链技术特点 二、Hyperledger的fabric V0.6总体架构: 对应的0.6版本的运行时架构: 0.6版本的架构特点是: 结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点; 架构问题:由于peer节点承担了太多的功能,所以带来扩展性、可维护性、安全性、业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证; 三、Hyperledger的fabric V1.0 最新的1.0运行时架构: 1.0 架构要点: 分拆Peer的功能,将Blockchain的数据维护和共识服务进行分离,共识服务从Peer节点中完全分离出来,独立为Orderer节点提供共识服务; 基于新的架构,实现多通道(channel)的结构,实现了更为灵活的业务适应性(业务隔离、安全性等方面) 支持更强的配置功能和策略管理功能,进一步增强系统的灵活性和适应性; 1.0版本架构目标: 1、chaincode信任的灵活性:支持多个ordering服务节点,增强共识的容错能力和对抗ord...
- 下一篇
Nagios之NRPE监控Linux/UNIX主机
1. NRPE简介 NRPE是Nagios的一个功能扩展,它可在远程Linux/Unix主机上执行插件程序。通过在远程服务器上安装NRPE插件及Nagios插件程序来向Nagios监控平台提供该服务器的本地情况,如CPU负载,内存使用,磁盘使用等。这里将Nagios监控端称为Nagios服务器端,而将远程被监控的主机称为Nagios客户端。 注意:通过SSH是可以实现在远程的Linux/UNIX主机上执行nagios插件的,比如说check_by_ssh插件就可以实现这项功能。虽然SSH的方式相较于NRPE插件方式更为安全,但是在CPU负载上,无论是监控端还是被监控的远程主机,SSH方式也都更大一些,当面对被监控的主机涉及到成千上百台时,使用这种方式就会是个问题,这也是许多nagios管理员选择使用NRPE方式的主要原因。 1.1 NRPE的设计原理 NRPE插件包括2部分: check_nrpe插件,位于本地监控端; NRPE进程,运行于远程主机(Linux/UNIX),也就是被监控端。 当nagios需要监控远程主机(Linux/UNIX)的服务时,NRPE具体的工作...
相关文章
文章评论
共有0条评论来说两句吧...