zabbix使用snmp监控(亲测)

本文详细介绍如何在Zabbix中集成SNMP服务,包括安装配置、查询指标、动态索引使用及Zabbix界面操作。从客户端安装到服务启动,再到Zabbix服务器上的指标查询与监控,提供了一套完整的SNMP集成解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于zabbix安装snmp服务(亲测)

简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。

snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。

通过snmpwalk也可以查看支持SNMP协议(简单网络管理协议)的设备的一些其他信息,比如交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。

在日常监控中,经常会用到snmp服务,而snmpwalk命令则是采集系统各种信息最有效的方法。

1、客户端安装net-snmp

[root@db01 ~]# yum install -y net-snmp

2、修改配置文件

[root@db01 ~]# vim /etc/snmp/snmpd.conf

# 注释 com2sec notConfigUser  default       public    
#社区名称定义为zabbix
com2sec notConfigUser default zabbix  

#添加一个采集项.1,意味着可以采集到所有mib tree的信息   
view systemview included .1           

3、启动服务

[root@db01 ~]# systemctl start snmpd.service

4、查看snmp端口

如果没有安装netstat ,则执行命令:

[root@db01 ~]#  yum install net-tools

查看snmp端口

[root@db01 ~]# netstat -lntup|grep 161

udp 0 0 0.0.0.0:161 0.0.0.0:* 59093/snmpd

5、在zabbix server上查询snmp监控的指标总数量

安装snmpwalk工具测试

[root@zabbix ~]# yum install -y net-snmp-utils

查询snmp监控的指标总数量

[root@zabbix ~]# snmpwalk -v 2c -c zabbix 192.168.16.136|wc -l

3724        #这里取到了3724项 

6、在zabbix server上导出snmp监控的指标到文件

[root@zabbix ~]#  snmpwalk -v 2c -c zabbix 192.168.16.136 > list.txt

查看文档:

 [root@zabbix ~]# vi list.txt

在这里插入图片描述
7、查看系统运行的进程(某一个)

  [root@zabbix ~]# snmpget -v 2c -c zabbix -On 192.168.16.136 HOST-RESOURCES-MIB::hrSWRunName.1

8、根据OID查看获取系统基本信息

  [root@zabbix ~]# snmpget -v 2c -c zabbix 192.168.16.136 .1.3.6.1.2.1.1.1.0

9、查询zabbix可以使用的OID

  [root@zabbix ~]#  snmpget -v 2c -c zabbix -On 192.168.16.136 HOST-RESOURCES-MIB::hrSWRunName.1

10、zabbix的web界面添加主机
参考zabbix官方文档:
https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/snmp

我用的zabbix版本是Zabbix 4.2.6,OID一定不能填错。

添加主机
在这里插入图片描述为添加的主机链接zabbix自带的Template OS Linux SNMPv2模板
在这里插入图片描述 填写主机的宏名称
在这里插入图片描述添加监控项
在这里插入图片描述查看最新数据
在这里插入图片描述

SNMP监控一些常用OID

网上有很多常用的OID,写的也很详细,我这里只是讲下注意事项
使用下面的命令可以更加准确的查询你自己需要的OID:

  [root@zabbix ~]#  snmpget -v 2c -c zabbix -On 192.168.16.136 HOST-RESOURCES-MIB::hrSWRunName.1

网上有很多常用的OID,写的也很详细,我就不在这里重复列举了,如:
参照:https://www.cnblogs.com/aspx-net/p/3554044.html
请求方式是get的OID可以直接拿到具体的值。但是请求方式是WALK的,拿到的值是一个list列表,需要在OID后面加上.1或者其他的序号。
在这里插入图片描述

get请求方式就是使用snmpget命令,walk请求方式就是使用snmpwalk命令

snmpget命令代表这个指标是特定的一个具体的值,snmpwalk命令代表这个指标是一个集合,如系统运行的进程列表,包括多个进程。

zabbix官方的snmp动态索引

概述
虽然你可能会在SNMP OID中找到所需的索引号(例如网络接口),但有时你不能完全依赖不变的索引号。
索引号可能是动态的 - 它们可能会随时间而改变,因此你的监控项可能会停止工作。
为了避免这种情况,可以定义一个考虑到索引号改变的可能性的OID。

例如,如果需要检索索引值以匹配Cisco设备上的 GigabitEthernet0/1 接口的 ifInOctets ,请使用以下OID:

ifInOctets["index","ifDescr","GigabitEthernet0/1"]

语法
使用OID的特殊语法:

<OID of data>["index","<base OID of index>","<string to search for>"]

在这里插入图片描述

示例
获取 apache 进程的内存使用率。
如果使用这种OID语法:

HOST-RESOURCES-MIB::hrSWRunPerfMem["index","HOST-RESOURCES-MIB::hrSWRunPath", "/usr/sbin/apache2"]

索引号将在这里查找:

