阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

批量部署Zabbix Agent

172次阅读
没有评论

共计 2249 个字符,预计需要花费 6 分钟才能阅读完成。

zabbix 作为系统级的监控还是非常给力,它总是在后台孜孜不倦的进行反反复复的检查和校验,然后通过邮件,短信,图形等方式来把系统的预警表达出来。

zabbix agent 是在客户端上需要的一个组件,在这种被动模式下,zabbix server 的压力就会大大减轻,因为是在 agent 端开始推送信息给服务端,而不是服务端主动去获取。

简单来上个图,其实这个架构和原理想必大家非常熟悉了。

批量部署 Zabbix Agent

客户单的 server 和 zabbix server 之间通过网络的特定端口来进行交互。所以在两个 server 间需要考虑防火墙。

现在如果要在每个 server 安装这个 agent, 至少我们需要把安装介质拷贝过去,创建相应的目录,创建对应的用户,然后配置网络,最后运行 agent 的安装文件做 make install 等等。

如果每个客户端都这么做一遍,其实步骤都是类似,花费时间不少,还是非常耗费精力的。我就自己试着手工方式安装,结果安装了几台之后,备受煎熬。中间某些步骤有操作失误,又得分析分析,最后发现是个很简单的小错误。

至少对于我来说,我认为最简单的安装方式就是只提供一个 ip 地址,然后剩下的事情都能自动完成。

比如假设我们有个脚本 zabbix_agent.sh 只需要输入需要安装 agent 的机器 ip 地址,就会开始自动安装,这样就省时省力了。

我们可以把问题继续细化,把它细化称为可以实现的几个部分。比如我在一台中间代理服务器上,需要通过这台服务器连接到各个 server 安装 agent,那么首先要做的就是在目标机器上创建对应的目录,把安装所需要的文件等都给拷贝过去,可以简称发布 agent

然后文件目录等都具备之后,我们就需要配置网络防火墙,创建 zabbix agent 的操作系统用户,调用安装文件,这个部分简称为部署 agent

所以我把脚本分成两个部分,运行的时候只需要提供 ip 地址即可。

./publish_zabbix_agd.sh $1
./zabbix_agent_dep.sh $1

明确了目标任务之后,剩下的就是具体的实现了。

对于发布程序来说,为了达到一键式发布,部署的效果,使用 expect 的方式来动态运行脚本。

目前我采用的方式如下:

发布 agent 的脚本内容如下,假设 agent 的目录为 new_agent,就线创建文件夹,然后把安装文件拷贝到指定的目录下 /home/zabbix

#!/usr/bin/expect
 set ip_addr [lindex $argv 0]
 set timeout 2
 spawn ssh $ip_addr
 expect “*#”
 send “mkdir -p /home/zabbix \r”
 expect eof
 spawn scp -r  /home/jeanron/new_agent $ip_addr:/home/zabbix
 send “exit \r”
 expect eof

然后部署 agent 的脚本如下, 我们把网络配置,调用安装文件的部分都浓缩在 install-zabbix-agentd.sh 里面。直接一次性调用即可。

#!/usr/bin/expect
 set ip_addr [lindex $argv 0]
 set timeout 120
 spawn ssh $ip_addr
 expect “*#”
 send “cd /home/zabbix/new_agent/zabbix_agent \r”
 send “chmod +x install-zabbix-agentd.sh \r”
 send “./install-zabbix-agentd.sh \r”
 send “exit \r”
 send “exit \r”
 expect eof

按照这个思路,基本就能够实现一键式安装 zabbix agent 了。在吃饭前,开始跑脚本,等吃完饭回来,几十台的 agent 就自动安装完成了,在 zabbix 也能够自动识别。

一些 Zabbix 相关教程集合

Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装  http://www.linuxidc.com/Linux/2015-05/117657.htm

安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

ZABBIX 的详细介绍 :请点这里
ZABBIX 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-09/123008.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2249字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中