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(定義主機的元數據信息,在自動註冊的時候有用)
而後就是開啓服務啦。