永德网站建设,深圳网站建设机构,网上服务大厅12333,seo效果最好的是目录
一、理论
1.Zabbix监控Tomcat
二、实验
1.Zabbix监控Tomcat
三、问题
1.获取软件包失败 2.tomcat 配置 JMX remote monitor不生效 3.Zabbix客户端日志报错 一、理论
1.Zabbix监控Tomcat
#xff08;1#xff09;环境
zabbix服务端#xff1a;192.168.204.214 …目录
一、理论
1.Zabbix监控Tomcat
二、实验
1.Zabbix监控Tomcat
三、问题
1.获取软件包失败 2.tomcat 配置 JMX remote monitor不生效 3.Zabbix客户端日志报错 一、理论
1.Zabbix监控Tomcat
1环境
zabbix服务端192.168.204.214
zabbix客户端192.168.204.215 原理 (2)客户端安装tomcat(yum方式)
yum install tomcat -ySystemctl start tomcatcd /var/lib/tomcat/webappsmkdir testcd test
(3)添加动态网页内容
vim index.jsp # 添加动态页面内容% page languagejava importjava.util.* pageEncodingUTF-8%htmlheadtitletest/title/headbody% out.println(动态页面:test tomcat01);%/body/html#页面输出内容为test tomcat01tomcat02服务器上则将01改为02方便查看实验效果#创建动态资源页面3修改配置
vim /etc/tomcat/server.xml
#修改主配置文件内容125行原有内容不需要更改对比此段内容添加即可Host namelocalhost appBasewebappsunpackWARstrue autoDeploytruexmlNamespaceAwarefalseContext docBase/var/lib/tomcat/webapps/testpath reloadabletrue /#指定自己的tomcat页面访问文件路径
4重新启动
systemctl restart tomcat
5服务端器安装zabbix-java-gateway
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm
6安装zabbix-java-gateway yum -y localinstall zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm
7编辑gateway配置文件
vim /etc/zabbix/zabbix_java_gateway.conf
去掉LISTEN_IP、LISTEN_PORT(监听端口)、START_POLLERS(进程数)的注释符号
LISTEN_IP定义被监控机器的地址不指定默认监听全部机器 编辑server配置文件
vim /etc/zabbix/zabbix_server.conf定义以下3个配置参数:
JavaGateway192.168.204.214JavaGatewayPort10052StartJavaPollers5
启动zabbix-java-gateway服务: systemctl start zabbix-java-gateway
重启zabbix-server服务
systemctl restart zabbix-server(4)查看监听端口
netstat -lntp |grep java(5)开启JMX
客户端器编辑tomcat配置文件
vim /usr/libexec/tomcat/server
添加以下内容
CATALINA_OPTS$CATALINA_OPTS \-Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port8008 \-Dcom.sun.management.jmxremote.sslfalse \-Djava.rmi.server.hostname192.168.204.215 \-Dcom.sun.management.jmxremote.authenticatefalsehostname定义客户端地址端口8008默认12345
(6)脚本、重启tomcat
脚本
vim /opt/tomcat.sh#!/bin/bash
anetstat -natp |grep 8080|awk {print $6}|grep LISTEN
if [[ $a LISTEN ]];thenecho 0 #表示tomcat启动中
elseecho 1 #表示tomcat未启动
fi#添加权限
chmod 777 /opt/tomcat.sh
添加可识别配置文件
vim zabbix_agent2.confUserParametertomcat.status,source /opt/tomcat.sh
#实现对脚本的监控chmod s /bin/nestat
#加上权限避免netstat在服务端报错验证
zabbix_get -s 192.168.204.215 -p 10050 -k tomcat.status 重启
systemctl restart tomcat(7)查看监听端口9999
netstat -lntp |grep 8008
(8)进入zabbix前端页面添加主机
与普通情况添加监控主机不同监控B机器的tomcat需要配置JMX接口 模板链接JMX相关的两个模板
Template App Apache Tomcat JMX
Template App Generic Java JMX
当JMX图标变绿即表示配置成功 二、实验
1.Zabbix监控Tomcat
1安装 (2) 启动 3设置文件 4监听端口 5安装zabbix-java-gateway
下载 安装zabbix-java-gateway
(6) 编辑gateway配置文件 去掉LISTEN_IP、LISTEN_PORT(监听端口)、START_POLLERS(进程数)的注释符号 LISTEN_IP定义被监控机器的地址不指定默认监听全部机器
(7) 编辑server配置文件 定义以下3个配置参数 (8)启动zabbix-java-gateway服务 (9) 重启zabbix-server服务 (10)查看监听端口
(11)开启JMX
客户端器编辑tomcat配置文件 重启 监听端口 (12)脚本、重启tomcat
脚本 赋权 重启 (13)验证
授权 验证
0是tomcat启动中
(14)进入zabbix前端页面添加主机
进入zabbix前端页面添加主机
与普通情况添加监控主机不同监控B机器的tomcat需要配置JMX接口 模板链接JMX相关的两个模板
Template App Apache Tomcat JMX
Template App Generic Java JMX
当JMX图标变绿即表示配置成功 监控项 监控JVM 15自定义监控tomcat 三、问题
1.获取软件包失败
1报错 2原因分析
证书过期
3解决方法
命令结尾附加
--no-check-certificate
成功 2.tomcat 配置 JMX remote monitor不生效
1原因分析
centos 7 上的 tomcat 配置 JMX remote monitor由于tomcat安装方法的不同jmx 配置方法也有所不同
2解决方法
①配置 $CATALINA_OPTS
打开tomcat启动文件 /usr/libexec/tomcat/server在变量 $FLAGS 赋值语句下面添加
CATALINA_OPTS$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port8008 \
-Dcom.sun.management.jmxremote.sslfalse \
-Djava.rmi.server.hostname192.168.204.215 \
-Dcom.sun.management.jmxremote.authenticatetrue \
-Dcom.sun.management.jmxremote.password.file/usr/share/tomcat/conf/jmxremote.password \
-Dcom.sun.management.jmxremote.access.file/usr/share/tomcat/conf/jmxremote.access配置分析
-Dcom.sun.management.jmxremote: 启用 jmxremote 功能
-Dcom.sun.management.jmxremote.port8008jmxremote 监听端口用于客户端连接样例设为 8008
-Dcom.sun.management.jmxremote.sslfalse是否启用 SSL 连接样例设为 false
-Dcom.sun.management.jmxremote.authenticatetrue开启用户认证连接
-Dcom.sun.management.jmxremote.password.file/usr/share/tomcat/conf/jmxremote.password认证用户密码文件样例设为 /usr/share/tomcat/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file/usr/share/tomcat/conf/jmxremote.access认证用户权限配置文件样例设为 /usr/share/tomcat/conf/jmxremote.access。如果不启用用户认证将选项 Dcom.sun.management.jmxremote.authenticate 的值设为false也无需再设置选项 Dcom.sun.management.jmxremote.password.file 和 Dcom.sun.management.jmxremote.access.file。②JMX 远程连接的用户认证文件 从 jre 的安装目录找到 jmxremote.access 和 jmxremote.password.template复制到 $CATALINA_OPTS 中设置的认证文件位置将 jmxremote.password.template 重命名为 jmxremote.password。
cp /usr/lib/jvm/jre/lib/management/jmxremote.access /usr/share/tomcat/conf/
cp /usr/lib/jvm/jre/lib/management/jmxremote.password.template /usr/share/tomcat/conf/jmxremote.passwordjmxremote.access 文件末尾添加认证用户名和用户权限示例中 jmxuser 为用户名readwrite 为该用户的 jmx 权限
jmxuser readwritejmxremote.password 文件末尾添加认证用户名和用户密码示例中 jmxuser 为用户名与 jmxremote.access 中一致jmxpassword 为该用户的 jmx 远程连接密码
jmxuser jmxpassword③最后更改文件权限和属主
cd /usr/share/tomcat/conf/
chmod 600 jmxremote.password jmxremote.access
chown tomcat.tomcat jmxremote.password jmxremote.access④firewalld 设置
可以直接关闭 firewalld
systemctl stop firewalld
systemctl disable firewalld或者针对 JMX 监听的端口包括两个随机端口和选项 -Dcom.sun.management.jmxremote.port 指定的固定端口设置开放规则。首先查看java 监听的端口
ss -lnp | grep java任何开放端口
firewall-cmd --add-port8008/tcp --add-portrandom-port-1/tcp --add-portrandom-port-2/tcp重启 tomcat 后随机端口会变这时候又要重新设置端口规则。
重启 tomcatJMX 连接
使用 JDK 自带的 jconsole 或 VisualVM 连接 JVM Remote。 3.Zabbix客户端日志报错
1报错 2原因分析
因为使用了netstat -p参数。
权限问题zabbix_agentd是zabbix用户启动的默认不能执行netstat -p等命令导致从服务器取到的自动发现脚本为空
(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) 3解决方法
为了方便普通用户执行一些特权命令SUID/SGID程序允许普通用户以root身份暂时执行该程序并在执行结束后再恢复身份。
chmod s /bin/netstat 成功