本主题为通过zabbix监控中间件(基于snmp协议)。
zabbix相关介绍
本文档讲述的是关于zabbix基于snmp协议监控weblogic相关实现。
这里首先我们要知道要使用zabbix进行监控,至少需要他的两个部分来实现组成。
第一部分是在服务端需要部署的zabbix_server,这个程序是部署在LAMP的相关环境下的,后续会有相关文档进行对于zabbix_server安装的说明,这里就不多做赘述了。
第二部分是在客户端需要部署的zabbix_agent,这个程序是不需要相关的运行环境,只需要在客户端进行相关的配置,以及安装就可以了。
zabbix_agent端的部署
首先登录到被监控端Linux 服务器上,安装zabbix agent ,过程不在本文档赘述(本人环境使用rpm包安装)。安装位置在 /etc/zabbix/zabbix_agentd.conf。编辑 /etc/zabbix/zabbix_agentd.conf配置如下几项:
1 | PidFile=/var/run/zabbix/zabbix_agentd.pid |
查看状态、停止、启动相关命令
1 | 源码包安装的agent启动: |
之后我们可以查看相关的日志文件,也就是zabbix_agentd.log文件中的内容,来查看程序的启动情况。
/var/log/zabbix/zabbix_agentd.log
可能出现的问题
当我们启动agent时,可能日志中会报出如下错误:
这是因为在server端没有配置相应名称的hostname所导致的。
被监控端Weblogic设置
我们监控服务器时,需要经过相关的SNMP协议来对服务器进行监控,这里我们需要在控制台上进行相关的配置。
首先我们登录相关的控制台:
会在页面中看到如下内容,点击新建
这里面输入需要创建的SNMP相关的名称,这里请遵循相应的命名规则来进行命名。
之后点入新创建的SNMP进行相关内容的配置
这里先输入 SNMP UDP端口 这里我输入的为8098,后输入主要AgentX端口 同样为8098这里的端口号,请遵循创建时的相应规则。陷阱版本选择V1
将ServerSNMPAgent部署到目标节点上。选择启用后,进行保存,并点击标签中的目标项。
目标项中选择SNMP协议相对应的端点,来进行目标的指向,当所有的节点SNMP均配置完成后,于控制台的配置基本完成。
测试访问联通性
确保Weblogic监听SNMP
以上配置完成后,需要重启Weblogic节点,查看Weblogic节点启动日志,会出现如下信息,表示Weblogic配置完成,并且已经监听SNMP端口。
测试工具测试
安装测试工具snmpwalk
1 | yum -y install net-snmp-utils |
测试srv_13_22_7003 节点 ExecuteThreadTotalCount
1 | snmpwalk -v 1 -c public 210.72.13.22:8098 1.3.6.1.4.1.140.625.367.1.25.16.35.6.159.237.53.118.39.151.17.79.45.166.52.193.171.147 |
测试srv_13_22_7003 节点 ExecuteThreadTotalCount,如果执行成功出现如下信息表示Weblogic SNMP 配置成功:
1 | SNMPv2-SMI::enterprises.140.625.367.1.25.16.35.6.159.237.53.118.39.151.17.79.45.166.52.193.171.147 = INTEGER: 6 |
zabbix_server页面相关配置
主机的创建
基本的准备工作完成之后,我们需要登录zabbix_server控制台进行主机监控项的配置
进入登录页面点击Configuration –> Hosts –> Create host进行主机的创建。
输入Host name ,这里再次强调Host name的内容需要与agent端配置文件中的Host name内容一致
Agent interface中输入需要监控的服务器IP地址,并输入相应的监控端口,这里的端口与zabbix_agentd.conf中配置的一致,这里我并有进行配置,只是用了默认的10050,如果有需要可以修改文件中的变量Listen Port进行相关配置。
- 点击Add,基本的主机便建立完成了
返回到Hosts页面 发现新建的主机 之后点进去进行相关的配置操作。
SNMP配置
这里进行的SNMP配置与控制台的SNMP配置相对应,ip为被监控主机地址,而端口则为控制台所配置的UDP端口。
例如:第一个UDP端口为8098,所以这里相对应的端口号也为8098。
监控项的配置
于相应主机栏中,选择items,点击进入
Name:首先输入Name,这里的Name为需要监控的内容名称,可以自己决定取名,但最好遵循相应的规则,这里我选择监控队列数,因为监控的是第一台服务器的第一个节点,所以这里的name我命名为7003-QueueLength
Type选择SNMPv1 agent 这里的类型和控制台所配置的陷阱版本是相对应的。
key 和SNMP OID 相同,通过MIB 浏览器来获得:
1 | queueLength 1.3.6.1.4.1.140.625.367.1.35.16.35.6.159.237.53.118.39.151.17.79.45.166.52.193.171.147 |
OID 信息可以通过如下命令输出到文件中查询
1 | snmpwalk -v 1 -c public 210.72.13.22:8098 1.3.6.1.4.1.140.625 > weblogic_oid.txt |
在进入监控项页面点击创建监控项,并填入相关内容:
OID的获取
WebLogic 所有 OID 信息查询
1 | snmpwalk -v 1 -c public 210.72.13.22:8098 1.3.6.1.4.1.140.625 > weblogic_oid.txt |
WebLogic SNMP Management Guide请参考
https://docs.oracle.com/cd/E13222_01/wls/docs90/snmpman/snmpagent.html
在线版本WebLogic Server® 9.0 MIB Reference
https://docs.oracle.com/cd/E13222_01/wls/docs90/snmp/index.html
离线版本WebLogic Server® 9.0 MIB Reference
1 | [root@localhost lib]# ls -l *.asn1 |
离线版查看工具:MIB Browser
离线MIB Browser的使用
运行MIB Browser setup.exe
在安装时按正常顺序安装就可以了,安装好后双击进入MIB Browser
点击File –> Load MIBs 加载BEA-WEBLOGIC-MIB.asn1文件,即可开始使用。
在图中Address位置,输入服务器的ip地址和UDP端口,点击Advanced,连接到相关地址。
查找相关的关键字,例如这里查找QueueLength
选中查找到的内容
会于页面左边显示相应的内容,此时我们就获得了相应的OID了
验证Zabbix与目标主机SNMP连通性
zabbix控制台->目标主机->监控项 显示已启用为正常
如果被监控主机SNMP选项出现红色,表示该连接有问题,建议查看具体的日志:
欢迎关注米宝窝,持续更新中,谢谢!
[米宝窝 https://rocklei123.github.io/ ](