CentOS7一鍵安裝Zabbix Agent 6.0并實(shí)現(xiàn)自動(dòng)注冊
問題背景
手動(dòng)添加Zabbix客戶端非常耗時(shí)間,增加人力、時(shí)間成本。為了滿足監(jiān)控企業(yè)成千上萬臺服務(wù)器,zabbix提供了自動(dòng)發(fā)現(xiàn)與自動(dòng)注冊的功能,自動(dòng)批量發(fā)現(xiàn)局域網(wǎng)中的服務(wù)器,并自動(dòng)添加到zabbix監(jiān)控平臺。
自動(dòng)發(fā)現(xiàn)(被動(dòng)模式):由服務(wù)端主動(dòng)發(fā)起,Zabbix Server開啟發(fā)現(xiàn)進(jìn)程,定時(shí)掃描局域網(wǎng)中IP服務(wù)器、設(shè)備。實(shí)現(xiàn)自動(dòng)將發(fā)現(xiàn)主機(jī)、自動(dòng)將主機(jī)添加到主機(jī)組、自動(dòng)加載模板、自動(dòng)創(chuàng)建項(xiàng)目(item)、自動(dòng)創(chuàng)建圖像等功能。
缺點(diǎn):當(dāng) Agent服務(wù)器過多的時(shí)候采用自動(dòng)發(fā)現(xiàn),zabbix-server壓力會(huì)比較大,自動(dòng)添加主機(jī)進(jìn)度就會(huì)非常慢。
自動(dòng)注冊(主動(dòng)模式):Zabbix Server 等待 Zabbix Agent主動(dòng)上報(bào)。由客戶端主動(dòng)發(fā)起,客戶端必須安裝并啟動(dòng)Agentd,否則無法被自動(dòng)注冊添加至主機(jī)列表。對于使用SNMP的要采用自動(dòng)發(fā)現(xiàn)。
缺點(diǎn):agent有可能找不到Server。
PS:主動(dòng)還是被動(dòng)是基于agent而言,不管是主動(dòng)還是被動(dòng)模式都是在agent端進(jìn)行配置。
下面介紹Zabbix 6.0 Agent自動(dòng)注冊的實(shí)踐過程
1、Zabbix Server上Web配置自動(dòng)注冊
(1)配置-->動(dòng)作-->Autoregistration actions。
(2)定義自動(dòng)注冊主機(jī)的條件。
(3)定義注冊上來的主機(jī)所要關(guān)聯(lián)模板。
2、CentOS7主機(jī)端一鍵自動(dòng)化腳本安裝并配置Zabbix Agent
cd /opt
rz 上傳zabbix-agent-6.0.4-1.el7.x86_64.rpm
zabbix_install.sh
執(zhí)行安裝腳本
sh zabbix_install.sh
腳本部分內(nèi)容如下:
cat zabbix_install.sh
# Only RHEL7 system is supported
# Version: 2.0
#Set Monitor ADDRESS
SERVER_ADDRESS='192.168.31.47'
function GET_OS_Version() {
OS_Version=$(cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/')
}
function INIT_OS() {
# disabled SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
}
function GET_OS_STATUS() {
Processes=$(ps -ef|grep -v grep|grep zabbix_agent|wc -l)
if [[ $Processes != '0' ]];then echo $(hostname -I ) 'Agent process already exists in the system!!!';exit 1;fi
}
function Install_7() {
yum -y localinstall /opt/zabbix-agent-6.0.4-1.el7.x86_64.rpm &>/dev/null
if [[ $? != '0' ]];then echo $(hostname -I ) 'Install failed!!!';fi
systemctl start zabbix-agent
systemctl enable zabbix-agent
systemctl restart zabbix-agent
}
function Restart_AGENT7() {
systemctl restart zabbix-agent
}
function Configure() {
cat << EOF > /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=$SERVER_ADDRESS
ServerActive=$SERVER_ADDRESS
HostnameItem=system.hostname
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
EOF
}
function AGENT_RUN() {
STATUS=$(ss -ntl|grep 10050|head -1|awk '{print $1}'|wc -l)
if [[ $STATUS -eq 1 ]];then echo $(hostname -I ) 'Install OK!!!';else echo $(hostname -I ) 'Install failed!!!';fi
}
3、確認(rèn)Agent是否正常注冊上線
可以看到已經(jīng)正常上線。
Tips
如果出現(xiàn)如下報(bào)錯(cuò)時(shí),檢查firewalld防火墻是否開放10050端口。
firewall-cmd --permanent --zone=public --add-port=10050/tcp
firewall-cmd --reload