1. 程式人生 > >分散式監控解決方案zabbix02-使用agent監控其他linux

分散式監控解決方案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/78663086
   18.152修改主機名為 : zabbix-server
hostname zabbix-server
 58.150安裝過程:
 安裝 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處理的中斷數
           中斷其實就是由硬體或軟體所傳送的一種稱為IRQ(中斷請求)的訊號。
           中斷允許讓裝置,如鍵盤,串列埠卡,並口等裝置表明它們需要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