部署Prometheus
  • 为什么会有本书
  • Part I - Prometheus基础
    • 第一章 简介
    • 第二章 部署
      • 二进制部署
      • Docker部署
      • Kubernetes部署
    • 第三章 集群与高可用
      • Prometheus
      • Alertmanager
  • Part II - Prometheus数据采集与告警
    • 第四章 数据采集
      • 主机
        • Linux
        • Windows
        • Docker
        • PushGateway
      • Web服务器
        • Nginx
        • Tomcat
      • 数据库
        • MySQL
        • Redis
      • 消息队列
        • RabbitMQ
        • Kafka
      • 微服务
        • Eureka
        • Nacos
        • Zookeeper
        • Consul
      • 网络探测
    • 第五章 告警规则
      • 主机
        • Linux
        • Windows
        • Docker
        • PushGateway
      • Web服务器
        • Nginx
        • Tomcat
      • 数据库
        • MySQL
        • Redis
      • 消息队列
        • RabbitMQ
        • Kafka
      • 微服务
        • Eureka
        • Nacos
        • Zookeeper
        • Consul
      • 网络探测
    • 第六章 告警处理
  • Part III -Prometheus数据展示
    • 第七章 数据展示
Powered by GitBook
On this page
  • 下载
  • 启动
  • 添加Prometheus配置

Was this helpful?

  1. Part II - Prometheus数据采集与告警
  2. 第四章 数据采集
  3. Web服务器

Tomcat

JMX(英语:Java Management Extensions,即Java管理扩展)是Java平台上为应用程序、设备、系统等植入管理功能的框架。

JMX_exporter搭配不同的配置文件可提供不同系统的metrics数据。

下载

本次我们监控tomcat,所以只需要准备jmx_exporter与tomcat.yml即可。

# 创建目录
mkdir -p /ops/jmx_exporter && cd /ops/jmx_exporter

# 下载jmx_exporter
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar

# 下载tomcat.yml
wget https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/tomcat.yml

# 目录结构
tree /ops
/ops
└── jmx_exporter
    ├── jmx_prometheus_javaagent-0.12.0.jar
    └── tomcat.yml

1 directory, 2 files

启动

JMX_exporter支持jar包启动直接添加javaagent,但是这里监控的是tomcat,一般是修改path/bin/catalina.sh添加JAVA_OPTS,让jar包跟随tomcat启动。

根据tomcat启动顺序,不建议直接修改catalina.sh,可以新建path/bin/setenv.sh写入内容,启动tomcat会直接加载,这里我们监控tomcat使用38080端口,如果有多个tomcat实例,请注意每一个实例需要有不同的监控端口。

# 新建添加内容,path为你tomcat目录
vi path/bin/setenv.sh

export JAVA_OPTS="-javaagent:/ops/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=38080:/ops/jmx_exporter/tomcat.yml"

# 重新启动tomcat
cd path/bin
sh shutdown.sh
sh startup.sh

# 防火墙放行
firewall-cmd --add-port=38080/tcp --permanent
firewall-cmd --reload

这时候访问ip:38080即可查看metrics数据,后面接任何路径不影响数据展示,如ip:38080/metrics,所以在Pormetheus配置文件中,无需修改metrics_path默认路径。

添加Prometheus配置

加入需求监控的主机,然后重启Prometheus或者热加载配置。

# 修改加入内容
vi prometheus.yml

-scrape_configs:
  - job_name: JMX
    static_configs:
    - targets:
      - ip:38080
      labels:
        instance: Tomcat_name

# 重启Prometheus
# 如果你是systemd管理
systemctl restart prometheus
如果你是supervisor管理
supervisorctl restart prometheus
PreviousNginxNext数据库

Last updated 5 years ago

Was this helpful?