亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

通過prometheus監(jiān)控Tomcat運行狀態(tài)的操作流程

 更新時間:2025年02月08日 08:56:15   作者:景天科技苑  
文章介紹了如何安裝和配置Tomcat,并使用Prometheus和Tomcat Exporter來監(jiān)控Tomcat的運行狀態(tài),文章詳細講解了Tomcat的常用指標,如連接、請求、會話和線程指標,并提供了具體的計算方法和示例,需要的朋友可以參考下

Tomcat安裝配置以及prometheus監(jiān)控Tomcat

Tomcat本身無法對外提供Prometheus所兼容的Metrics,因此需要借助第三方exporter來提供:tomcat-exporter
https://github.com/nlighten/tomcat_exporter

在這里插入圖片描述

一. 安裝并配置tomcat

1、安裝tomcat

yum install tomcat tomcat-webapps -y

在這里插入圖片描述

2、然后下載依賴包

我們可以看到官方介紹,需要很多依賴包

在這里插入圖片描述

wget https://search.maven.org/remotecontent?filepath=io/prometheus/simpleclient/0.12.0/simpleclient-0.12.0.jar
wget https://search.maven.org/remotecontent?filepath=io/prometheus/simpleclient_common/0.12.0/simpleclient_common-0.12.0.jar
wget https://search.maven.org/remotecontent?filepath=io/prometheus/simpleclient_hotspot/0.12.0/simpleclient_hotspot-0.12.0.jar
wget https://search.maven.org/remotecontent?filepath=io/prometheus/simpleclient_servlet/0.12.0/simpleclient_servlet-0.12.0.jar
wget https://search.maven.org/remotecontent?filepath=io/prometheus/simpleclient_servlet_common/0.12.0/simpleclient_servlet_common-0.12.0.jar
wget https://search.maven.org/remotecontent?filepath=nl/nlighten/tomcat_exporter_client/0.0.15/tomcat_exporter_client-0.0.15.jar
wget https://search.maven.org/remotecontent?filepath=nl/nlighten/tomcat_exporter_servlet/0.0.15/tomcat_exporter_servlet-0.0.15.war

當然也可以一次性全部下載

git clone https://github.com/littlefun91/tomcat-exporter.git

在這里插入圖片描述

在這里插入圖片描述

3、將jar包和war包分別拷貝至對應(yīng)的目錄下

[root@jingtian03 tomcat_exporter ]#cp *.jar /usr/share/tomcat/lib/
[root@jingtian03 tomcat_exporter ]#cp *.war /usr/share/tomcat/webapps/

啟動后,metrics.war自動解壓

在這里插入圖片描述

4、啟動Tomcat

systemctl start tomcat.service

查看運行狀態(tài)

在這里插入圖片描述

5、訪問tomcat的metrics

http://10.10.0.32:8080/metrics/

在這里插入圖片描述

6、配置prometheus

編輯prometheus配置文件,將Tomcat納入監(jiān)控

  - job_name: "tomcat"
    static_configs:
      - targets: ["jingtian03:8080"]

重新加載prometheus配置文件

curl -X POST http://localhost:9090/-/reload

檢查Prometheus的Status->Targets頁面,驗證Tomcat是否已經(jīng)成功納入監(jiān)控中

在這里插入圖片描述

可以看到Tomcat相關(guān)指標

在這里插入圖片描述

二. Tomcat常用指標與示例

對于 Tomcat,我們通常會使用RED 方法,監(jiān)控請求速率(Rate)、請求失敗數(shù)(Errors)、請求延遲(Duration)來評估當前服務(wù)的質(zhì)量。

1.Tomcat連接相關(guān)指標

在這里插入圖片描述

最大連接數(shù)可以修改

在這里插入圖片描述

在/usr/share/tomcat/conf/server.xml中修改

在這里插入圖片描述

在這里插入圖片描述

重啟tomcat,再看下

在這里插入圖片描述

案例:計算Tomcat的最大活動連接數(shù)的飽和度,計算公式:當前活躍連接數(shù)/ 最大活躍連接數(shù) * 100

