1 基础知识
1.1 tigase monitor 服务端
1.1.1 支持的监控协议
– JMX/RMI、JMX,带安全控制,提供最大控制和可见性状态
– SNMP,带安全控制
– HTTP,无安全控制,建议防火墙后面使用
1.1.2 监视的统计信息
– s2s、c2s和Bosh的网络连接数
– 组件的负载,如SM,MR,c2s,s2s,Bosh,MUC和PubSub
– 系统统计信息,如内存使用情况(堆与非堆)、服务器正常运行时间、人类可读文本
– 用户统计信息,注册用户数和在线用户会话数
1.1.3 监控协议的优点
– 系统资源与CPU消耗非常低
1.1.4 所需要的库
– 需要安装扩展包
– 扩展包包括,tigase-extras(0.3.0-SNAPSHOT或更高版本)和jdmkrt.jar(来自OpenDMK项目5.1或更高以上版本)
– 4.20或更高版本的二进制默认包含两个扩展包
1.1.5 启用服务端的监控支持
vim %{TIGASE_HOME}/etc/init.properties
增加如下参数:
--monitoring=jmx:9050,http:9080,snmp:9060
1.2 tigase monitor 客户端
1.2.1 简介
Tigase monitor是一个独立的桌面应用程序,他用于连接Tigase服务端,并提供系统状态概述。
1.2.2 软件功能
– 提供Tigase服务端的系统状态概述
– 显示系统各项图标指标,CPU使用率、内存使用情况、用户分布、各种流量参数
– 提供内部队列的大小、潜在瓶颈、平均处理时间等详细信息
– 系统事件通知
2 最佳实践
2.1 安装Tigase XMPP服务端
请根据如下链接安装Tigase XMPP服务端,
https://www.cmdschool.org/archives/2478
2.2 启用服务端监控支持
2.2.1 开启监控功能
ls ${TIGASE_HOME}/jars/tigase-extras.jar ${TIGASE_HOME}/jars/jdmkrt.jar
显示如下则安装包都存在,
usr/tigase/jars/jdmkrt.jar /usr/tigase/jars/tigase-extras.jar
2.2.2 开启监控功能
vim /etc/tigase/init.properties
增加如下参数:
--monitoring=jmx:9050,http:9080,snmp:9060
2.2.3 设置JMX访问控制
cp ${TIGASE_HOME}/etc/jmx.access ${TIGASE_HOME}/etc/jmx.access.default cp ${TIGASE_HOME}/etc/jmx.password ${TIGASE_HOME}/etc/jmx.password.default ln -s ${TIGASE_HOME}/etc/jmx.access /etc/tigase/jmx.access ln -s ${TIGASE_HOME}/etc/jmx.password /etc/tigase/jmx.password
查看访问控制配置:
egrep -v "^#|^$" /etc/tigase/jmx.*
可见如下配置:
/etc/tigase/jmx.access:monitor readonly /etc/tigase/jmx.access:admin readwrite /etc/tigase/jmx.password:admin admin_pass /etc/tigase/jmx.password:monitor monitor_pass
注:“:”后面的是文件内容,可见,
– 账号“monitor”是只读权限,密码是“monitor_pass”
– 账号“admin”是管理权限,密码是“admin_pass”
2.2.4 设置snmp访问控制
cp ${TIGASE_HOME}/etc/snmp.acl ${TIGASE_HOME}/etc/snmp.acl.default ln -s ${TIGASE_HOME}/etc/snmp.acl /etc/tigase/snmp.acl
定义访问控制配置
vim /etc/tigase/snmp.acl
修改如下配置:
acl = { { communities = public, private access = read-write managers = localhost, tigase.cmdschool.org } { communities = admin access = read-write managers = localhost, admin.cmdschool.org } }
注:定义的主机“tigase.cmdschool.org”和“admin.cmdschool.org”请保证有DNS解析,否则请配置host记录的名称解析
2.2.5 重启使服务生效
/etc/init.d/tigased restart
2.2.6 确认服务的端口
netstat -anp | grep ::: | grep java | egrep "9050|9080|9060"
显示如下:
tcp6 0 0 :::9080 :::* LISTEN 27753/java tcp6 0 0 :::9050 :::* LISTEN 27753/java udp6 0 0 :::9060 :::* 27753/java
2.2.7 配置防火墙
firewall-cmd --permanent --add-port 9050/tcp firewall-cmd --permanent --add-port 9060/udp firewall-cmd --permanent --add-port 9080/tcp firewall-cmd --reload firewall-cmd --list-all
2.3 http的监控方式
2.4 配置jmx的监控客户端
2.4.1 配置桌面环境
请根据以下链接的教程配置桌面环境,
https://www.cmdschool.org/archives/1884
2.4.2 下载安装包
cd ~ wget https://tigase.tech/attachments/download/5901/tigase-monitor-1.0.0-SNAPSHOT-b101.tar.gz
2.4.3 解压安装包
tar -xf tigase-monitor-1.0.0-SNAPSHOT-b101.tar.gz
2.4.4 安装JDK环境
请参阅以下文档部署JDK环境,
https://www.cmdschool.org/archives/397
2.4.5 修改配置文件
vim tigase-monitor-1.0.0-SNAPSHOT-b101/etc/monitor.properties
修改如下参数:
nodes=blue:10.168.0.90 jmx-user=admin jmx-pass=admin_pass
参数就解析如下,
nodes,参数声明节点的标记颜色与节点名称,使用“:”号分隔
jmx-user,参数声明JMX访问控制设置的账号
jmx-pass,参数声明JMX访问控制设置的密码
2.4.6 运行监控程序
cd tigase-monitor-1.0.0-SNAPSHOT-b101/ ./bin/monitor.sh
2.4.7 手动运行监控程序
本子上,该脚本执行Java程序,脚本内容如下,
cat bin/monitor.sh
脚本内容如下:
#!/bin/bash unset JAVA_TOOL_OPTIONS #DYLD_LIBRARY_PATH="/Users/kobit/Downloads/yjp-8.0.15/bin/mac" #PROFILER="-agentlib:yjpagent" #GC="-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:ParallelCMSThreads=2" #JAVA_OPTIONS="${GC} ${PROFILER} -Xms100M -Xmx3000m" #CP=`ls -d libs/*.jar 2>/dev/null | tr '\n' :` if [ ! "$1" == "" ] ; then echo "Using $1 configuration" java ${JAVA_OPTIONS} -jar libs/tigase-monitor.jar --init $1 else echo "Using default configuration: etc/monitor.properties" java ${JAVA_OPTIONS} -jar libs/tigase-monitor.jar --init etc/monitor.properties fi
所以,如果你要手动执行,执行如下行即可,
cd tigase-monitor-1.0.0-SNAPSHOT-b101/ java -jar libs/tigase-monitor.jar --init etc/monitor.properties
注:手动运行方法也适合于windows系统
参阅文档:
======================
tigase server端的配置
———————
http://docs.tigase.org/tigase-server/7.0.1/Administration_Guide/html/#_server_monitoring
tigase server端的安全配置
———————
http://docs.tigase.org/tigase-server/7.0.1/Administration_Guide/webhelp/monitoring_jmx.html
tigase monitor的简介
———————
https://tigase.net/content/tigase-monitor
tigase monitor下载
———————
https://tigase.tech/projects/tigase-monitor/files
jconsole的监控方式
https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html
没有评论