zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案。
成都創(chuàng)新互聯(lián)擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10年,專業(yè)且經(jīng)驗(yàn)豐富。10年網(wǎng)站優(yōu)化營(yíng)銷(xiāo)經(jīng)驗(yàn),我們已為1000+中小企業(yè)提供了網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站解決方案,按需定制,設(shè)計(jì)滿意,售后服務(wù)無(wú)憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng);并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問(wèn)題。
zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
zabbix server可以通過(guò)SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺(tái)上。
Zabbix優(yōu)點(diǎn):
1 支持分布式監(jiān)控
2 自帶繪圖功能,獲取到數(shù)值型的數(shù)據(jù),可自動(dòng)生成圖
3 Web配置方式,操作易用性較好。添加監(jiān)控項(xiàng)或機(jī)器時(shí)速度很快。
4 有報(bào)警時(shí)無(wú)論在任何界面會(huì)彈出小窗口報(bào)警,同時(shí)有報(bào)警的聲音提示,同時(shí)可對(duì)監(jiān)控項(xiàng)的快速查看。
5 自帶內(nèi)置函數(shù)較為豐富,同時(shí)也支持腳本及nagios等腳本的調(diào)用。
6 出現(xiàn)問(wèn)題時(shí),可自動(dòng)遠(yuǎn)程執(zhí)行命令(需對(duì)agent設(shè)置執(zhí)行權(quán)限)
Zabbix 缺點(diǎn):
1 批量修改不方便,可用數(shù)據(jù)庫(kù)輔助
2 深入后,中文資料相當(dāng)少,大部分問(wèn)題需看官方的文檔及論壇。
3 缺少數(shù)據(jù)匯總功能,如無(wú)法查看一組服務(wù)器平均值,可考慮對(duì)其進(jìn)行二次開(kāi)發(fā)。
4 zabbix較cacti來(lái)說(shuō),畫(huà)圖功能較差些、流量獲取較為復(fù)雜
一,Linux下Zabbix客戶端編譯安裝
#abbix Agent編譯安裝
yum install -y gcc gcc-c++ make pcre-devel
useradd -s /sbin/nologin zabbix
cd /usr/local/src/
wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz'
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
chown zabbix:zabbix -R /usr/local/zabbix/
#環(huán)境變量配置
vim /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
#zabbix agent配置,Server和ServerActive上配置的是zabbix server的ivrp
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Hostname=xxx #填寫(xiě)主機(jī)名或者zabbix里的主機(jī)名
Server=xxx ##zabbix server 地址
ServerActive=xxx ##zabbix server地址 相當(dāng)于訪問(wèn)白名單
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
zabbix agent啟動(dòng)
/usr/local/zabbix/sbin/zabbix_agentd
二:zabbix_agent 監(jiān)控cpu 磁盤(pán) 流量等
zabbix_get
zabbix提供一個(gè)zabbix_get工具,可以跟zabbix agent通訊獲取監(jiān)控信息
使用方式:zabbix_get -s xxx -k xxx
zabbix agent查看所有可監(jiān)控項(xiàng)目:zabbix_agentd -p
通過(guò)模板添加
監(jiān)控cpu負(fù)載
key: system.cpu.load[all,avg1] Float型
key: system.cpu.load[all,avg5] Float型
key: system.cpu.load[all,avg15] Float型
監(jiān)控cpu使用和空閑
system.cpu.util[,iowait,] Float型
system.cpu.util[,system,] Float型
system.cpu.util[,user,] Float型
system.cpu.util[,idle,] Float型 空閑
監(jiān)控剩余內(nèi)存(buffers\cached實(shí)際上也是剩余的)
vm.memory.size[available] 整數(shù)
監(jiān)控磁盤(pán)
名稱:Disk pfree on $1
名稱:inode pfree on $1
vfs.fs.size[/,pfree] Float型
vfs.fs.inode[/,pfree] Float型
監(jiān)控流量
net.if.in[eth0] 整型(每秒速率) 默認(rèn)返回字節(jié)數(shù),需要8
net.if.out[eth0] 整型(每秒速率) 默認(rèn)返回字節(jié)數(shù),需要8
監(jiān)控流量需要預(yù)處理
三,zabbix主被動(dòng)模式
主動(dòng)active:agent請(qǐng)求server獲取主動(dòng)的監(jiān)控項(xiàng)列表,并主動(dòng)將監(jiān)控項(xiàng)內(nèi)需要檢測(cè)的數(shù)據(jù)提交給server/proxy
server 壓力小一點(diǎn),但是有部分類型不支持
server檢索數(shù)據(jù)有超時(shí)限制,最大超時(shí)時(shí)間30秒,如果檢索數(shù)據(jù)經(jīng)常超過(guò)30秒,那么,不建議你使用主動(dòng)模式的agent,可以使用如下類型agent active
被動(dòng):server向agent請(qǐng)求獲取監(jiān)控項(xiàng)的數(shù)據(jù),agent返回?cái)?shù)據(jù)
被動(dòng)模式:supported items通信過(guò)程
Server打開(kāi)一個(gè)TCP連接
Server發(fā)送請(qǐng)求agent.ping
Agent接收到請(qǐng)求并且響應(yīng)
1
Server處理接收到的數(shù)據(jù)1
關(guān)閉TCP連接
not supported items通信過(guò)程 (不支持類型)
Server打開(kāi)一個(gè)TCP連接
Server發(fā)送請(qǐng)求vfs.fs.size[/nono]
Agent接收請(qǐng)求并且返回響應(yīng)數(shù)據(jù)
ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory Server接收并處理數(shù)據(jù), 將item的狀態(tài)改為“ not supported ”
主動(dòng)模式
Agent打開(kāi)TCP連接(主動(dòng)檢測(cè)變成Agent打開(kāi))
Agent請(qǐng)求items檢測(cè)列表
Server返回items列表
Agent 處理響應(yīng)
關(guān)閉TCP連接
Agent開(kāi)始收集數(shù)據(jù)
使用模板監(jiān)控linux
在模板中 使用template linux os 模板 可以監(jiān)控 linux 相關(guān)系統(tǒng)信息(注意清除相關(guān)無(wú)用監(jiān)控項(xiàng),因?yàn)殡S著監(jiān)控的增多數(shù)據(jù)庫(kù)寫(xiě)入壓力很大)
在template linux os 中 自動(dòng)發(fā)現(xiàn) 需要主機(jī)名與計(jì)算機(jī)名一直才能check now 馬上自動(dòng)發(fā)現(xiàn)
不是的話 可能會(huì)報(bào) Cannot send request: host is not monitored.錯(cuò)誤
四:zabbix自定義key監(jiān)控linux 服務(wù)器
自定義key說(shuō)明
所有語(yǔ)言,只要能運(yùn)行返回結(jié)果即可
運(yùn)維常用的語(yǔ)言:Shell、Python
其中自定義key 又分有參數(shù)腳本和無(wú)參數(shù)腳本
無(wú)參數(shù)腳本
例如:
free -m | grep 'Mem:' |awk '{print $NF}'
#在agent 機(jī)器中
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mem.conf
UserParameter=mem.available,sh /tmp/memavailable.sh ## UserParameter名就是key名
chmod a+x memavailable.sh
##重啟agent,測(cè)試
zabbix_get -s 192.168.0.102 -k mem.available
##如果顯示not soupout 檢查腳本 防火墻 端口等
添加自定義key,跟模板添加item類似 ,注意添加觸發(fā)器tigers是根據(jù)腳本返回的值添加
key名 就是配置文件里的名字
有參數(shù)腳本
相較于無(wú)參數(shù)腳本 有參數(shù)腳本在編寫(xiě)item 可以跟參數(shù)
#shell腳本/tmp/mem.sh
case "$1" in
"available") free -m | grep 'Mem:' |awk '{print $NF}';;
"total") free -m | grep 'Mem:' |awk '{print $2}';;
"used") free -m | grep 'Mem:' |awk '{print $3}';;
*) echo "not supported";;
esac
UserParameter=mem.check[*],sh /tmp/mem.sh $1
##測(cè)試
zabbix_get -s 192.168.0.101 -k mem.check[availabl]