tomcat_connections_active_total / tomcat_connections_active_max * 100

在這里插入圖片描述

2. Tomcat請求相關(guān)指標

在這里插入圖片描述

在這里插入圖片描述

tomcat_requestprocessor_time_seconds Tomcat服務(wù)器處理請求所花費的總時間(單位是秒)雖然顯示是gauge類型指標,但它的值卻是不斷累加的

在這里插入圖片描述

案例1:計算Tomcat最近5分鐘,Http請求的錯誤率占比Http請求總數(shù)的比率。計算公式: 每5分鐘的錯誤請求數(shù) / 每5分鐘的總請求數(shù) * 100

rate(tomcat_requestprocessor_error_count_total[5m]) / rate(tomcat_requestprocessor_request_count_total[5m]) * 100

案例2:計算Tomcat最近5分鐘,處理每個請求所需要花費的時間。
這個本來標注的是gauge類型的數(shù)據(jù),但是其值是一直在增大的,因此可以使用irate()來求最近5分鐘內(nèi),每個請求所花費的時間

irate(tomcat_requestprocessor_time_seconds[5m])

在這里插入圖片描述

3.Tomcat會話相關(guān)指標

在這里插入圖片描述

在這里插入圖片描述

案例1:計算Tomcat創(chuàng)建會話的速率。

sum (rate(tomcat_session_created_total[5m])) by (instance,job,host)

案例2:計算被拒絕創(chuàng)建的會話占總創(chuàng)建會話的比率。計算公式:( 拒絕的會話數(shù) / (創(chuàng)建的會話數(shù) + 拒絕會話數(shù)) * 100 )

(tomcat_session_rejected_total / ( tomcat_session_created_total + tomcat_session_rejected_total )) * 100

4.Tomcat線程相關(guān)指標

在這里插入圖片描述

允許的最大線程數(shù),也是可以配置的

在這里插入圖片描述

默認是200

在這里插入圖片描述

案例1:計算Tomcat活躍的請求線程數(shù)占總請求的線程數(shù)比率。計算公式:當前活躍線程數(shù) / 最大的線程數(shù) * 100

(tomcat_threads_active_total / tomcat_threads_max) * 100

三. Tomcat告警規(guī)則文件

1、具體告警規(guī)則示例文件(可以根據(jù)公司實際情況進行調(diào)整)

cat /etc/prometheus/rules/tomcat_rules.yml
groups:
- name: tomcat告警規(guī)則
  rules:
  - alert: Tomcat活躍連接數(shù)過高
    expr: tomcat_connections_active_total / tomcat_connections_active_max* 100 >=80
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "Tomcat服務(wù)器活躍連接數(shù)過高, 實例:{{ $labels.instance }}"
      description:
        Tomcat最大連接數(shù)是 {{ printf `tomcat_connections_active_max{instance="%s",job="%s",name="%s"}` $labels.instance $labels.job $labels.name | query | first | value }} Tomcat目前連接數(shù)是 {{ printf `tomcat_connections_active_total{instance="%s",job="%s",name="%s"}` $labels.instance $labels.job $labels.name | query | first | value }} Tomcat活躍連接數(shù)已超過最大活躍連接數(shù)的80%, 當前值為 {{ $value }}%
  - alert: Tomcat處理請求超過5秒
    expr: rate(tomcat_requestprocessor_time_seconds[5m]) > 5
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "Tomcat處理請求時間過長, 實例:{{ $labels.instance }}"
      description: "Tomcat在過去5分鐘的平均處理請求時間超過5秒,當前值 {{ $value}}。"
  - alert: "Tomcat會話拒絕率超過20%"
    expr: (tomcat_session_rejected_total / (tomcat_session_created_total +tomcat_session_rejected_total)) * 100 > 20
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "Tomcat會話拒絕率過高, 實例:{{ $labels.instance }}"
      description: "Tomcat在Host:{{ $labels.host }} 的 {{ $labels.context}} 的上下文中的會話拒絕率超過20%,當前值 {{ $value }}。"

  - alert: "Tomcat線程使用率過高"
    expr: (tomcat_threads_active_total / tomcat_threads_max) * 100 > 80
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "Tomcat線程使?率過?, 實例:{{ $labels.instance }}"
      description: Tmcat最大線程數(shù)是 {{ printf `tomcat_threads_max{instance="%s",job="%s",name="%s"}` $labels.instance $labels.job $labels.name | query | first| value }} Tomcat目前線程數(shù)是 {{ printf `tomcat_threads_active_total{instance="%s",job="%s",name="%s"}` $labels.instance $labels.job $labels.name | query | first | value }} Tomcat線程數(shù)已超過最大活躍連接數(shù)的80%, 當前值為 {{ $value }}%

