使用shell脚本一键安装zabbix并配置客户端的自动发现选项

前端之家收集整理的这篇文章主要介绍了使用shell脚本一键安装zabbix并配置客户端的自动发现选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.缘由:

我自己的ESXi服务器上上最近新加了好多虚拟主机,但我现在还不会安装,使用,那种批量运维工具(saltstack,ansible,puppet等)。虽然还有一种方法:就是通过shell工具一次打开若干个窗口,然后在编辑框中输一行行的输入命令,点击全部窗口执行。可是我的老笔记本已经撑不住这么开这么多窗口了,。

2.然后

开始写zabbix_agent安装脚本,通过手工上传到各个虚拟机中执行,这里推荐大家在初始化Linux的时候,别忘记安装lrzsz,rz和sz可以拖动上传文件到Linux中。很方便。

还有一种思路:初始化Linux时,在管理机上配置一个共享挂载文件目录到那些被管理机上,然后通过这种方式进行分发脚本。但觉得路子有点歪。还不如去整个ansible来做。这个留作后话吧。

printf"关闭屏蔽服务firewalld."
systemctlstopfirewalld>/dev/null2>&1
systemctlmaskfirewalld>/dev/null2>&1
printf"\033[32;1m%20s\033[0m\n""[OK]"
printf"安装zabbix3.4.2源......."
yum-yinstallhttp://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm>/dev/null2>&1
printf"\033[32;1m%20s\033[0m\n""[OK]"
printf"安装zabbix-agent........"
yum-yinstallzabbix-agent>/dev/null2>&1
printf"\033[32;1m%20s\033[0m\n""[OK]"
printf"更改zabbix-agent配置文件"
sed-i"s/Server=127.0.0.1/Server=192.168.1.120/g"/etc/zabbix/zabbix_agentd.conf
sed-i"s/ServerActive=127.0.0.1/ServerActive=192.168.1.120/g"/etc/zabbix/zabbix_agentd.conf
sed-i"s/#HostMetadataItem=/HostMetadataItem=system.uname/g"/etc/zabbix/zabbix_agentd.conf
sed-i"s/#HostnameItem=system.hostname/HostnameItem=system.hostname/g"/etc/zabbix/zabbix_agentd.conf
sed-i"s/Hostname=Zabbixserver/#Hostname=Zabbixserver/g"/etc/zabbix/zabbix_agentd.conf
printf"\033[32;1m%20s\033[0m\n""[OK]"
printf"设置zabbix-agent自启动.."
systemctlenablezabbix-agent>/dev/null2>&1
printf"\033[32;1m%20s\033[0m\n""[OK]"
printf"启动zabbix-agent服务...."
systemctlrestartzabbix-agent>/dev/null2>&1
printf"\033[32;1m%20s\033[0m\n""[OK]"

wKiom1m7aKuQGKh1AABKjb6MEK8325.jpg-wh_50

讲解下:

  • 禁止防火墙自启动本来可以用systemctl disable firewalld 这个命令在CentOS 7上没毛病,

    但是在同源的FedoraServer26上总是无法成功,所以使用更加粗暴的systemctl mask firewalld的 方式,直接将firewalld的目录指偏,让systemctl找不到firewalld。

  • zabbix使用了最新的版本

  • 更改配置文件这里,我对服务器地址进行了重新指定。

即Server=192.168.1.120(被动,适用于自动发现动作)

ServerActive=192.168.1.120 (主动,适用于自己向服务器发起注册操作)

HostnameItem=system.hostname(定义主机的名称,在自动注册的时候有用)

HostMetadataItem=system.uname(定义主机的元数据信息,在自动注册的时候有用)

  • 然后就是开启服务啦。

原文链接:https://www.f2er.com/bash/390764.html

猜你在找的Bash相关文章