1.原因:shell
我本身的ESXi服务器上上最近新加了好多虚拟主机,但我如今还不会安装,使用,那种批量运维工具(saltstack,ansible,puppet等)。虽然还有一种方法:就是经过shell工具一次打开若干个窗口,而后在编辑框中输一行行的输入命令,点击所有窗口执行。但是个人老笔记本已经撑不住这么开这么多窗口了,。bash
2.而后
服务器
开始写zabbix_agent安装脚本,经过手工上传到各个虚拟机中执行,这里推荐你们在初始化Linux的时候,别忘记安装lrzsz,rz和sz能够拖动上传文件到Linux中。很方便。运维
还有一种思路:初始化Linux时,在管理机上配置一个共享挂载文件目录到那些被管理机上,而后经过这种方式进行分发脚本。但以为路子有点歪。还不如去整个ansible来作。这个留做后话吧。ide
printf "关闭并屏蔽服务firewalld." systemctl stop firewalld > /dev/null 2>&1 systemctl mask firewalld > /dev/null 2>&1 printf "\033[32;1m%20s\033[0m\n" "[ OK ]" printf "安装zabbix3.4.2源......." yum -y install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm > /dev/null 2>&1 printf "\033[32;1m%20s\033[0m\n" "[ OK ]" printf "安装zabbix-agent........" yum -y install zabbix-agent > /dev/null 2>&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=Zabbix server/# Hostname=Zabbix server/g" /etc/zabbix/zabbix_agentd.conf printf "\033[32;1m%20s\033[0m\n" "[ OK ]" printf "设置zabbix-agent自启动.." systemctl enable zabbix-agent > /dev/null 2>&1 printf "\033[32;1m%20s\033[0m\n" "[ OK ]" printf "启动zabbix-agent服务...." systemctl restart zabbix-agent > /dev/null 2>&1 printf "\033[32;1m%20s\033[0m\n" "[ OK ]"
讲解下:工具
禁止防火墙自启动原本能够用systemctl disable firewalld 这个命令在CentOS 7上没毛病,spa
可是在同源的FedoraServer26上老是没法成功,因此使用更加粗暴的systemctl mask firewalld的 方式,直接将firewalld的目录指偏,让systemctl找不到firewalld。rest
zabbix使用了最新的版本server
更改配置文件这里,我对服务器地址进行了从新指定。blog
即Server=192.168.1.120(被动,适用于自动发现动做)
ServerActive=192.168.1.120 (主动,适用于本身向服务器发起注册操做)
HostnameItem=system.hostname(定义主机的名称,在自动注册的时候有用)
HostMetadataItem=system.uname(定义主机的元数据信息,在自动注册的时候有用)
而后就是开启服务啦。