1.安裝Zabbix Agent監控本機
安裝agent軟件
與server端不同,Agent只需安裝zabbix-agent包
cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
yum -y install zabbix-agent zabbix-get
2.配置Agent并啟動
vim /etc/zabbix/zabbix_agentd.conf
Server=39.108.140.0 # 被動模式 zabbix-server-ip
ServerActive=39.108.140.0 # 主動模式 zabbix-server-ip
Hostname=You-Men # Agent端主機名,最終顯示在監控頁面上的名字
UnsafeUserParameters=1 # 是否限制用戶自定義keys使用特殊字符
systemctl restart zabbix-agent
netstat -antp|grep agent
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3898/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 3898/zabbix_agentd
3.配置snmp(可以不做)
zabbix除了可以使用agent獲取數據之外,還可以通過snmp獲取數據,為了能夠讓zabbix監控更多的信息,將本機的snmp功能啟動起來.
yum -y install net-snmp net-snmp-utils
vim /etc/snmp/snmpd.conf
com2sec notConfigUser 39.108.140.0 public
access notConfigGroup "" any noauth exact all none none
view all included .1 80
systemctl restart snmpd && systemctl enabel snmpd
ss -anup |grep snmp # 161端口,udp協議
# 測試snmp協議工作是否正常
# snmpwalk -v 1 -c public 39.108.140.0 .1.3.6
# 使用v1版本,共同體為public,來對192.168.0.1的.1.3.6分支進行walk。
snmpwalk -v 2c -c public 39.108.140.0
# 使用v2c版本,共同體為public,對39.108.140.0進行walk。
# -v 顯示當前SNMPWALK命令行版本.
# -
# 獲取cisco設備39.108.140.0的接口類型
接下來我們到web界面上配置如何監控本地主機,我們看到接口上是127.0.0.1,但是我們配置文件寫的是39.108.140.0,我們讓這兩個IP一致.點擊3進去然后修改.


更新完后,跳到下面頁面,稍等一會,重新載入一下頁面就是可用性為綠色了

至此,監控本地主機就完成了,如果想看下監控本地主機的網卡流量就做下面圖2步驟.鼠標依次根據數字挨個點,如果想要監控項是中文的話,可以做Zabbix故障例一,但是4.4版本較以前版本有所改善,監控項不是亂碼,而是英文.
如果想要將這種亂碼換成正常中文
如果是windows在C盤搜索simkai.tff中文楷體,拷貝/上傳到服務器,然后cp到zabbix的字體目錄
3.*版本:
cp /root/simkai.ttf /usr/share/zabbix/fonts/
# 不同的安裝方式,路徑會有所不同,所以可以直接find / -type d -type fonts找到類似的文件夾,那就是了
# 注意字體權限問題
vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'simkai');
define('ZBX_FONT_NAME', 'simkai');

4.Zabbix監控遠程主機
如果遠程主機安裝不上zabbix-agent,可以通過裝的上的zabbix-agent的機器把包傳過去
yum -y instlal yum-utils
# 下載到指定目錄
yum install zabbix-agent -y --downloadonly --downloaddir=/root
1.安裝zabbix agent
# 方法一(國外源zabbix好像下載不下來包了,用上面的源):
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all
yum -y install zabbix-agent
# 方法二:(使用別的機器傳過來的zabbix-agent包直接rpm安裝即可)
rpm -ivh zabbix-agent-4.4.1-1.el7.x86_64.rpm
# 修改zabbix-agent配置并啟動服務
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.244.144
Server=192.168.244.144 //監控主機IP地址
Hostname=agent1.zabbix.com //被監控主機到監控主機的名字
UnsafeUserParameters=1
systemctl start zabbix-agent
ss -antp |grep 10050
# 接下來我們到web端進行操作
# 為了服務方便管理和易于查看。
# 監控系統中往往根據被監控的主機角色或其他屬性將同類主機劃分到同一個主機組中.





如果等上一段時間,可用性哪里沒有紅色警告,就說明這臺主機被添加進來了,但是因為沒有掛載模板和創建監控項,所以我們接下來嘗試著掛載一下模板,然后再去創建監控項.
我們到agent端裝一個nginx,然后去zabbix的web端找到此模板并掛載.
yum -y install nginx
systemctl start nginx



5.測試監控主機
接下來我們用瀏覽器或者elinks訪問一下nginx,產生一些數據,然后去zabbix上查看變化
elinks --dump 116.196.83.113
我們以后自定義Key監控項時,先看看最新數據有沒有數據過來,如果數據都不會過來,就別提圖形觸發器報警什么了.
至此,添加本地主機,遠程主機,創建主機組,掛載模板就已經完了


