1.准备工作

在实施中间件监控参数配置部署前请检查设备环境是否满足如下条件:。

条件项

检查内容

标准要求

条件1

服务器防火墙运行状态

防火墙为inactive或关闭状态

条件2

服务器Selinux状态

Selinux状态为disabled或permissive

条件3

操作系统监控代理部署状态

已部署操作系统监控代理

  1. 监控部署

2.1Tomcat监控参数配置

2.1.1部署实施

  1. 查看端口是否占用

     执行命令:ss -antp |grep 12345

     注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。

  1. 添加参数

在执行脚本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"

添加示例图如下:

  1. 重启tomcat生效配置

   执行命令:/usr/local/tomcat/bin/shutdown.sh

   执行命令:/usr/local/tomcat/bin/startup.sh

2.1.2web界面配置

当tomcat监控配置部署完成后,登录Zabbix监控Web管理界面,找到已纳管tomact服务器,完成如下操作:

(1)jmx接口配置,如下所示:

怎么监控中间件 中间件监控指标_上传

正在上传…重新上传取消

  1. 关联tomcat监控模板,模板名称:“Template App Apache Tomcat JMX”,如下所示:

怎么监控中间件 中间件监控指标_怎么监控中间件_02

正在上传…重新上传取消

2.1.3数据验证

web界面数据采集验证

怎么监控中间件 中间件监控指标_tomcat_03

正在上传…重新上传取消

2.2JVM监控参数配置

2.2.1部署实施

(1)查看端口是否占用

     执行命令:ss -antp |grep 12345

     注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。

  1. 添加监控参数

编辑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
  1. 重启jar程序

查看进程号: ps aux |grep [程序名].jar

停止进程: kill -9 PID

然后执行重启

  1. 查看进程

执行命令:ps aux |grep [程序名].jar

示例截图如下:

怎么监控中间件 中间件监控指标_tomcat_04

正在上传…重新上传取消

2.2.2web界面配置

当jvm监控配置部署完成后,登录Zabbix监控Web管理界面,找到已纳管jvm服务器,完成如下操作:

(1)添加jmx接口配置,如下所示:

怎么监控中间件 中间件监控指标_上传_05

正在上传…重新上传取消

(2)关联jvm监控模板,模板名称:“Template App Generic Java JMX”,如下所示:

怎么监控中间件 中间件监控指标_怎么监控中间件_06

正在上传…重新上传取消

2.2.3数据验证

web界面数据采集验证

怎么监控中间件 中间件监控指标_服务器_07

正在上传…重新上传取消

2.3nginx监控参数配置

2.3.1部署实施

(1)查找监控模块

执行命令:nginx -V 2>&1 |grep -o with-http_stub_status_module

怎么监控中间件 中间件监控指标_怎么监控中间件_02

正在上传…重新上传取消

注意: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;
}

如下图所示:

怎么监控中间件 中间件监控指标_中间件_09

正在上传…重新上传取消

  1. 重启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界面数据采集验证

怎么监控中间件 中间件监控指标_怎么监控中间件_10

正在上传…重新上传取消

2.4kafka监控参数配置

2.4.1准备工作

应用系统负责人提供如下信息:

序号

需求信息

生产环境信息

1

kafka集群IP地址:端口

x.x.x.x:xx等

2

集群配置的zk IP地址:端口

x.x.x.x:xx等

待完成信息梳理并提供至监控管理员后。

2.4.2部署实施

  1. Kafka集群服务器上部署监控组件 burrow,并安装依赖jq插件

1)创建目录

执行命令:cd /opt; mkdir burrow ;cd burrow

  1. 上传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

  1. 拷贝配置文件

