zabbix监控SNMP Trap 类型

11 篇文章 0 订阅
7 篇文章 0 订阅

环境

  • 两台虚拟机,一台server(公网IP),一台proxy(内网IP)。
  • Docker环境, 使用 docker compose启动。
  • 内网里有一台华为网络设备

目的

通过内网下的proxy接收内网一台网络设备,改网络设备通过SNMP trap发送数据给proxy。proxy把数据发给zabbix server。

使用的方式是通过snmptrapd + bash 方式完成此功能。
官方文档

部署

version: '3.5'
services:
  agent:
    container_name: magnet 
    image: zabbix/zabbix-agent
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    privileged: true
    pid: 'host'
    env_file:
      - ./menvs/.env_magent
    restart: 'unless-stopped'
    stop_grace_period: '5s'
    networks:
      - monitor
  proxy:
    container_name: mproxy
    image: zabbix/mproxy-sqlite3:alpine-6.0
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - ./snmptraps:/var/lib/zabbix/snmptraps:rw
    env_file:
      - ./envs/.env_mprx
    depends_on:
      - magent
    privileged: true    
    restart: 'unless-stopped'
    stop_grace_period: '30s'
    networks:
      - monitor

  zabbix-snmptraps:
    image: zabbix/zabbix-snmptraps:6.0-alpine-latest
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps:rw
    restart: always
    privileged: true
    ports:
      - "162:1162/udp"
    networks:
      - monitor
networks:
  monitor:

挂在文件、目录:

  1. docker-compose.yaml 同级创建目录snmptraps 赋予读写权限,为简单可以chmod -R 777 snmptraps
  2. 挂在env_file,此处需要配置正常,具体是.env_mprx与zabbix server的通信配置。
    .env_magent与proxy的通信配置。
# env_magent
ZBX_SERVER_HOST=proxy 
ZBX_PASSIVESERVERS='0.0.0.0/0'
ZBX_ACTIVE_ALLOW=0 #主动
ZBX_HOSTNAME=agnet001
# .env_mprx
ZBX_SERVER_HOST=xx.xx.xx.xx #zabbix server地址
ZBX_SERVER_PORT=10051
ZBX_HOSTNAME=Ed3oBNt2EP111 #zabbix添加proxy的name 
ZBX_CONFIGFREQUENCY=30
ZBX_ENABLE_SNMP_TRAPS=true #开启snmptrapers

配置好后,docker-compose up -d.

配置host&item

上面启动后,还需要网络设备配置snmp trape到指定的IP。 也就是当前跑服务设备的IP。

然后开始配置zabbix了。登陆zabbix web后,添加host。
fNSPdIv
团体名可以直接写,也可以在宏里面去配置。
在proxy那里选择在zabbix 添加后的proxy设备。例子里就是 Ed3oBNt2EP111

item添加监控项:
RyHwpve

注意时间,我开始看错了时间,使用description里面的格式不行。那个是其他方式使用的格式。bash的时间格式是这样的 yyyyMMdd.hhmmss

这里面Key 是snmptrap.fallback 。他的意思trap该接口的任何nmptrap[]项未trap的所有数据。

配置好后就得带数据来了。

程序通过接收数据保存到snmptraps目录,形成一个log文件。zabbix server 读取此文件进行获取数据。

文件内容如下:
puz2c4G
其中在 ZBXTRAP 的右侧 有一个IP。 此IP和你在host上配置的SNMP interface 上面的IP应该是一样的。他读取log内容也是按照此IP来识别的。

因为log里面有数据,我们可以在host上看到zabbixserver展示的数据:
OnpzaYu

最后一条与上面的log文件最后一条是一样的内容。

证明这个获取数据是ok的。后面需要根据此log获取数据进行告警等动作。

今完结
后待续~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值