一、Zabbix的監控方式
在做SNMP監控之前,需要先了解一下zabbix默認都支持哪些監控方式。我們可以通過配置主機里面可以看見有四類,分別為ZBX、SNMP、JMX和IPMI
1.1 ZBX
這是用的最普遍的zabbix-agent模式,通過TCP協議與zabbix-server傳遞信息。Agent監控方式分為主動和被動模式。在被動模式下,zabbix-agent監聽10050端口,等待zabbix-server的監控信息收集信息請求;在主動模式下,zabbix-agent收集監控信息並通過10050端口主動將數據傳給zabbix-server所在服務器的10051端口。
優點:
- 是zabbix最常用的監控方式,監測指標深入細致有針對性。
- 內置監控功能強大,內置監控項目豐富。
- TCP方式實現通訊,可靠性也有保證。
缺點:
- 需要在被監控機器上安裝zabbix-agent客戶端,部署相對麻煩,最初需要逐個機器安裝代理軟件。
- zabbix-agent客戶端運行在被監控機上,會收集本機信息。
1.2 SNMP
SNMP全稱Simple Network Management Protocol,即網絡管理協議,包括進程管理和被管理設備兩部分。作為一種國際通用的網絡管理協議被廣泛的應用於對各種交換機,路由器等網絡設備的管理上,而現在也越來越多被用於對服務器的監控上。
優點:
- 服務器一旦部署SNMP Agent,任何能實現SNMP協議的軟件都可對其進行監測。
- 通過這種手段進行監測不需知道被監測服務器的用戶名與密碼,比較安全。
缺點:
- 很多服務器並非默認安裝SNMPAgent,如果要通過這種方式監測則需要對所有服務器安裝部署。
- 能監測的參數指標比較固定不夠深入,無法滿足用戶的特殊需求。
- 由於SNMP協議是通過UDP方式實現的,在網絡狀況不佳的情況下其可靠性難以保證。
- 不太好自定義,只能暴露什么收集什么。
1.3 JMX
JMX,全稱Java Management Extensions,即Java管理拓展,是Java平台為應用程序,設備,系統等植入管理功能的框架。在zabbix中,JMX數據的獲取由zabbix-java-gateway代理程序來負責數據的采集。
優點:
- 可以詳細地監控各類Java程序的運行狀態。
缺點:
- 被監控機上需要安裝zabbix-java-gateway
1.4 IPMI
IPMI,全稱Intelligent Platform Management Interface,即智能平台管理接口,原本是Intel架構中企業系統的周邊設備所采用的一種工業標准,后來成為業界通用的標准。用戶可以利用IPMI監視服務器的物理特征,如溫度,電壓,電扇工作狀態,電源供應以及機箱入侵等指標。
二、安裝SNMP
在主機zabbix-agent上安裝SNMP服務,並配置監控。
2.1 安裝配置snmp服務
- 安裝snmp及相關軟件
yum -y install net-snmp net-snmp-libs net-snmp-utils
- 配置
snmp支持v1,v2,v3協議。v2協議支持團體名稱,V3協議支持用戶名密碼。這里通過配置使用V2協議團體名稱。
配置文件:/etc/snmp/snmpd.conf
#備份原配置文件
cd /etc/snmp/
cp snmpd.conf{,.bak}
#修改如下配置
com2sec admin default admin #<==配置團體名
group admin v2c admin #<==配置組名
view admin included .1 80 #<==權限的配置1
access admin "" any noauth exact admin admin none #<==權限的配置2
#或者直接使用如下命令來配置
cat > /etc/snmp/snmpd.conf <<EOF
com2sec admin default admin
group notConfigGroup v1 notConfigUser
group admin v2c admin
view admin included .1 80
access admin "" any noauth exact admin admin none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
EOF
- 啟動
systemctl start snmpd.conf
systemctl enable snmpd.conf
snmp默認監聽UDP協議的161端口,查看端口是否存在可以判斷服務是否正常啟動。
2.2 通過snmpget獲取信息
在安裝snmp的時候已經安裝好了snmpget工具,因此可以在zabbix-agent上通過snmpget命令收集信息。
[root@zabbix-agent snmp]# snmpget -v2c -c admin 10.0.0.12 .1.3.6.1.2.1.1.1.0 SNMPv2-MIB::sysDescr.0 = STRING: Linux zabbix-agent 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
-v2c:使用的協議
-c admin:指定團體名
10.0.0.12:運行snmp的機器
.1.3.6.1.2.1.1.1.0:OID,獲取主機信息的代碼
一些常用的OID:
.1.3.6.1.2.1.1.1.0 系統基本信息
.1.3.6.1.2.1.1.5.0 獲取機器名
. 1.3.6.1.4.1.2021.11.9.0 用戶CPU百分比
.1.3.6.1.2.1.25.2.2.0 獲取內存大小
更多詳細信息請參考如下地址:http://www.ttlsa.com/monitor/snmp-oid/
2.3 通過snmpwalk收集信息
上面的snmpget命令,只能收集單一的信息,不能用作匹配收集,例如獲取系統負載時只能獲取三個負載中的其中一個,而snmpwalk則可以全部收集。
[root@zabbix-agent snmp]# snmpget -v2c -c admin 10.0.0.12 .1.3.6.1.2.1.25.2.2.0 HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 999696 KBytes [root@zabbix-agent snmp]# snmpwalk -v2c -c admin 10.0.0.12 .1.3.6.1.2.1.25.2 HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 999696 KBytes HOST-RESOURCES-MIB::hrStorageIndex.1 = INTEGER: 1 HOST-RESOURCES-MIB::hrStorageIndex.3 = INTEGER: 3 HOST-RESOURCES-MIB::hrStorageIndex.6 = INTEGER: 6
注:各類交換機的配置可以根據自身的命令來對snmp進行配置。
三、添加一個snmp主機
在zabbix-server的前端頁面,添加一個snmp的主機!
- 第一步
登陸zabbix控制台,並依次選擇配置、主機、創建主機
- 第二步
主機配置說明
1、主機名稱:zabbix-agent
2、可見名稱:zabbix-agent
3、群組:新建一個linux-SNMP
4、接口: a、刪除默認的agent接口;b、添加一個SNMP接口,並正確填寫相關信息
5、描述:一定要寫清楚描述
6、完成之后暫時不要點添加,還需要配置模板等信息
- 第三步
配置監控的模板
1、在連接指示器中輸入linux字符,並在彈出來的選項中選擇:Template OS Linux SNMPv2
2、需要分別點擊兩個添加
- 第四步
配置宏
1、因為在配置的時候是沒有配置團體名的,在監控的時候如果沒有admin這個團體名是無法正常監控的。因此需要在監控的時候,通過變量的形式來進行指定
2、配置參數:{$SNMP_COMMUNITY} => admin
當我們在配置、主機頁面看到剛添加的SNMP選項變綠的時候,說明我們的SNMP已經被正常監控了!!
那么使用SNMP監控就介紹到這里了~~
下一篇介紹通過Agent對服務器進行監控!
本篇參考文章:https://blog.csdn.net/cheng10cc/article/details/51890990