南大通用GBase 8a 统计数据平台监控系统GCmonitor SNMP Trap功能配置文档

本文介绍GBase 8a 统一数据平台里告警功能通过SNMP Trap外发集群告警信息的功能配置方案。

1.    前置条件:

完成gcmonitor监控系统安装部署,包括如下组件:

  1. 配置库(GBase 8a单机数据库)
  2. 监控网站
  3. 采集中心
  4. 采集代理(集群所有节点上进行安装)

2.    SNMP Trap功能原理说明:

  1. 采集代理负责对个节点的节点状态指标进行采集,并定时发送给采集中心;
  2. 采集中心根据收到的节点状态指标即生成告警策略生成告警信息;
  3. 采集中心将个节点的状态指标和告警信息写入配置库进行持久话,并通过网站查询页面提供查询展示功能;
  4. 开启SNMP Trap推送接口后,采集中心将生成的告警信息发送给SNMP Trap信息接受服务器。

SNMP Trap接口配置在采集中心的配置文件中进行配置,配置项包括:

  1. 推送接口开关
  2. 传送信息编码
  3. 信息接受server的IP地址和端口
  4. 重传次数和网络传输超时

具体见下面章节的配置项介绍内容:

3.    配置说明:

开启gcmonitor监控系统的SNMP Trap推送功能,需要修改对应采集中心的配置文件,配置文件位置在采集中心安装目录的gcmonitor_center/conf/snmp_udp_config.properties文件

具体配置文件配置项包括容下:

#开启开关, 0 :关闭 1 :开启。
isOpen=0
#传送信息编码格式默认值为GBK
outputEncoding=GBK
#SNMP Trap接收端 IP
trapIp=192.168.2.28
#SNMP Trap接收端 Port
trapPort=161
#传递失败时,重传次数,默认值为2
retries=2
#超时设置,单位为毫秒,默认值为15s
timeout=1500

修改配置文件后需要重启采集中心服务使配置生效。

4.    接口配置和调试实例:

4.1配置环境说明:

1、集群部署信息:2coor+2data 混合部署,节点IP地址:

192.168.56.191,192.168.56.192

2、监控系统部署信息:

配置库(GBase 8a单机)IP地址和端口:192.168.56.211:5258

监控网站服务IP地址和端口:192.168.56.211:8080

采集中心服务IP地址和端口:192.168.56.211:9999

4.2修改采集中心配置文件:

1、切换至监控系统安装操作系统用户,本例中为gbase:

su - gbase

2、备份snmp_udp_config.properties配置文件:

cd /opt/GMonitor/GMCenter/gcmonitor_center/conf
cp snmp_udp_config.properties snmp_udp_config.properties_bak

3、编辑采集中心snmp_udp_config.properties配置文件信息:

vim snmp_udp_config.properties

配置文件信息如下:

4、确认并修改采集中心安装服务器的/etc/hosts文件中配置了该节点的host信息

注意:

如果hosts文件中如果采集中心本机的IP和host信息没有配置,需要将安装采集中心的服务器hosts文件中补充本机的信息,否则推送信息有可能失败。

5、重新启动采集中心服务:

监控网站上点击平台管理->采集中心管理

点击停止按钮,停止采集中心服务,再点击启动按钮启动采集中心服务。

弹出输入连接采集中心服务器的用户名和口令信息时,需要输入安装采集中心的操作系统用户gbase和gbase用户口令。

4.3启动测试小工具,模拟外部SNMP Trap信息接收server:

gbase提供了一个测试用的小程序,用于模拟外部SNMP Trap信息接收server的功能并可以将接收到的Trap告警信息打屏到console控制台上,以确认推动功能正常。

小工具的位置在采集中心安装目录下:

本例中的位置在:服务器192.168.56.211 /opt/GMonitor/GMCenter/gcmonitor_center/startTestSnmp.sh脚本

该脚本有两个执行参数:

$1:IP地址,模拟外部接收server的IP地址,由于脚本在采集中心安装的服务器上执行,此处IP地址填写采集中心服务器IP,本例中为192.168.56.211

$2: 端口号,模拟外部接收server的端口号,本例中使用采集中心配置文件snmp_udp_config.properties中配置的端口号5001