...
HOST-RESOURCES-MIB::hrSWRunPath.5376 = STRING: "/sbin/getty"
HOST-RESOURCES-MIB::hrSWRunPath.5377 = STRING: "/sbin/getty"
HOST-RESOURCES-MIB::hrSWRunPath.5388 = STRING: "/usr/sbin/apache2"
HOST-RESOURCES-MIB::hrSWRunPath.5389 = STRING: "/sbin/sshd"
...

现在我们有索引5388.索引将附加到此数据OID,以便接收我们感兴趣的值:

HOST-RESOURCES-MIB::hrSWRunPerfMem.5388 = INTEGER: 31468 KBytes

索引查找缓存
当请求动态索引项时,Zabbix检索并缓存base OID下的整个SNMP表用于索引(即使早发现了匹配)。这是为了在另一个监控项稍后引用相同的base OID - Zabbix将在缓存中查找索引,而不是再次查询被监视的主机。请注意,每个轮询器进程使用单独的缓存。

在所有随后的值检索操作中,仅验证找到的索引。如果没有改变将请求结果值;如果已更改,则会重建高速缓存 - 遇到已更改索引的每个轮询器再次建立SNMP索引表。

zabbix界面操作

SNMP OID(apache 进程的内存使用率)
后面的 /usr/lib/systemd/systemd ,根据自己的apache 进程目录修改。

方式一:

HOST-RESOURCES-MIB::hrSWRunPerfMem["index","HOST-RESOURCES-MIB::hrSWRunPath","/usr/lib/systemd/systemd"]

方式二:
.1 代表第几个apache 进程,和方式一目的一样,都是获取具体的进程索引。

HOST-RESOURCES-MIB::hrSWRunPerfMem.1

在这里插入图片描述最新数据
在这里插入图片描述

<think>好的,我需要回答用户关于如何使用Zabbix监控系统的指南或教程的问题。首先,根据用户提供的引用内容,我应该结合引用中的信息来构建回答。用户提到了Zabbix Agent、Proxy以及配置文件的相关内容,所以需要把这些部分整合进去。 首先,我应该概述Zabbix的基本架构,包括Server、Agent、Proxy和Web界面。然后分步骤讲解安装配置、配置Agent、监控项设置、告警触发器和模板应用。每个步骤需要结合引用中的具体信息,比如引用[1]提到Agent2的支持,引用[3]提到配置文件的设置。 接下来,生成相关问题时要考虑用户可能想深入了解的部分,比如优化监控性能、分布式监控配置、高可用性设置以及自动化部署等。这些问题应该与引用内容相关,但也要符合常见的使用场景。 需要确保使用中文回答,并正确应用LaTeX格式。同时,在引用末尾自然地添加引用标识,例如在配置Agent时提到的ServerActive参数来自引用[3]。 最后,检查回答结构是否清晰,是否有遗漏的关键步骤,以及是否符合用户需求。确保回答真实可靠,并正确引用提供的资料。</think>### Zabbix监控系统操作指南 #### 一、Zabbix架构概述 Zabbix采用分布式监控架构,核心组件包括: - **Zabbix Server**:数据处理中心,负责数据存储、告警触发等 - **Zabbix Agent**:客户端守护进程(支持Agent2[^1]),部署在被监控端采集数据 - **Zabbix Proxy**:可选代理组件,用于分布式监控场景 - **Web界面**:提供可视化配置和监控视图 #### 二、安装配置步骤 1. **Server安装**(以CentOS为例): ```bash # 添加Zabbix仓库 rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm # 安装服务端 yum install zabbix-server-mysql zabbix-web-mysql ``` 2. **Agent配置**(关键参数): ```ini # /etc/zabbix/zabbix_agentd.conf Server=192.168.1.100 # 允许连接的Server IP ServerActive=192.168.1.100 # 主动监控模式地址[^3] Hostname=Web_Server_01 # 主机标识 ``` #### 三、监控项配置流程 1. **创建主机**: - Web界面 → 配置 → 主机 → 创建主机 - 填写主机名称、可见名称、所属组 2. **添加监控项**: ```plaintext 名称:CPU Utilization 键值:system.cpu.util[,idle] 更新间隔:30s 历史数据保留:7d ``` 3. **设置触发器**: ```plaintext 表达式:{HOST:system.cpu.util[,idle].avg(5m)}<20 严重性:High ``` #### 四、模板应用(以Linux监控为例) 1. 使用内置模板: - 关联模板"Template OS Linux by Zabbix agent" - 自动获取CPU、内存、磁盘等基础指标 2. 自定义模板开发: - 创建应用集(Application)分组指标 - 配置自动发现规则(LLD)实现动态监控 #### 五、高级功能配置 1. **分布式监控**: - 通过Zabbix Proxy分担Server负载 - 配置Proxy数据缓存和压缩传输 2. **告警升级机制**: ```mermaid graph LR A[触发器激活] --> B[邮件通知运维] B --30分钟未恢复--> C[短信通知主管] C --1小时未恢复--> D[电话呼叫值班] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值