分散式監控解決方案zabbix02-使用agent監控其他linux
一。 zabbix操作和配置
zabbix常用的操作為 系統使用者許可權管理 虛擬主機 監控項 觸發器 監控模板等
1》使用者和許可權
以下是許可權配置的幾個概念
主機組:被監控的主機的集合 同一類模板建立的主機 主機組配置參考官方文件
使用者組:某個使用者組對某些主機組的操作許可權 常用的操作許可權有(讀寫,讀,拒絕)使用者組配置參考官方文件(https://www.zabbix.com/documentation/3.4/zh/manual/config/users_and_usergroups/usergroup) 預設管理使用者組是Zabbix administrators
使用者:可以屬於多個使用者組 屬於不同使用者組 操作不同主機的許可權
2》虛擬主機
也就是被監控的目標機器 一般該機器需要安裝zabbit-agent
3》監控項
監控項是Zabbix中獲得資料的基礎。沒有監控項,就沒有資料——因為一個主機中只有監控項定義了單一的指標或者需要獲得的資料 比如監控cpu 記憶體磁碟等資料。
4》觸發器
監控項只是用於收集資料。如果需要自動評估收到的資料,我們則需要定義觸發器。觸發器包含了一個表示式,這個表示式定義了資料的可接受的閾值級別。
如果收到的資料超過了這個定義好的級別,觸發器將被“觸發”,或者進入“異常(Problem)”狀態——從而引起我們的注意,讓我們知道有問題發生。如果資料再次恢復到合理的範圍,觸發器將會到“正常(Ok)”狀態。
5》問題通知
當監控項收集了資料後,觸發器會根據異常狀態觸發報警。根據一些報警機制,它也會通知我們一些重要的事件,而不需要我們直接在Zabbix前端進行檢視。
這就是通知(Notifications)的功能。E-mail是最常用的異常通知傳送方式。我們將會學習如何配置e-mail通知。
二。 zabbix agent安裝
模擬監控linux環境
192.168.58.152 zabbix-server和zabbix-web
192.168.58.150 zabbix-agent 被監控的linux主機
58.152安裝參考http://blog.csdn.net/liaomin416100569/article/details/7866308618.152修改主機名為 : zabbix-server
58.150安裝過程:hostname zabbix-server
安裝 yum源
[[email protected] tomcat]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
安裝 zabbix-agent[[email protected] tomcat]# yum install -y zabbix-agent
檢視所有安裝檔案[[email protected] tomcat]# rpm -ql zabbix-agent.x86_64 0:3.4.4-2.el7
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-3.4.4
/usr/share/doc/zabbix-agent-3.4.4/AUTHORS
/usr/share/doc/zabbix-agent-3.4.4/COPYING
/usr/share/doc/zabbix-agent-3.4.4/ChangeLog
/usr/share/doc/zabbix-agent-3.4.4/NEWS
/usr/share/doc/zabbix-agent-3.4.4/README
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
根配置檔案位於/etc/zabbix/zabbix_agentd.conf 添加了一個服務 zabbix-agent.service 檢視日誌輪替檔案 /var/log/zabbix/zabbix_agentd.log 發現日誌路徑 /var/log/zabbix/zabbix_agentd.log
/etc/hosts配置檔案新增
192.168.58.152 zabbix-server
修改配置檔案 /etc/zabbix/zabbix_agentd.conf 以下幾項#zabbixserver的ip地址 可以是多個用,隔開
Server=192.168.58.152
#用於檢查伺服器是否存活的ip
ServerActive=192.168.58.152
#zabbixweb伺服器新增的虛擬主機名稱 zabbixagent需要通過ServerActive指定的主機 10050埠去檢測新增的虛擬主機名稱 是否被啟用
Hostname=mylinux
啟動 zabbix-agent[[email protected] tomcat]# service zabbix-agent start
Redirecting to /bin/systemctl start zabbix-agent.service
[[email protected] tomcat]# service zabbix-agent status
Redirecting to /bin/systemctl status zabbix-agent.service
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2017-11-27 03:11:54 PST; 3s ago
Process: 4844 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 4846 (zabbix_agentd)
CGroup: /system.slice/zabbix-agent.service
├─4846 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─4847 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─4848 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─4849 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─4850 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─4851 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Nov 27 03:11:54 node3 systemd[1]: Starting Zabbix Agent...
Nov 27 03:11:54 node3 systemd[1]: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.
Nov 27 03:11:54 node3 systemd[1]: Started Zabbix Agent.
預設開啟了伺服器連線的埠 10050[[email protected] tomcat]# netstat -nlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4846/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 4846/zabbix_agentd
三。 zabbix web新增虛擬主機及檢視監控圖形
zabbixserver必須新增虛擬主機 來實現和zabbixagent的對接 登入 zabbixweb端(http://192.168.58.152/zabbix/zabbix.php?action=dashboard.view)
點選導航欄 配置-主機
輸入名稱和ip地址(主機名我這裡寫的中文 是無法成功的 應該使用英文 可見名稱可以隨便寫 我這裡 主機名稱後面改成了mylinux
也就是這裡主機名稱和zabbix-agent配置 Hostname=的值必須一致 否則無法監控
)
點選模板 連結指示器 選擇 彈出視窗中 選擇 Template OS Linux 點選選擇 一定要連線 下面超連結的新增 否則沒有真正新增進入
點選最下面的新增 主機就新增完成
檢視監控
點選監控中-影象-選擇之前的主機 檢視cpu的負載或者記憶體等
可以在 150下載安裝 lookbusy來進行模擬cpu繁忙 下載地址(http://devin.com/lookbusy/download/lookbusy-1.4.tar.gz) 上傳到linux安裝
進入解壓目錄
./configure && make && make install
測試佔用70%的cpu[[email protected] lookbusy-1.4]# lookbusy -c 70
cpu_spin (6678): starting 1 spinner(s) for 70%-70% usage
lookbusy (6678): CPU spinner started, PID 6679
cpu_spin (6679): measuring CPU
cpu_spin (6679): est. 70% util at 12674959 cycles, 29973 usec sleep
檢視web圖形發現cpu的 1min監控的綠線 會突然升高到頂部在監控圖形中 存在亂碼 一般是字型的問題 檢視web的字型(rpm -qa | grep zabbix 檢視web軟體)
Last login: Thu Nov 30 10:31:40 2017 from 192.168.58.1
[[email protected] ~]# rpm -ql zabbix-web-3.4.4-2.el7.noarch | grep font
/usr/share/zabbix/fonts
該目錄存在一個字型檔案[[email protected] ~]# cd /usr/share/zabbix/fonts
[[email protected] fonts]# ll
total 0
lrwxrwxrwx 1 root root 33 Nov 29 11:13 graphfont.ttf -> /etc/alternatives/zabbix-web-font
window下的c:/windows/fonts目錄下 拷貝任意一個支援中文的字型 比如 我拷貝宋體拷貝到任意目錄 使用sc上傳到zabbix-server的/usr/share/zabbix/fonts
將上傳的 simsun.ttc 重新命名為graphfont.ttf
mv graphfont.ttf graphfont.ttf.old
cp simsun.ttc graphfont.ttf
重啟 httpd服務 service httpd restart
重新檢視web介面 發現圖形亂碼都解決四。 zabbix web監控圖形解釋
1》監控 cpu
cpu存在三種監控 cpu jumps,cpu load,cpu utilization
》》cpm jumps 主要有兩個子監控項
- context switches per second(sps) 每秒上下文切換數
單核cpu 執行緒是分時執行的 作業系統可以同時執行多個程序, 然而一顆CPU同時只能執行一項任務,作業系統利用時間片輪轉的方式,讓使用者感覺這些任務正在同時進行。 CPU給每個任務都服務一定的時間, 然後把當前任務的狀態儲存下來, 在載入下一任務的狀態後, 繼續服務下一任務。任務的狀態儲存及再載入, 這段過程就叫做上下文切換。時間片輪轉的方式使多個任務在同一顆CPU上執行變成了可能, 但同時也帶來了儲存現場和載入現場的直接消耗。
- interrupts per second(ips) 每s處理的中斷數
中斷允許讓裝置,如鍵盤,串列埠卡,並口等裝置表明它們需要CPU。
一旦CPU接收了中斷請求,CPU就會暫時停止執行正在執行的程式,並且呼叫一個稱為中斷處理器或中斷服務程式(interrupt service routine)的特定程 序。
》》cpu load
實際上 就是統計系統的負載值 (是由於CPU使用、記憶體使用、IO消耗三部分構成) 比如 linux上使用uptime檢視負載
[[email protected] ~]# uptime
03:53:48 up 1 day, 11:09, 2 users, load average: 1.07, 1.11, 0.64
最後三個引數是 最近1分鐘 5分鐘 15分鐘的平均負載 也可以通過top命令 頭部分的 load average: 1.76, 1.20, 0.63部分看到cpu load實際上就是統計這個數字
3》cpu utilization (cpu使用率)
一般就是統計當前cpu的利用佔用 其實就是根據top命令統計 其中top頭有以下幾個部分
%Cpu(s): 75.0 us, 2.5 sy, 0.0 ni, 22.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us表示 使用者空間佔用CPU百分比 檢視CPU使用率
sy 核心空間佔用CPU百分比
ni 使用者程序空間內改變過優先順序的程序佔用CPU百分比
id 空閒CPU百分比
wa 等待輸入輸出的CPU時間百分比
2》監控記憶體
zabbix監控的是 linux剩餘可用記憶體 linux上可以使用 free -m檢視以M為單位的記憶體資訊
[[email protected] ~]# free -m
total used free shared buff/cache available
Mem: 1824 1625 73 4 126 65
Swap: 2048 291 1757
mem表示實體記憶體 總共是1824M 使用了 1625M 剩餘73M
Swap表示交換記憶體(實體記憶體不夠 使用交換記憶體頂 實際就是用磁碟空間當記憶體用 效率低 ) 總共是2G 使用291剩餘1757
檢視可用記憶體
檢視交換記憶體佔用
3》監控磁碟
檢視磁碟的可用空間 linux命令為 -m表示單位是MB
[[email protected] ~]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda3 79532 6345 73187 8% /
devtmpfs 904 0 904 0% /dev
tmpfs 913 0 913 0% /dev/shm
tmpfs 913 9 904 1% /run
tmpfs 913 0 913 0% /sys/fs/cgroup
/dev/sda1 297 107 191 36% /boot
tmpfs 183 0 183 0% /run/user/0
/表示檔案系統根目錄 剩餘 73187M 使用了 6345M
/boot表示系統核心的一些資料 總共是297M 使用107M
zabbix可以監控這兩個分割槽
磁碟使用率 /
磁碟使用率 /boot
3》監控網路
檢視當前網路佔用的流量資訊 一般包括 上行流量(進入主機的資料)和下行流量(發出的資料)
實際統計的linux下的網路流檔案
[[email protected] ~]# more /proc/net/dev
Inter-| Receive(接受) | Transmit(發出)
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eno16777736: 215187628 544001 0 0 0 0 0 0 672193851 861396 0 0 0 0 0 0
lo: 16189197 216842 0 0 0 0 0 0 16189197 216842 0 0 0 0 0 0