启动测试小程序:

cd /opt/GMonitor/GMCenter/gcmonitor_center/
shstartTestSnmp.sh

正常启动后,会打屏如下信息:

检查小程序模拟的server服务启动是否正常:

可以看到SNMP Trap接收端配置的5001端口UDP协议listening服务已经正常启动

4.4测试SNMPTrap告警推送功能:

1、手动造一个告警测试Trap推送功能:

测试推送功能首先需要产生一个告警,本例中的告警采用手动停掉一个节点,产生一个节点close告警的方式,具体操作如下:

操作系统gbase用户登录192.168.56.191集群节点

进入集群安装目录将守护进程gcmonit手动关闭,防止停止节点服务后在该节点安装的agent还未采集到服务离线状态时(agent的默认采集时间间隔为60s),关闭的服务就被gcmonit自动拉起。

执行:

cd /opt/gcluster/server/bin
sh gcmonitor.sh stop

关闭192.168.56.191节点gbased服务

执行:

gcluster_servicesgbase stop --force

执行gcadmin观察服务状态,以手工停掉192.168.56.191节点的gbased服务:

2、观察监控网站上生成的告警信息:

由于agent对节点状态的采集默认是60s时间间隔,因此在手动关闭节点gbased服务后,需要等待一段时间等关闭服务节点的agent服务采集到gbased服务close状态并发送给采集中心,且采集中心将生成的告警信息写入配置库后告警信息才能在监控网站中看到。

在集群监管->报警信息中可以看到采集中心产生的告警

点击进入可以看到具体告警信息:

这时观察测试小程序测,可以看到打屏的推送告警信息:

手动启动恢复gbased服务和gcmonit守护进程:

刷新监控网站,会发现一个restore的告警(告警状态恢复也产生一条告警信息)

这时观察小程序,也收到一条restore的告警:

产生告警期间,网站收到3条告警信息,小程序侧也收到3条告警信息,证明SNMP Trap推送功能正常:

[gbase@redhat82danji gcmonitor_center]$ sh startTestSnmp.sh 192.168.56.211 5001
createsnmp receiver[192.168.56.211:5001]
snmpreciver listener start.
1.3.6.1.4.1.39649.1.9999.1:192.168.56.191
1.3.6.1.4.1.39649.1.9999.2:GBase-26
1.3.6.1.4.1.39649.1.9999.3:redhat952-192.168.56.191-gbased_state occured an alarm,the current value breaked through threshhold at 2021-08-12 17:27:59. Process breaked through threshhold are as follows: CLOSE, and the threshhod is CLOSE.
1.3.6.1.4.1.39649.1.9999.4:gbased_state
1.3.6.1.4.1.39649.1.9999.5:2
1.3.6.1.4.1.39649.1.9999.6:2021-08-12 17:27:59
1.3.6.1.4.1.39649.1.9999.7:1
1.3.6.1.4.1.39649.1.9999.8:1
1.3.6.1.4.1.39649.1.9999.9:gnode进程是否开启
1.3.6.1.4.1.39649.1.9999.10:progress
1.3.6.1.4.1.39649.1.9999.11:CLOSE
1.3.6.1.4.1.39649.1.9999.12:CLOSE
1.3.6.1.4.1.39649.1.9999.13:--
1.3.6.1.4.1.39649.1.9999.14:redhat952
--------------------------
1.3.6.1.4.1.39649.1.9999.1:192.168.56.191
1.3.6.1.4.1.39649.1.9999.2:GBase-26
1.3.6.1.4.1.39649.1.9999.3:redhat952-192.168.56.191-gbased_state occured an alarm,the current value breaked through threshhold at 2021-08-12 17:28:59. Process breaked through threshhold are as follows: CLOSE, and the threshhod is CLOSE.
1.3.6.1.4.1.39649.1.9999.4:gbased_state
1.3.6.1.4.1.39649.1.9999.5:2
1.3.6.1.4.1.39649.1.9999.6:2021-08-12 17:28:59
1.3.6.1.4.1.39649.1.9999.7:1
1.3.6.1.4.1.39649.1.9999.8:1
1.3.6.1.4.1.39649.1.9999.9:gnode进程是否开启
1.3.6.1.4.1.39649.1.9999.10:progress
1.3.6.1.4.1.39649.1.9999.11:CLOSE
1.3.6.1.4.1.39649.1.9999.12:CLOSE
1.3.6.1.4.1.39649.1.9999.13:--
1.3.6.1.4.1.39649.1.9999.14:redhat952
--------------------------
1.3.6.1.4.1.39649.1.9999.1:192.168.56.191
1.3.6.1.4.1.39649.1.9999.2:GBase-26
1.3.6.1.4.1.39649.1.9999.3:redhat952-192.168.56.191-gbased_state restore an alarm at 2021-08-12 17:29:59. Process breaked through threshhold are as follows: OPEN, and the threshhod is CLOSE.
1.3.6.1.4.1.39649.1.9999.4:gbased_state
1.3.6.1.4.1.39649.1.9999.5:2
1.3.6.1.4.1.39649.1.9999.6:2021-08-12 17:29:59
1.3.6.1.4.1.39649.1.9999.7:0
1.3.6.1.4.1.39649.1.9999.8:1
1.3.6.1.4.1.39649.1.9999.9:gnode进程是否开启
1.3.6.1.4.1.39649.1.9999.10:progress
1.3.6.1.4.1.39649.1.9999.11:CLOSE
1.3.6.1.4.1.39649.1.9999.12:OPEN
1.3.6.1.4.1.39649.1.9999.13:--
1.3.6.1.4.1.39649.1.9999.14:redhat952
--------------------------

