zabbix-03-使用SNMP监控

 

一、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

posted @ 2019-03-17 16:57  流光给给  阅读(2987)  评论(0编辑  收藏  举报