博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量部署zabbix agent
阅读量:2445 次
发布时间:2019-05-10

本文共 1782 字,大约阅读时间需要 5 分钟。

zabbix作为系统级的监控还是非常给力,它总是在后台孜孜不倦的进行反反复复的检查和校验,然后通过邮件,短信,图形等方式来把系统的预警表达出来。
zabbix agent是在客户端上需要的一个组件,在这种被动模式下,zabbix server的压力就会大大减轻,因为是在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也能够自动识别。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-1796830/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-1796830/

你可能感兴趣的文章
在“提示”框中:删除Windows 8安全启动,从Media Center启动应用程序,并加快Windows安装速度...
查看>>
修改时序约束改变slack_如何更改Slack的默认表情符号肤色
查看>>
如何在iPhone,iPad和Mac上禁用Safari经常访问的起始页
查看>>
vscode变假期不提示_12个假期的家庭技术支持提示
查看>>
将电视频道徽标添加到Windows 7 Media Center
查看>>
改善Google Chrome中的YouTube视频观看
查看>>
配置您的计算机以备份到Windows Home Server
查看>>
解决Windows Home Server Toolkit的连接问题
查看>>
如何在Windows 10中打印照片
查看>>
如何在离开时自动检测巢穴
查看>>
ubuntu显示管理器_如何在Ubuntu的文件管理器中显示导航栏而不显示面包屑
查看>>
关于极客
查看>>
自定义日历_如何在网络上自定义Google日历的通知
查看>>
hue功能_Philips Hue的“新实验室”部分中的最佳实验功能
查看>>
微软office在线文档_如何使用Microsoft Office密码保护文档和PDF
查看>>
如何在SHIELD Android TV上调整过扫描
查看>>
outlook 禁用不安全_如何在Outlook中禁用删除确认对话框
查看>>
找到丢失的磁贴跟踪器后如何获取通知
查看>>
PlayStation 4 Pro上的“升压模式”是什么?
查看>>
android 更改软键盘_如何在Android上更改Google键盘的主题
查看>>