5.    附录

5.1 SNMP Trap推送接口Mib库文件:

注意该文件名字结尾是gz,但并没有压缩,而是网站不允许上传.mib结尾的文件。请直接重命名恢复即可。

5.2 Trap推送信息内容释义:

1.3.6.1.4.1:mib前缀

  • 39649:代表南大通用申请的PEN(Private Enterprise Number)
  • 9999:代表推送告警信息的采集中心服务端口号
  • 1-14:Trap告警信息字段编号

具体字段内容解释:

1.3.6.1.4.1.39649.1.9999.1

发生告警的节点IP 。

1.3.6.1.4.1.39649.1.9999.2

告警事件码,为统一监控内部定义。

如:为GBase-09 时,说明是cpu使用率突破了阈值发生了告警。

1.3.6.1.4 .1.39649.1.9999.3

告警事件描述,描述了哪个节点的哪个监控项发生了告警,或恢复了告警。

1.3.6.1.4.1.39649.1.9999.4

告警事件名称。

如:为cpu_usage,说明是发生cpu使用率的告警事件。

1.3.6.1.4.1.39649.1.9999.5

告警级别,统一监控目前支持4种告警级别:

1:严重 2:次要 3:警告 4:提醒。

1.3.6.1.4.1.39649.1.9999.6

告警发生时间:默认时间格式:2021-08-12 17:29:59。

1.3.6.1.4 .1.39649.1.9999.7

告警类别:

  • 0 :恢复告警,说明当前告警事件为恢复告警;
  • 1 :故障告警:说明当前告警事件为故障告警。

1.3.6.1.4.1.39649.1.9999.8

事件类型:

  • 0 :无恢复事件,说明该事件在故障恢复后不推送恢复信息;
  • 1 :有恢复事件,说明该事件在故障恢复后会推送恢复事件。

1.3.6.1.4.1.39649.1.9999.9

事件中文名称。

如:为cpu_usage监控项对应的中文名称时cpu使用率。

1.3.6.1.4.1.39649.1.9999.10

发生告警事件的对象名称。

如:为cpu时,说明cpu发生了告警。

1.3.6.1.4.1.39649.1.9999.11

告警阈值,该值为在监控网站中设置的监控项的报警阈值。

如:cpu_usage的阈值默认为80%,说明当cpu使用率超过80% 时报警。

1.3.6.1.4.1.39649.1.9999.12

告警当前值,该值为告警监控项的当前值。

如:cpu_usage的当前周期采集值为 90% 。

1.3.6.1.4.1.39649.1.9999.13

告警项当前值的单位,该值为在监控网站中设置的监控项的单位。

如:cpu使用率为%。

1. 3.6.1.4.1.39649.1.9999.14

告警节点所属集群名称。