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

相关文章
相关标签/搜索