暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术干货|使用Prometheus+Grafana监控Tomcat实例详解

西安川石 2022-12-19
2234



GUIDE

导读


前面推文中我们分享了Prometheus和Grafana部署及操作知识,现在我们要开始学会利用普罗米修斯+Grafana搭建监控系统。今天给大家分享使用Prometheus+Grafana监控Tomcat实例。落下了之前内容的伙伴可以在文末查阅往期内容,也可以加小编微信领取同步课件!

01

下载jmx_prometheus_javaagent包

下载jmx_prometheus_javaagent包,jar包下载地址:
    https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/
    jmx_prometheus_javaagent-0.3.1.jar
    复制

    02

    配置config.yaml文件

    创建一个config.yaml文件,并在config.yaml文件中写入以下内容:
      ---
      lowercaseOutputLabelNames: true
      lowercaseOutputName: true
      rules:
      - pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>
      (\w+):'
      name: tomcat_$3_total
      labels:
      port: "$2"
      protocol: "$1"
      help: Tomcat global $3
      type: COUNTER
      - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?
      =~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*),
      J2EEApplication=none, J2EEServer=none><>
      (requestCount|maxTime|processingTime|errorCount):'
      name: tomcat_servlet_$3_total
      labels:
      module: "$1"
      servlet: "$2"
      help: Tomcat servlet $3 total
      type: COUNTER
      - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>
      (currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connecti
      onCount):'
      name: tomcat_threadpool_$3
      labels:
      port: "$2"
      protocol: "$1"
      help: Tomcat threadpool $3
      type: GAUGE
      - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-
      9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>
      (processingTime|sessionCounter|rejectedSessions|expiredSessions):'
      name: tomcat_session_$3_total
      labels:
      context: "$2"
      host: "$1"
      help: Tomcat session $3 total
      type: COUNTER
      复制

      03

      将jar和配置文件拷贝到指定目录

      将下载好的jar包和config.yaml文件拷贝tomcat 服务器上tomcat安装的bin 目录下

      04

      修改catalina.sh

      修改tomcat的启动文件 ,修改bin目录下的catalina.sh文件,大概在255行后加入如图第257行内容(路径根据实际情况改写)
        JAVA_OPTS="-javaagent:jmx_prometheus_javaagent-0.3.1.jar=39081:config.yaml"
        #39081为端口号,端口号可以自己随意定义
        复制

        05

        测试是否可收集到数据

        重启tomcat,访问服务器上的39081(这个端口应该与JAVA_OPTS中设置的为准)端口,查看是否采集到数据,也可以浏览器直接访问ip+端口。

        06

        prometheus中添加监控目标

          - job_name: tomcat
          static_configs:
          - targets:
          - 192.168.1.131:39081
          复制

          07

          grafana中导入模板

          在grafana中导入8563模板,在导入模板时,需要将job中的内容修改为tomcat,否则无法获取到tomcat中的数据

          往/期/回/顾



          Prometheus(普罗米修斯)核心组件


          Prometheus(普罗米修斯)自定义查询语言PromQL


          Prometheus(普罗米修斯)之PromQL完全解释


          Prometheus(普罗米修斯)PromQL查询语言之操作符


          PromQL查询语言之聚合操作&内置函数


          Prometheus 在HTTP API中使用PromQL


          Prometheus监控4个黄金指标和USE方法


          Prometheus告警及告警规则


          Prometheus部署Alertmanager


          Prometheus之Alertmanager路由配置


          Prometheus定义告警模板&告警通知&性能优化


          Prometheus之Console Template创建可视化监控平台实例


          Grafana及Graph面板全解释


          Grafana分布统计Heatmap面板全解释


          Grafana当前状态SingleStat面板全解释


          Grafana模板化Dashboard设计实例教程


          Docker容器下部署Alertmanager集群监控


          Docker容器下部署Alertmanager集群监控


          使用Prometheus+Grafana监控MySQL实例详解

          -End-

          「有用就扩散」

          「有用就点在看」

          更多课程咨询或免费资料领取,扫下方二维码即可!

          文章转载自西安川石,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论