(四)Zabbix4.0 linux 基本監控

一,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/

#環境變量配置
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   #填寫主機名或者zabbix裏的主機名
Server=xxx    ##zabbix server 地址
ServerActive=xxx  ##zabbix server地址 相當於訪問白名單
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

zabbix agent啓動
    /usr/local/zabbix/sbin/zabbix_agentd

二:zabbix_agent 監控cpu 磁盤 流量等
zabbix_get
zabbix提供一個zabbix_get工具,可以跟zabbix agent通訊獲取監控信息
使用方式:zabbix_get -s xxx -k xxx
zabbix agent查看所有可監控項目:zabbix_agentd -p

通過模板添加
監控cpu負載
key: system.cpu.load[all,avg1] Float型
key: system.cpu.load[all,avg5] Float型
key: system.cpu.load[all,avg15] Float型

監控cpu使用和空閒
system.cpu.util[,iowait,] Float型
system.cpu.util[,system,] Float型
system.cpu.util[,user,] Float型
system.cpu.util[,idle,] Float型 空閒

監控剩餘內存(buffers\cached實際上也是剩餘的)
vm.memory.size[available] 整數

監控磁盤
名稱:Disk pfree on $1
名稱:inode pfree on $1
vfs.fs.size[/,pfree] Float型
vfs.fs.inode[/,pfree] Float型

監控流量
net.if.in[eth0] 整型(每秒速率) 默認返回字節數,需要8
net.if.out[eth0] 整型(每秒速率) 默認返回字節數,需要
8
監控流量需要預處理
(四)Zabbix4.0 linux 基本監控
三,zabbix主被動模式
主動active:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的數據提交給server/proxy
server 壓力小一點,但是有部分類型不支持
server檢索數據有超時限制,最大超時時間30秒,如果檢索數據經常超過30秒,那麼,不建議你使用主動模式的agent,可以使用如下類型agent active

被動:server向agent請求獲取監控項的數據,agent返回數據
被動模式:

supported items通信過程

Server打開一個TCP連接

Server發送請求agent.ping\n

Agent接收到請求並且響應<HEADER><DATALEN>1
Server處理接收到的數據1
關閉TCP連接

not supported items通信過程 (不支持類型)

Server打開一個TCP連接

Server發送請求vfs.fs.size[/nono]\n

Agent接收請求並且返回響應數據 <HEADER><DATALEN>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory

Server接收並處理數據, 將item的狀態改爲“ not supported ”

主動模式

Agent打開TCP連接(主動檢測變成Agent打開)

Agent請求items檢測列表

Server返回items列表

Agent 處理響應

關閉TCP連接

Agent開始收集數據

使用模板監控linux

在模板中 使用template linux os 模板 可以監控 linux 相關係統信息(注意清除相關無用監控項,因爲隨着監控的增多數據庫寫入壓力很大)
在template linux os 中 自動發現 需要主機名與計算機名一直才能check now 馬上自動發現
不是的話 可能會報 Cannot send request: host is not monitored.錯誤

(四)Zabbix4.0 linux 基本監控
四:zabbix自定義key監控linux 服務器

自定義key說明
所有語言,只要能運行返回結果即可
運維常用的語言:Shell、Python
其中自定義key 又分有參數腳本和無參數腳本

無參數腳本
例如:

free  -m | grep 'Mem:' |awk '{print $NF}'
#在agent 機器中
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,測試
zabbix_get -s 192.168.0.102 -k mem.available
##如果顯示not soupout 檢查腳本 防火牆 端口等

添加自定義key,跟模板添加item類似 ,注意添加觸發器tigers是根據腳本返回的值添加
key名 就是配置文件裏的名字
(四)Zabbix4.0 linux 基本監控

有參數腳本
相較於無參數腳本 有參數腳本在編寫item 可以跟參數

#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
##測試
zabbix_get -s 192.168.0.101 -k mem.check[availabl]

(四)Zabbix4.0 linux 基本監控

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章