6.Zabbix監控項
監控項(Items)簡介
監控項是Zabbix中獲得數據的基礎,沒有監控項,就沒有數據——因為一個主機只有監控項定義了單一的指標或者需要獲得的數據,監控項適用于采集數據的,多個同類的監控項可以定義成一個應用集,如,mysql增刪改查以及每秒鐘的讀表,寫表速度可以寫成一個Mysql應用集.
對于監控項的示例,需要輸入以下必要的信息
名稱
輸入CPU Load作為值,在列表中和其他地方,都會顯示這個值作為監控項名稱.
值
手動輸入system.cpu.load作為值,這是監控項的一個技術上的名稱,用于識別獲取信息的類型,這個特定值需要是Zabbix Agent預定義值的一種.
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/zabbix_agent # 此網址就是zabbix官網的預定義值.
信息類型
在此處選擇Numeric(float),這個屬性定義了獲得數據的格式
你也需要減少監控項歷史保留的天數,7或者14天,對于數據庫而言,最佳實踐是避免數據庫保留過多的歷史數據.
我們選擇了數據類型后,暫時保持其他選項的默認值.
1> 磁盤容量Units一般為B
2> 網卡流量單位為bps
3> Mysql每秒訪問量qps,例如MySQL每秒select,insert Mysql serlect
點擊添加,新的監控項就出現在監控項列表中了
7.查看數據
當一個監控項定義完成后,你可能好奇他具體獲取了什么值,前往監控首頁,點擊最新數據,選擇相應的主機.看數據能不能過來以及是不是自己想要的類型.
圖表
當監控項運行了一段時間后,可以查看可視化圖表,如果沒有可以自己創建一個,下面會有詳細介紹
8.常用監控項
1.服務器網絡接口進出流量和總流量
net.if.in[if,<mode>]
net.if.out[if,<mode>]
net.if.total[if,<mode>]
2.服務器啟動分區剩余空間
vfs.fs.size[fs,<mode>]
vfs.fs.size[/boot,free]
3.監控虛擬機內存
vm.memory.size[<mode>]
vm.memory.size[total
vm.memory.size[free]
vm.memory.size[wired]
4.服務器服務狀態
net.tcp.listen[port]
net.tcp.port[<ip>,port]
net.tcp.service[service,<ip>,<port>]
net.tcp.service.perf[service,<ip>,<port>]
5.服務器進程數量
proc.num[<name>,<user>,<state>,<cmdine>]
zabbix_get -s 39.108.140.0 -k proc.num
121
zabbix_get -s 39.108.140.0 -k proc.num[,,run]
3
zabbix_get -s 39.108.140.0 -k proc.num[,,sleep]
118
6.服務器CPU狀態(浮點型,無單位)
system.cpu.intr
system.cpu.load[<cpu>,<mode>]
system.cpu.num
system.cpu.switches
system.cpu.util[<cpu>,<type>,<mode>]
zabbix_get -s 39.108.140.0 -k system.cpu.load[all,avg1]
0.000000
zabbix_get -s 39.108.140.0 -k system.cpu.load[,avg5]
0.010000
7.磁盤IO情況
vfs.dev.read[device,<type>,<mode>]
vfs.dev.write[device,<type>,<mode>]
zabbix_get -s 39.108.140.0 -k vfs.dev.read[/dev/vda1]
8.監控文件修改
vfs.file.chsum[file] # 如監控/etc/passwd ,/etc/group 文件從而知道是否有新用戶創建
vfs.file.md5sum[file]
vfs.file.size[file] # 通常用來監控日志
vfs.fs.size[fs,<mode>]
9.磁盤總和.
10.監控網卡流量
我們先創建一個應用集,這樣的話之后創建的網卡上傳,下載,總流量不會顯的很亂,都在一個Network應用集里面,而且能導出成xml文件,放到其他的zabbxi主機上能直接用.





我們此刻做的創建監控項是利用zabbix安裝好自帶的監控項,跟自定義Key差不多,都是寫一個監控腳本然后傳參,每一個鍵值相當于一個監控腳本


接下來我們檢測---> 主機群組里面去查看下最新數據,我們可以從下圖看到是有數據的

下行寬帶和上行寬帶.
下載就是in,下行寬帶,你發出去的就是out,作為一個服務器來說上行寬帶肯定要高,在家里就是下行寬帶高,對服務器來說他需要接收很少的數據包,回復很多的數據包,而在家里我們是發出去一個很小的數據包,返回來整個網頁.
接下來我們再去創建一個網卡輸出流量,然后將他們做成一個圖標,以圖形化展示出來




接下來我們再去監測里面去查看最新數據,可以養成這個習慣,因為最新數據過來了才是說明當中數據流向沒有問題,如果數據都沒有過來你去創建圖形,圖表說沒有數據,你覺得得等一會,浪費時間影響效率

可以看到,兩個監控項都是有數據的,接下來我們去創建圖形




接下來我們去查看監測 ---> 圖形,選擇相應群組,相應的主機及創建的圖形

這臺主機可以裝一個nginx,然后上傳一張大一點圖片到網站根目錄,然后訪問,再查看網絡波動圖.
或者我們直接上傳一個大點的rpm、tar包到其他主機.這樣看著明顯

11.監控CPU
跟剛才一樣,創建一個CPU應用集,方便管理歸納



接下來我們創建應用集的監控項,cpuintr,cpu中斷數



接下來我們創建一個cpu每隔一分鐘的負載監控項
通過下圖,我們可以看到,每個監控項都是有數據過來的,接下來我們去創建圖形





我們可以看到,數據是可以實時轉換成圖標的,接下來我們去做一個聚合圖形
12.創建聚合圖形







至此,我們第一個構造函數完成,另外一個構造函數同理,此處就不寫了,直接看結果圖.

創建系統定義好的監控項,跟上面兩個都差不多,多做做自然就會了,如果不習慣使用官方定義好的key,我們可以根據公司環境自己寫腳本自定義key,此章完結.

總結
到此這篇關于Zabbix配置監控項及聚合圖形的實例代碼的文章就介紹到這了,更多相關Zabbix配置監控項及聚合圖形內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!