2、驗證告警規(guī)則

在這里插入圖片描述

3、導(dǎo)入Tomcat圖形

1、下載對應(yīng)的dashboard
https://github.com/nlighten/tomcat_exporter/blob/master/dashboard/example.json
下載下來導(dǎo)入

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

以上就是通過prometheus監(jiān)控Tomcat運行狀態(tài)的操作流程的詳細內(nèi)容,更多關(guān)于prometheus監(jiān)控Tomcat運行狀態(tài)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Tomcat部署SpringBoot項目的war包的方法及詳細步驟

    Tomcat部署SpringBoot項目的war包的方法及詳細步驟

    這篇文章主要介紹了Tomcat部署SpringBoot項目的war包的方法,本文分步驟結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • liunx下centos7中tomcat報錯訪問域名超時的問題解決

    liunx下centos7中tomcat報錯訪問域名超時的問題解決

    本文主要介紹了liunx下centos7中tomcat報錯訪問域名超時,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 解決Tomcat啟動報錯:嚴重:Unable?to?process?Jar?entry?[META-INF/versions/9/module-info.class]

    解決Tomcat啟動報錯:嚴重:Unable?to?process?Jar?entry?[META-INF/v

    這篇文章主要介紹了解決Tomcat啟動報錯:嚴重:Unable?to?process?Jar?entry?[META-INF/versions/9/module-info.class]問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Tomca啟動閃退問題解決(八大類)

    Tomca啟動閃退問題解決(八大類)

    本文主要介紹了Tomca啟動閃退問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Tomcat啟動springboot項目war包報錯:啟動子級時出錯的問題

    Tomcat啟動springboot項目war包報錯:啟動子級時出錯的問題

    這篇文章主要介紹了Tomcat啟動springboot項目war包報錯:啟動子級時出錯的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 簡單記錄Cent OS服務(wù)器配置JDK+Tomcat+MySQL

    簡單記錄Cent OS服務(wù)器配置JDK+Tomcat+MySQL

    這篇文章主要介紹了簡單記錄Cent OS服務(wù)器配置JDK+Tomcat+MySQL,需要的朋友可以參考下
    2014-12-12
  • Linux部署Tomcat發(fā)布項目過程中各種問題及解決方法

    Linux部署Tomcat發(fā)布項目過程中各種問題及解決方法

    這篇文章主要介紹了解決Linux部署Tomcat發(fā)布項目過程中各種問題,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Tomcat啟動失敗的問題排查與解決

    Tomcat啟動失敗的問題排查與解決

    最近在工作中遇到一個問題,在發(fā)布失敗的機器上Tomcat一直沒有啟動成功,所以只能想辦法排查解決,下面這篇文章就介紹了在Tomcat啟動時可能遇到的問題排查與解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • 詳解Tomcat集群如何同步會話

    詳解Tomcat集群如何同步會話

    本篇文章主要介紹了Tomcat集群如何同步會話,Tocmat集群中最重要的交換信息就是會話消息,有興趣的同學(xué)可以了解一下。
    2017-01-01
  • Tomcat實現(xiàn)多域名訪問詳解

    Tomcat實現(xiàn)多域名訪問詳解

    這篇文章主要介紹了Tomcat多域名訪問詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論