zabbix-03-使用SNMP監控

 

1、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端口。java

優勢:linux

  • 是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代理程序來負責數據的採集。app

優勢:框架

  • 能夠詳細地監控各種Java程序的運行狀態。

缺點:工具

  • 被監控機上須要安裝zabbix-java-gateway

1.4 IPMI

  IPMI,全稱Intelligent Platform Management Interface,即智能平臺管理接口,本來是Intel架構中企業系統的周邊設備所採用的一種工業標準,後來成爲業界通用的標準。用戶能夠利用IPMI監視服務器的物理特徵,如溫度,電壓,電扇工做狀態,電源供應以及機箱入侵等指標。

2、安裝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進行配置。

 3、添加一個snmp主機

在zabbix-server的前端頁面,添加一個snmp的主機!

  • 第一步

登錄zabbix控制檯,並依次選擇配置、主機、建立主機

  • 第二步

主機配置說明

一、主機名稱:zabbix-agent
二、可見名稱:zabbix-agent
三、羣組:新建一個linux-SNMP
四、接口: a、刪除默認的agent接口;b、添加一個SNMP接口,並正確填寫相關信息
五、描述:必定要寫清楚描述
六、完成以後暫時不要點添加,還須要配置模板等信息

  • 第三步

配置監控的模板

一、在鏈接指示器中輸入linux字符,並在彈出來的選項中選擇:Template OS Linux SNMPv2
二、須要分別點擊兩個添加

  • 第四步

配置宏

一、由於在配置的時候是沒有配置團體名的,在監控的時候若是沒有admin這個團體名是沒法正常監控的。所以須要在監控的時候,經過變量的形式來進行指定
二、配置參數:{$SNMP_COMMUNITY} => admin

當咱們在配置、主機頁面看到剛添加的SNMP選項變綠的時候,說明咱們的SNMP已經被正常監控了!!

 


 那麼使用SNMP監控就介紹到這裏了~~

 下一篇介紹經過Agent對服務器進行監控!

 

本篇參考文章:https://blog.csdn.net/cheng10cc/article/details/51890990

相關文章
相關標籤/搜索