1.准备工作
在实施中间件监控参数配置部署前请检查设备环境是否满足如下条件:。
条件项 | 检查内容 | 标准要求 |
条件1 | 服务器防火墙运行状态 | 防火墙为inactive或关闭状态 |
条件2 | 服务器Selinux状态 | Selinux状态为disabled或permissive |
条件3 | 操作系统监控代理部署状态 | 已部署操作系统监控代理 |
- 监控部署
2.1Tomcat监控参数配置
2.1.1部署实施
- 查看端口是否占用
执行命令:ss -antp |grep 12345
注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。
- 添加参数
在执行脚本catalina.sh第二行增加如下参数:
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=x.x.x.x [本地设备IP]
-Dcom.sun.management.jmxremote.rmi.port=12345"
添加示例图如下:
- 重启tomcat生效配置
执行命令:/usr/local/tomcat/bin/shutdown.sh
执行命令:/usr/local/tomcat/bin/startup.sh
2.1.2web界面配置
当tomcat监控配置部署完成后,登录Zabbix监控Web管理界面,找到已纳管tomact服务器,完成如下操作:
(1)jmx接口配置,如下所示:
正在上传…重新上传取消
- 关联tomcat监控模板,模板名称:“Template App Apache Tomcat JMX”,如下所示:
正在上传…重新上传取消
2.1.3数据验证
web界面数据采集验证
正在上传…重新上传取消
2.2JVM监控参数配置
2.2.1部署实施
(1)查看端口是否占用
执行命令:ss -antp |grep 12345
注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。
- 添加监控参数
编辑jar程序启动配置,增加监控参数,添加方式:java 监控参数 -jar *.jar
参数内容:
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=x.x.x.x [本地设备IP]
-Dcom.sun.management.jmxremote.rmi.port=12345
- 重启jar程序
查看进程号: ps aux |grep [程序名].jar
停止进程: kill -9 PID
然后执行重启
- 查看进程
执行命令:ps aux |grep [程序名].jar
示例截图如下:
正在上传…重新上传取消
2.2.2web界面配置
当jvm监控配置部署完成后,登录Zabbix监控Web管理界面,找到已纳管jvm服务器,完成如下操作:
(1)添加jmx接口配置,如下所示:
正在上传…重新上传取消
(2)关联jvm监控模板,模板名称:“Template App Generic Java JMX”,如下所示:
正在上传…重新上传取消
2.2.3数据验证
web界面数据采集验证
正在上传…重新上传取消
2.3nginx监控参数配置
2.3.1部署实施
(1)查找监控模块
执行命令:nginx -V 2>&1 |grep -o with-http_stub_status_module
正在上传…重新上传取消
注意:nginx 监控需要看开启支持 http_stub_status_module模块,如果编译安装需要加载该模块,加载方式:./configure --with-http_stub_status_module
(2)配置nginx.conf配置文件
增加监控location,内容如下:
location = /basic_status {
stub_status;
allow 127.0.0.1;
allow ::1;
deny all;
}
如下图所示:
正在上传…重新上传取消
- 重启nginx
执行命令:systemctl restart nginx 或service restart nginx
(5)检查配置是否成功
执行命令:curl http://127.0.0.1:80[nginx服务端口]/basic_status
2.3.2web界面配置
关联nginx监控模板,模板名称:“Template App Nginx by HTTP”,如下所示:
2.3.3数据验证
web界面数据采集验证
正在上传…重新上传取消
2.4kafka监控参数配置
2.4.1准备工作
应用系统负责人提供如下信息:
序号 | 需求信息 | 生产环境信息 |
1 | kafka集群IP地址:端口 | x.x.x.x:xx等 |
2 | 集群配置的zk IP地址:端口 | x.x.x.x:xx等 |
待完成信息梳理并提供至监控管理员后。
2.4.2部署实施
- Kafka集群服务器上部署监控组件 burrow,并安装依赖jq插件
1)创建目录
执行命令:cd /opt; mkdir burrow ;cd burrow
- 上传Burrow_1.1.0_linux_amd64.tar.gz并解压
上传附件3.1.1监控组件Burrow_1.1.0_linux_amd64.tar.gz到/opt/burrow
执行命令: tar -xf Burrow_1.1.0_linux_amd64.tar.gz
3)拷贝启动文件
执行命令:cp burrow /usr/bin
- 拷贝配置文件
执行命令:mkdir /etc/burrow ; cp -rf config/* /etc/burrow
- 修改配置文件/etc/burrow/burrow.toml
修改配置文件内容如下:
pidfile="/var/run/burrow.pid" 注意:pid位置
filename="/var/log/burrow.log" 注意:log位置
[zookeeper]
servers=[ "192.168.1.81:2181", "192.168.1.82:2181", "192.168.1.83:2181" ] 注意:zookeeper集群ip端口
[cluster.local]
servers=[ "192.168.1.81:9092", "192.168.1.82:9092", "192.168.1.83:9092" ] 注意:kafka集群ip端口
[consumer.local]
servers=[ "192.168.1.81:9092", "192.168.1.82:9092", "192.168.1.83:9092" ] 注意:kafka集群ip端口
[consumer.local_zk]
servers=[ "192.168.1.81:2181", "192.168.1.82:2181", "192.168.1.83:2181" ] 注意:zookeeper集群ip端口
- 添加启动脚本
上传附件3.1.2启动脚本burrow到/etc/init.d/
赋权命令: chmod +x /etc/init.d/burrow
添加开机自启动:chkconfig --add burrow
启动burrow:/etc/init.d/burrow start
6)安装jq
执行命令: yum -y install jq
- 检查配置是否成功
执行命令: curl -s http://x.x.x.x:8000/v3/kafka/local/consumer|jq .
注意:x.x.x.x为部署插件主机ip
- 添加 zabbix 自定义监控
- 执行命令:
vim /etc/zabbix/zabbix_agentd.d/userparameter_kafkaconsumer.conf
添加如下内容:
UserParameter=kafkaconsumer[*],/etc/zabbix/zabbix_agentd.d/kafka_consumers.sh $1 $2 $3 $4 $5
2)创建监控脚本
上传附件3.1.3kafka监控脚本kafka_consumers.sh到/etc/zabbix/zabbix_agentd.d/
- 重启监控代理
执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent
- 检查配置是否成功
执行命令:/etc/zabbix/zabbix_agentd.d/kafka_consumers.sh discovery
2.4.3web界面配置
关联kafka监控模板,模板名称:“KafkaConsumers”,如下所示:
2.4.5数据验证
(1)监控服务端数据采集验证
zabbix_get -s x.x.x.x -k "kafkaconsumer[discovery]"
x.x.x.x为被监控端ip,有结果表示数据采集验证成功
(2)web界面数据采集验证
2.5zookeeper监控参数配置
2.5.1部署实施
- 检查是否安装nc命令
执行命令: rpm -qa|grep nmap-ncat
如果没有需要安装,redhat-7上传附件3.2.11nc命令rpm包nmap-ncat-6.40-19.el7.x86_64
执行命令: rpm -ivh nmap-ncat-6.40-19.el7.x86_64
redhat-6上传附件3.2.2nc命令rpm包nc-1.84-22.el6.x86_64.rpm
执行命令:rpm -ivh nc-1.84-22.el6.x86_64.rpm
- 开启四字指令
Zookeeper中间件监控需要系统管理员配合开通Zookeeper四字指令权限,指令开通方式如下:
编辑Zookeeper中间件配置文件zoo.conf,增加如下内容:
4lw.commands.whitelist=*
- 重启Zookeeper服务
联系管理员重启zookeeper
(4)检查配置是否成功
执行命令:echo stat|nc 127.0.0.1 2181
- 添加zookeeper监控配置
执行命令:vim /etc/zabbix/zabbix_agentd.d/zookeeper.conf
添加如下内容:
UserParameter=echo2nc[*],echo $1|nc $2 $3
- 重启监控代理
执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent
2.5.2web界面配置
关联zookeeper监控模板,模板名称:“Zookeeper监控模板”,如下所示:
正在上传…重新上传取消
2.5.3数据验证
(1)监控服务端数据采集验证
zabbix_get -s x.x.x.x -k "echo2nc[mntr,127.0.0.1,2181]"
x.x.x.x为被监控端ip,有结果表示数据采集验证成功
(2)web界面数据采集验证
正在上传…重新上传取消
2.6redis监控参数配置
2.6.1准备工作
应用系统负责人提供如下信息:
序号 | 需求信息 | 生产环境信息 |
1 | redis集群IP地址:端口、用户、口令 | x.x.x.x:xx等 |
待完成信息梳理并提供至监控管理员后。
2.6.2部署实施
- 配置基础监控配置文件
执行命令:vim /etc/zabbix/zabbix_agent2.conf
增加如下内容:
Plugins.Redis.Sessions.Redis1.Uri=tcp://localhost:6301[服务端口]
Plugins.Redis.Sessions.Redis1.Password=Password[管理口令]
如多实例则复制上述内容,更换服务端口。
添加示例图如下:
正在上传…重新上传取消
(2)重启监控代理
执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent
2.6.3web界面配置
关联redis监控模板,模板名称:“Template DB Redis xxxx”,如下所示:
正在上传…重新上传取消
2.6.4数据验证
web界面数据采集验证
正在上传…重新上传取消
2.7RocketMQ监控参数配置
2.7.1准备工作
需要应用系统负责人提供如下信息:
序号 | 需求信息 | 生产环境信息 |
1 | RocketMQ集群地址 | x.x.x.x等 |
2 | RocketMQ集群端口 | xx等 |
待完成信息梳理并提供至监控管理员后
2.7.2部署实施
(1)上传监控脚本
上传附件3.3.1rocketmq监控脚本mq_status.sh到/etc/zabbix/zabbix_agentd.d
修改如下内容:
GroupInfo=`sh /root/rocketmq-all-4.8.0-bin-release/bin/mqadmin 【实际安装目录】 consumerProgress -n “x.x.x.x:xx;x.x.x.x:xx” 【rocketmq集群ip及端口】 2>/dev/null`
添加示例图如下:
正在上传…重新上传取消
(2)上传定制监控指标配置文件
上传附件3.3.2定制监控指标配置文件mq.conf到/etc/zabbix/zabbix_agentd.d
(3)重启监控代理
执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent
2.7.3web界面配置
关联rocketmq监控模板,模板名称:“MQ自动发现”,如下所示:
2.7.4数据验证
(1)监控服务端数据采集验证
zabbix_get -s x.x.x.x -k "mq.subgroup.discovery"
x.x.x.x为被监控端ip,有结果表示数据采集验证成功
(2)web界面数据采集验证
正在上传…重新上传取消
2.8 ActiveMQ监控参数配置
2.8.1准备工作
需要应用系统负责人提供如下信息:
序号 | 需求信息 | 生产环境信息 |
1 | ActiveMQ集群管理用户/口令 | |
2 | ActiveMQ集群管理界面访问连接 | |
3 | ActiveMQ集群设备信息 (按业务不同分别提供) | |
4 | ActiveMQ集群正在使用的主节点 | |
5 | ActiveMQ集群BorkerName |
待完成信息梳理并提供至监控管理员后
2.8.2部署实施
(1)JMX远程访问配置
1)查看端口是否占用
执行命令:ss -antp |grep 12345
注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。
配置activemq.xml
修改broken字段:
<broker useJmx="true" xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
添加示例图如下:
正在上传…重新上传取消
修改broken字段内的managementContext节点:
<managementContext>
<managementContext createConnector="true" connectorPort="12345"/>
</managementContext>
添加示例图如下:
正在上传…重新上传取消
3)添加参数
在执行脚本activemq末尾添加如下内容:
ACTIVEMQ_CONF=“/root/activemq-5.8/apache-activemq-5.8.0/conf" 注意:配置文件所在路径
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=12345" 注意;jmx端口
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"
添加示例图如下:
正在上传…重新上传取消
4)重启activemq
执行命令:/root/activemq-5.8/apache-activemq-5.8.0/bin/activemq stop
执行命令:/root/activemq-5.8/apache-activemq-5.8.0/bin/activemq start
(2)添加 zabbix 自定义监控
1)上传监控脚本
上传附件3.4.1activemq监控脚本activemq_discovery.sh activemq_status.sh到/etc/zabbix/zabbix_agentd.d
activemq_discovery.sh修改如下内容:
MQ_IP=(x.x.x.x) [activemq集群ip]
添加示例图如下:
正在上传…重新上传取消
activemq_status.sh修改如下内容:
MQ_IP=(x.x.x.x) [activemq集群ip]
添加示例图如下:
正在上传…重新上传取消
2)上传定制监控指标配置文件
上传附件3.4.2定制监控指标配置文件activemq.conf到/etc/zabbix/zabbix_agentd.d
3)重启监控代理
执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent
2.8.3web界面配置
当activemq监控配置部署完成后,登录Zabbix监控Web管理界面,找到已纳管activemq服务器,完成如下操作:
(1)jmx接口配置,如下所示:
正在上传…重新上传取消
(2)关联activemq监控模板,模板名称:“SXXH-activemq监控”,“Template JMX ActiveMQ”如下所示:
正在上传…重新上传取消
2.8.4数据验证
(1)监控服务端数据采集验证
zabbix_get -s x.x.x.x -k "mq.mqScan"
x.x.x.x为被监控端ip,有结果表示数据采集验证成功
(2)web界面数据采集验证
正在上传…重新上传取消
正在上传…重新上传取消
2.9 Websphere监控参数配置
2.9.1部署实施
(1)查看端口是否占用
执行命令:ss -antp |grep 12345
注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。
(2)登陆管理界面,或者咨询管理员如何用http登陆
正在上传…重新上传取消
(3)点击应用程序服务器
正在上传…重新上传取消
(4)点击server1(以实际名称为准)选择进程定义
正在上传…重新上传取消
(5)点击java虚拟机
正在上传…重新上传取消
修改通用jvm参数
正在上传…重新上传取消
填入以下内容:
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote
(6)点击“定制属性”选项,在参数配置界面增加如下参数配置;或在后台配置文件IBM/WebSphere/AppServer/java/jre/lib/management/management.properties中增加如下参数配置
正在上传…重新上传取消
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote=true
-Djava.rmi.server.hostname=设备IP
com.sun.management.jmxremote.port=12345
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
(7)保存之后重启websphere生效
执行命令:/opt/IBM/WebSphere/AppServer/bin/stopServer.sh server1
执行命令:/opt/IBM/WebSphere/AppServer/bin/startServer.sh server1
2.9.2web界面配置
当websphere监控配置部署完成后,登录Zabbix监控Web管理界面,找到已纳管websphere服务器,完成如下操作:
(1)添加jmx接口配置,如下所示:
正在上传…重新上传取消
(2)关联jvm监控模板,模板名称:“Template App Generic Java JMX”,如下所示:
正在上传…重新上传取消
2.9.3数据验证
web界面数据采集验证
正在上传…重新上传取消
- 附件
3.1kafka监控配置附件
3.1.1监控组件 burrow
正在上传…重新上传取消
3.1.2 burrow启动脚本
正在上传…重新上传取消
3.1.3kafka监控脚本
正在上传…重新上传取消
3.2zookeeper监控配置附件
3.2.1nc命令redhat-7rpm包
正在上传…重新上传取消
3.2.2nc命令redhat-6rpm包
正在上传…重新上传取消
3.3rocketmq监控配置附件
3.3.1rocketmq监控脚本
正在上传…重新上传取消
3.3.2定制监控指标配置文件
正在上传…重新上传取消
3.4activemq监控配置附件
3.4.1activemq监控脚本
正在上传…重新上传取消
3.4.2定制监控指标配置文件
正在上传…重新上传取消