执行命令:mkdir /etc/burrow ; cp -rf config/* /etc/burrow

  1. 修改配置文件/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端口
  1. 添加启动脚本

上传附件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

  1. 检查配置是否成功

执行命令: curl -s http://x.x.x.x:8000/v3/kafka/local/consumer|jq .

    注意:x.x.x.x为部署插件主机ip

  1. 添加 zabbix 自定义监控
  2. 执行命令:

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/

  1. 重启监控代理

执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent

  1. 检查配置是否成功

执行命令:/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部署实施

  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

  1. 开启四字指令

Zookeeper中间件监控需要系统管理员配合开通Zookeeper四字指令权限,指令开通方式如下:

编辑Zookeeper中间件配置文件zoo.conf,增加如下内容:

4lw.commands.whitelist=*

  1. 重启Zookeeper服务

联系管理员重启zookeeper

(4)检查配置是否成功

执行命令:echo stat|nc 127.0.0.1 2181

  1. 添加zookeeper监控配置

执行命令:vim /etc/zabbix/zabbix_agentd.d/zookeeper.conf

添加如下内容:

UserParameter=echo2nc[*],echo $1|nc $2 $3

  1. 重启监控代理

执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent

2.5.2web界面配置

关联zookeeper监控模板,模板名称:“Zookeeper监控模板”,如下所示:

怎么监控中间件 中间件监控指标_tomcat_04

正在上传…重新上传取消

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界面数据采集验证

怎么监控中间件 中间件监控指标_上传_12

正在上传…重新上传取消

2.6redis监控参数配置

2.6.1准备工作

应用系统负责人提供如下信息:

序号

需求信息

生产环境信息

1

redis集群IP地址:端口、用户、口令

x.x.x.x:xx等

待完成信息梳理并提供至监控管理员后。

2.6.2部署实施

  1. 配置基础监控配置文件

执行命令:vim /etc/zabbix/zabbix_agent2.conf

增加如下内容:

Plugins.Redis.Sessions.Redis1.Uri=tcp://localhost:6301[服务端口]

Plugins.Redis.Sessions.Redis1.Password=Password[管理口令]

如多实例则复制上述内容,更换服务端口。

添加示例图如下:

怎么监控中间件 中间件监控指标_tomcat_13

正在上传…重新上传取消

(2)重启监控代理

执行重启命令:service zabbix-agent restart 或 systemctl restart zabbix-agent

2.6.3web界面配置

关联redis监控模板,模板名称:“Template DB Redis xxxx”,如下所示:

怎么监控中间件 中间件监控指标_怎么监控中间件_14

正在上传…重新上传取消

2.6.4数据验证

web界面数据采集验证

怎么监控中间件 中间件监控指标_中间件_15

正在上传…重新上传取消

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`

添加示例图如下:

怎么监控中间件 中间件监控指标_上传_16

正在上传…重新上传取消

(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界面数据采集验证

怎么监控中间件 中间件监控指标_怎么监控中间件_17

正在上传…重新上传取消

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}">

添加示例图如下:

怎么监控中间件 中间件监控指标_服务器_18

正在上传…重新上传取消

修改broken字段内的managementContext节点:

<managementContext>  
            <managementContext createConnector="true" connectorPort="12345"/>  
</managementContext>

添加示例图如下:

怎么监控中间件 中间件监控指标_服务器_19

正在上传…重新上传取消

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"

添加示例图如下:

怎么监控中间件 中间件监控指标_上传_20

正在上传…重新上传取消

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]

添加示例图如下:

怎么监控中间件 中间件监控指标_tomcat_21

正在上传…重新上传取消

activemq_status.sh修改如下内容:

MQ_IP=(x.x.x.x)  [activemq集群ip]

添加示例图如下:

怎么监控中间件 中间件监控指标_服务器_22

正在上传…重新上传取消

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接口配置,如下所示:

怎么监控中间件 中间件监控指标_tomcat_23

正在上传…重新上传取消

(2)关联activemq监控模板,模板名称:“SXXH-activemq监控”,“Template JMX ActiveMQ”如下所示:

怎么监控中间件 中间件监控指标_中间件_24

正在上传…重新上传取消

2.8.4数据验证

(1)监控服务端数据采集验证

zabbix_get  -s x.x.x.x  -k "mq.mqScan"

x.x.x.x为被监控端ip,有结果表示数据采集验证成功

(2)web界面数据采集验证

怎么监控中间件 中间件监控指标_中间件_25

正在上传…重新上传取消

怎么监控中间件 中间件监控指标_服务器_07

正在上传…重新上传取消

2.9 Websphere监控参数配置

2.9.1部署实施

(1)查看端口是否占用

     执行命令:ss -antp |grep 12345

     注意:JMX远程访问的端口12345为非指定端口,请信息系统管理员在配置参数前检查该端口是否已被占用,如已占用请更改端口号,更改后请务必将新端口号告知监控管理员。

(2)登陆管理界面,或者咨询管理员如何用http登陆

怎么监控中间件 中间件监控指标_上传_05

正在上传…重新上传取消

(3)点击应用程序服务器

怎么监控中间件 中间件监控指标_怎么监控中间件_28

正在上传…重新上传取消

(4)点击server1(以实际名称为准)选择进程定义

怎么监控中间件 中间件监控指标_服务器_29

正在上传…重新上传取消

(5)点击java虚拟机

怎么监控中间件 中间件监控指标_tomcat_30

正在上传…重新上传取消

修改通用jvm参数

怎么监控中间件 中间件监控指标_服务器_31

正在上传…重新上传取消

填入以下内容:

-Djavax.management.builder.initial= 
-Dcom.sun.management.jmxremote

(6)点击“定制属性”选项,在参数配置界面增加如下参数配置;或在后台配置文件IBM/WebSphere/AppServer/java/jre/lib/management/management.properties中增加如下参数配置

怎么监控中间件 中间件监控指标_上传_32

正在上传…重新上传取消

-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接口配置,如下所示:

怎么监控中间件 中间件监控指标_中间件_33

正在上传…重新上传取消

(2)关联jvm监控模板,模板名称:“Template App Generic Java JMX”,如下所示:

怎么监控中间件 中间件监控指标_上传_34

正在上传…重新上传取消

2.9.3数据验证

web界面数据采集验证

怎么监控中间件 中间件监控指标_中间件_33

正在上传…重新上传取消

  1. 附件

3.1kafka监控配置附件

 3.1.1监控组件 burrow

怎么监控中间件 中间件监控指标_怎么监控中间件_06

正在上传…重新上传取消

3.1.2 burrow启动脚本

怎么监控中间件 中间件监控指标_怎么监控中间件_37

正在上传…重新上传取消

3.1.3kafka监控脚本

怎么监控中间件 中间件监控指标_中间件_38

正在上传…重新上传取消

3.2zookeeper监控配置附件

3.2.1nc命令redhat-7rpm包
 

怎么监控中间件 中间件监控指标_上传_16

正在上传…重新上传取消

3.2.2nc命令redhat-6rpm包
 

怎么监控中间件 中间件监控指标_服务器_29

正在上传…重新上传取消

3.3rocketmq监控配置附件

3.3.1rocketmq监控脚本

怎么监控中间件 中间件监控指标_中间件_25

正在上传…重新上传取消

3.3.2定制监控指标配置文件

怎么监控中间件 中间件监控指标_tomcat_42

正在上传…重新上传取消

3.4activemq监控配置附件

3.4.1activemq监控脚本

怎么监控中间件 中间件监控指标_怎么监控中间件_17

正在上传…重新上传取消     

3.4.2定制监控指标配置文件

怎么监控中间件 中间件监控指标_中间件_44

正在上传…重新上传取消