Prometheus运维 监控Tomcat

本文详细介绍了如何使用Prometheus监控Tomcat,包括安装Prometheus和Tomcat,配置JMX Exporter,集成Grafana,关注的关键指标如吞吐量、响应时间、错误数、线程池状态和JVM内存等。
摘要由CSDN通过智能技术生成

1.安装部署

1.1 安装Prometheus

部署Prometheus请点击此链接:https://blog.csdn.net/ZhanBiaoChina/article/details/107024115

1.2 安装Tomcat

1.安装Tomcat

$wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.tar.gz
$ tar zxf apache-tomcat-8.5.61.tar.gz -C /usr/local/
$ ln -s /usr/local/apache-tomcat-8.5.61/ /usr/local/tomcat
$ vim /etc/profile
#添加如下内容
export CATALINA_HOME=/usr/local/tomcat
$ source /etc/profile
$ env |grep -i home
#输出内容
CATALINA_HOME=/usr/local/tomcat
HOME=/root
ZK_HOME=/usr/local/zookeeper/

# 查看熵池的大小: 
cat /proc/sys/kernel/random/entropy_avail 180
增加熵池大小,解决Tomcat在CentOS 7巨慢的问题

# 安装rng服务,增大熵池
yum -y install rng-tools
systemctl start rngd && systemctl enable rngd
# 启动服务访问Tomcat页面快一百倍..

2.创建配置Tomcat systemd服务
指定Tomcat PID文件位置

vim /usr/local/tomcat/bin/catalina.sh
#添加如下内容:
157 # Copy CATALINA_BASE from CATALINA_HOME if not already set
158 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
159 
160 CATALINA_PID="$CATALINA_BASE/tomcat.pid"
161 # Ensure that any user defined CLASSPATH variables are not used on startup,
162 # but allow them to be specified in setenv.sh, in rare case when it is needed.
163 CLASSPATH=

在这里插入图片描述

$ vim /etc/systemd/system/tomcat.service
#添加如下内容:
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
User=root
Group=root
#Environment="JAVA_HOME=/usr/bin/java"
PIDFile=/usr/local/apache-tomcat-8.5.61/tomcat.pid
ExecStart=/usr/local/apache-tomcat-8.5.61/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
systemctl enable tomcat.service
systemctl start tomcat.service
systemctl status tomcat.service

Centos6 Tomcat启动脚本

vim /etc/init.d/tomcat
#!/bin/bash
#chkconfig: 2345 96 14
export JAVA_HOME=/usr/bin/java
export CATALINA_HOME=/usr/local/tomcat
exec $CATALINA_HOME/bin/catalina.sh $*

# $*将脚本本身自带的参数全部传递过来,就是catalina.sh --help看到的所有的参数start stop等

chmod +x /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on
service tomcat start
systemctl status tomcat
tail -f catalina.out 服务启动不起来查看这个日志文件```

3.Tomcat相关信息解释

netstat -anput | grep java
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      12481/java
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN      12481/java
tcp        0      0 0.0.0.0:8005            0.0.0.0:*               LISTEN      12481/java

Tomcat三个端口

自动化运维需要学习以下内容: 1. 自动化工具:自动化运维依赖于各种工具和框架来实现自动化管理和操作。例如,SaltStack和Ansible是常用的自动化工具,可以用于配置管理、部署和监控等任务。 2. 编程语言:学习编程语言可以帮助你编写自动化脚本和工具。Python是一种常用的脚本语言,广泛用于自动化运维领域。 3. 网络知识:了解计算机网络的基本原理和网络设备的工作方式对于自动化运维至关重要。你需要了解网络协议、IP地址、子网掩码、路由器和交换机等网络设备的配置和管理。 4. 操作系统:自动化运维通常需要与操作系统进行交互和管理。学习Linux和Windows操作系统的基本知识可以帮助你理解和操作服务器和客户端系统。 5. 虚拟化技术:对虚拟化技术的了解可以帮助你在自动化运维中使用虚拟机和容器。Docker和Kubernetes是常用的虚拟化和容器化技术。 6. 服务管理:自动化运维还涉及到管理和维护各种服务和应用程序。例如,学习Apache、Nginx、Tomcat、MySQL等常用的服务和数据库可以帮助你进行服务的部署和管理。 7. 监控和告警:了解监控系统和告警平台的原理和使用方法可以帮助你实现自动化的监控和告警。例如,Zabbix、Prometheus和Grafana是常用的监控工具。 总结起来,自动化运维需要学习自动化工具、编程语言、网络知识、操作系统、虚拟化技术、服务管理以及监控和告警等相关知识。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [[其他]运维入门学习路线](https://blog.csdn.net/weixin_43644388/article/details/108439665)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值