中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

好看的 網(wǎng)站正在建設(shè)中源碼福州短視頻seo網(wǎng)站

好看的 網(wǎng)站正在建設(shè)中源碼,福州短視頻seo網(wǎng)站,wordpress 好用插件推薦,西安西部數(shù)碼備案網(wǎng)站前言 大家好,我是沐風(fēng)曉月,今天我們又來探討一款使用prometheus監(jiān)控tomcat的另外一種形式:Java agent模式。 如果你想使用http server模式,請參考:【云原生】prometheus結(jié)合jmx exporter 的http server模式采集tomca…

前言

大家好,我是沐風(fēng)曉月,今天我們又來探討一款使用prometheus監(jiān)控tomcat的另外一種形式:Java agent模式。

如果你想使用http server模式,請參考:【云原生】prometheus結(jié)合jmx exporter 的http server模式采集tomcat監(jiān)控實戰(zhàn)

本文中的是prometheus已經(jīng)安裝好,如果你還未安裝,可以參考上一篇文章:prometheus安裝及使用入門

文章目錄

  • 前言
  • 一. 實驗環(huán)境
  • 二. 安裝tomcat8
    • 2.1 安裝jdk8
    • 2.2 安裝tomcat8.5
      • 2.2.1 下載tomcat8.5二進制安裝包
      • 2.2.2 解壓tomcat8.5二進制安裝包
      • 2.2.3 創(chuàng)建tomcat用戶
      • 2.2.4 修改tomcat8目錄的文件所屬
      • 2.2.5 查看tomcat的幫助
      • 2.2.6 啟動tomcat
      • 2.2.7 查看啟動情況
  • 三、JMX exporter簡介
    • 3.1 什么是jmx exporter?
    • 3.2 下載jmx exporter
    • 3.3 jmx exporter的啟動依賴
  • 四、安裝JMX exporter
    • 4.1 下載jmx exporter
    • 4.2 添加config.yaml文件
    • 4.3 jmx exporter集成到tomcat
    • 4.4 修改jmx exporter的所屬
    • 4.5 重新啟動tomcat
    • 4.6 查看啟動情況
    • 4.7 查看jmx exproter采集的數(shù)據(jù)
  • 五、配置prometheus拉取jmx exporer采集的數(shù)據(jù)
    • 5.1 修改prometheus配置文件
    • 5.2 讓prometheus重新讀取配置文件
  • 六.查看prometheus的監(jiān)控數(shù)據(jù)
    • 6.1 到網(wǎng)頁端查看prometheus監(jiān)控目標
    • 6.2 在prometheus網(wǎng)頁查詢結(jié)果
  • 七、導(dǎo)入grafana模板
    • 7.1 導(dǎo)入模板
    • 7.2 查看模板效果
  • 八、總結(jié)

在這里插入圖片描述

一. 實驗環(huán)境

本次實驗環(huán)境見下表:

操作系統(tǒng)服務(wù)器IPhostname
centos7.910.0.0.7mufengrow7

二. 安裝tomcat8

本次實驗使用tomcat8.5.87版本進行演示。

2.1 安裝jdk8

  1. 為什么要安裝jdk8呢?

我們可以從tomcat官方網(wǎng)站上得知,tomcat8.5版本需要在java7或者更高版本的java環(huán)境中運行。而且現(xiàn)在國內(nèi)普遍都是使用java8的環(huán)境,所以我們的環(huán)境也是安裝java8。

  1. 使用yum命令安裝jdk8

安裝jdk8有兩種方式,一種是到orcale官網(wǎng)上下載官方編譯好的jdk二進制安裝包,另一種是使用yum命令安裝centos7倉庫中的opnjdk8,本次使用的是第二種方式,安裝openjdk8。

[root@mufengrow7 apps]# yum install -y java-1.8.0-openjdk
  1. 查看jdk8版本

查看jdk版本

[root@mufengrow7 apps]# java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-b08)
OpenJDK 64-Bit Server VM (build 25.362-b08, mixed mode)

2.2 安裝tomcat8.5

2.2.1 下載tomcat8.5二進制安裝包

本次安裝的是taomcat8.5,所以我們到tomcat官方下載最新版的tomcat8.5.87的二進制安裝包

#創(chuàng)建tomcat安裝目錄
[root@mufengrow7 ~]# mkdir -p /apps
#進入安裝目錄
[root@mufengrow7 ~]# cd /apps
#使用wget命令下載tomcat8.5.87的二進制安裝包
[root@mufengrow7 apps]# wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.87/bin/apache-tomcat-8.5.87.tar.gz

代碼注釋:

--no-check-certificate:下載文件不驗證安全證書

2.2.2 解壓tomcat8.5二進制安裝包

解壓tomcat8.5.87的二進制安裝包

[root@mufengrow7 apps]# tar zxvf apache-tomcat-8.5.87.tar.gz

代碼注釋:

zxvf:這里可以拆分為z,x,v,f四個選項

z:解壓的文件包含gzip屬性

x:從歸檔中解壓文件

v:列出解壓的文件

f:指定解壓的文件

2.2.3 創(chuàng)建tomcat用戶

在公司的環(huán)境中,不會直接使用root用戶啟動tomcat,所以我們創(chuàng)建一個用戶,用于啟動tomcat

[root@mufengrow7 apps]# useradd www

2.2.4 修改tomcat8目錄的文件所屬

既然要用新創(chuàng)建的www用戶啟動tomcat,那么我們需要將tomcat文件夾和里面的文件的所屬都改為www用戶,避免以后啟動出現(xiàn)權(quán)限拒絕的問題

[root@mufengrow7 apps]# chown -R www.www apache-tomcat-8.5.87

代碼注釋:

-R:遞歸修改屬性

2.2.5 查看tomcat的幫助

對于不熟悉tomcat啟動的朋友來說,我們先查看一下tomcat的幫助文檔,看看tomcat是如何啟動的

#進入到tomcat文件夾下的bin目錄里
[root@mufengrow7 apps]# cd apache-tomcat-8.5.87/bin/#查看幫助
[root@mufengrow7 bin]# ./catalina.sh --help

為了更直觀一些,我們把常用的參數(shù)用表格來展示:

參數(shù)描述
debug以調(diào)試的方式啟動tomcat
run前臺啟動tomcat
start后臺啟動tomcat
stop停止tomcat,在5秒內(nèi)等待進程的結(jié)束
stop -force停止tomcat,如果5秒后進程不結(jié)束就直接把進程kill掉強制結(jié)束進程
configtest檢查server.xml文件的語法
version查看tomcat的信息

2.2.6 啟動tomcat

我們使用www用戶啟動tomcat

[root@mufengrow7 bin]# su - www -c "/apps/apache-tomcat-8.5.87/bin/catalina.sh start"
Using CATALINA_BASE:   /apps/apache-tomcat-8.5.87
Using CATALINA_HOME:   /apps/apache-tomcat-8.5.87
Using CATALINA_TMPDIR: /apps/apache-tomcat-8.5.87/temp
Using JRE_HOME:        /
Using CLASSPATH:       /apps/apache-tomcat-8.5.87/bin/bootstrap.jar:/apps/apache-tomcat-8.5.87/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

2.2.7 查看啟動情況

我們使用ps命令來查看tomcat的進程狀態(tài),使用ss命令來查看tomcat的端口

#使用ps命令來查看tomcat的進行狀態(tài)
#通過查看下面的結(jié)果,我們得知現(xiàn)在的tomcat的確是使用了“www”用戶進行啟動[root@mufengrow7 bin]# ps -ef | grep tomcat | grep -v grep#tomcat的啟動后的默認端口為8080,所以通過命令來查找8080端口確認tomcat的端口是否有啟動
[root@mufengrow7 bin]# ss -tnl | grep 8080
LISTEN     0      100       [::]:8080                  [::]:*

代碼注釋:

  • -e:顯示所有執(zhí)行程序的進程(除會話領(lǐng)導(dǎo)者與終端關(guān)聯(lián)的進程)

  • -f:顯示UID,PPIP,C與STIME欄位

三、JMX exporter簡介

3.1 什么是jmx exporter?

jmx exproter是prometheus官方提供的用于采集JVM數(shù)據(jù)的exporter。
其中jmx exporter有兩種監(jiān)控方式:

第一種:使用Java Agent進行監(jiān)控

該exporter可以集成在java服務(wù)里,并且在啟動后當做java的agent并且暴露出該exporter的端口,prometheus就可以通過HTTP服務(wù)來采集數(shù)據(jù)。

本文就是通過啟動jmx exporter的java agent模式進行采集數(shù)據(jù)。

第二種:使用HTTP Server進行監(jiān)控

這種方式是將exporter作為一個獨立的采集JMX數(shù)據(jù)的HTTP服務(wù)運行,通過HTTP服務(wù)程的方式來采集JVM的數(shù)據(jù)。

使用HTTP Server方式進行監(jiān)控,可以看【云原生】prometheus結(jié)合jmx exporter 的http server模式采集tomcat監(jiān)控實戰(zhàn)

3.2 下載jmx exporter

我們可以從prometheus官方的下載頁面上看到。prometheus官方并沒有提供這個exproter的下載地址。

既然官方的下載網(wǎng)頁沒有提供jmx exporter的下載地址,為什么說這個是prometheus官方提供的用于采集jmx數(shù)據(jù)的exporter呢?

其實,在prometheus官方的下載頁面里,有推薦給我們使用的exporter

點擊進入頁面,找到jmx exporter,點擊連接就可以進入jmx exporter的github頁面

Jmx exporter的github地址為:https://github.com/prometheus/jmx_exporter

3.3 jmx exporter的啟動依賴

通過瀏覽jmx exporter的github頁面我們可以看到j(luò)mx exporter的啟動依賴,通過下圖可以我們可以知道jmx exporter最低可以支持到j(luò)ava6版本。我們服務(wù)器的環(huán)境是安裝了jdk8的所以需要下載的是沒有“_java6”后綴的jar包

四、安裝JMX exporter

4.1 下載jmx exporter

在jmx exporter的github里點擊右方的“Releases”后選擇版本進行下載

我們這次下載最新版本的jmx exporter,進入到“Releases”頁面,找到最新的“1.18.0”版本,選擇“jmx_prometheus_javaagent-0.18.0.jar”進行下載。

#進入到tomcat的bin目錄下
[root@mufengrow7 ~]# cd /apps/apache-tomcat-8.5.87/bin/
#使用weget命令進行下載
[root@mufengrow7 bin]# wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.18.0/jmx_prometheus_javaagent-0.18.0.jar

這里可能會有朋友問到,為什么jmx exporter的jar包要放在這里呢?
原因有兩個:

  1. tomcat使用的jar包基本都是放在這里的,所以我也就下載到這里。

  2. 由于本次演示,只會啟動一個tomcat,放在這里比較好管理,如果有多個tomcat的話,那就把jmx exporter下載到一個公共目錄,供所有的tomcat一起使用。

4.2 添加config.yaml文件

我們在jmx exproter的github頁面的提示中可以看到啟動jmx exporter的時候需要有一個config.yaml的文件,然后在下面也提示了該文件在哪里可以找到范例

接著我們進入到存放config.yaml范例的文件夾

找到tomcat.yaml文件,點擊進去

在看到文件內(nèi)容后將內(nèi)容全部復(fù)制

[root@mufengrow7 bin]# vim config.yaml
---   
lowercaseOutputLabelNames: true
lowercaseOutputName: true
rules:
- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+):'name: tomcat_$3_totallabels:port: "$2"protocol: "$1"help: Tomcat global $3type: 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_totallabels:module: "$1"servlet: "$2"help: Tomcat servlet $3 totaltype: COUNTER
- pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount):'name: tomcat_threadpool_$3labels:port: "$2"protocol: "$1"help: Tomcat threadpool $3type: 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_totallabels:context: "$2"host: "$1"help: Tomcat session $3 totaltype: COUNTER
- pattern: ".*"  #顯示所有的信息

4.3 jmx exporter集成到tomcat

把jmx exporter集成到tomcat里也很簡單,只需要修改啟動腳本,在啟動Tomact時也一起啟動jmx exporter即可。

我們修改tomcat的啟動腳本catalina.sh,內(nèi)容如下:

[root@mufengrow7 bin]# vim catalina.sh
.....
# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
JAVA_OPTS="-javaagent:/apps/apache-tomcat-8.5.87/bin/jmx_prometheus_javaagent-0.18.0.jar=38081:config.yaml" #添加這行內(nèi)容,放哪里都行。建議此處寫絕對路徑
......

代碼注釋:

-javaagent:作為javaagent啟動

=38081:設(shè)置javaagent的端口,可以根據(jù)需求進行修改端口。

:config.yaml:設(shè)置讀取的yaml文件,可以根據(jù)需求修改文件名稱。

4.4 修改jmx exporter的所屬

由于我們是用root用戶將jmx exporter下載和添加config.yaml文件的,而我們啟動tomcat的用戶是www,所以我們需要將這兩個文件所屬修改為www用戶,避免啟動時出現(xiàn)權(quán)限拒絕的問題。

[root@mufengrow7 bin]# chown www.www jmx_prometheus_javaagent-0.18.0.jar config.yaml

4.5 重新啟動tomcat

#關(guān)閉tomcat
[root@mufengrow7 bin]# ./shutdown.sh #啟動tomcat
[root@mufengrow7 bin]# ./catalina.sh startTomcat started.

4.6 查看啟動情況

通過ps命令來查找tomcat啟動時是否集成到“jmx_prometheus_javaagent”,同時通過ss命令查看java agent的端口

#通過ps命令查看
[root@mufengrow7 bin]# ps -ef | grep jmx_prometheus_javaagent | grep -v grep#通過ss命令查看
[root@mufengrow7 bin]# ss -tnl | grep 38081 | grep -v grep
LISTEN     0      3         [::]:38081                 [::]:*

4.7 查看jmx exproter采集的數(shù)據(jù)

  1. 使用命令查看jmx exporter采集的數(shù)據(jù)
[root@mufengrow7 bin]# curl 10.0.0.7:38081/metrics
# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously.
# TYPE jvm_memory_pool_allocated_bytes_total counter
jvm_memory_pool_allocated_bytes_total{pool="Code Cache",} 5475584.0
jvm_memory_pool_allocated_bytes_total{pool="PS Eden Space",} 1.09051904E8
jvm_memory_pool_allocated_bytes_total{pool="PS Old Gen",} 1.3875544E7
jvm_memory_pool_allocated_bytes_total{pool="PS Survivor Space",} 5454976.0
jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 2042872.0
jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 1.86804E7
# HELP jvm_memory_objects_pending_finalization The number of objects waiting in the finalizer queue.
# TYPE jvm_memory_objects_pending_finalization gauge
jvm_memory_objects_pending_finalization 0.0
......
  1. 使用瀏覽器查看jmx exporter采集的數(shù)據(jù)

瀏覽器訪問:

10.0.0.7:38081/metrics

瀏覽器頁面顯示的結(jié)果如下:

在這里插入圖片描述

五、配置prometheus拉取jmx exporer采集的數(shù)據(jù)

5.1 修改prometheus配置文件

修改的方式如圖:

其中job_name、prometheus讀取配置文件的方式、目標的ip和端口都可以根據(jù)需求自行修改。

5.2 讓prometheus重新讀取配置文件

  1. 檢查prometheus配置文件語法
[root@mufengrow7 prometheus]# ./promtool check config prometheus.yml 
Checking prometheus.ymlSUCCESS: prometheus.yml is valid prometheus config file syntax
  1. 重啟prometheus

通過重啟,讓prometheus重新讀取配置文件

[root@mufengrow7 prometheus]# systemctl restart prometheus

六.查看prometheus的監(jiān)控數(shù)據(jù)

6.1 到網(wǎng)頁端查看prometheus監(jiān)控目標

我們到prometheus的網(wǎng)頁端,查看prometheus采集數(shù)據(jù)的目標是否有tomcat,通過下圖,我們知道prometheus已經(jīng)連接上jmx exporter了。

6.2 在prometheus網(wǎng)頁查詢結(jié)果

接下來我們到prometheus的查詢面板查看prometheus有沒有采集到tomcat的數(shù)據(jù)

  • 查看jmx exporter版本

  • 查看JVM信息

七、導(dǎo)入grafana模板

本文中的grafana已經(jīng)安裝好了,如果你還未安裝,可以參考文章:promehtheus整合grafana實現(xiàn)可視化監(jiān)控實戰(zhàn)

7.1 導(dǎo)入模板

grafana推薦模板:8563、8704、8878、3066

以編號8563為例

  • 輸入模板編號,點擊Load

  • 修改job的名稱為prometheus配置文件里的“job_name”,點擊import

7.2 查看模板效果

以下為編號“8563”模板的效果,如果有什么問題可以自行修改。

注意:每個jmx模板需要的config.yaml文件可能有不同,所以我們可以到該模板的網(wǎng)頁查看要求。

八、總結(jié)

prometheus監(jiān)控tomcat的步驟為:

  1. 安裝prometheus

  2. 安裝java8環(huán)境和tomcat

  3. 下載jmx exporter和添加config.yaml并修改tomcat的啟動文件。
    注意:添加的config.yaml文件需要根據(jù)后面的grafana模板的添加而進行修改

  4. 修改prometheus的配置文件,添加tomcat實例,并重新讀取配置文件

  5. 進入prometheus的WEB頁面進行驗證

http://www.risenshineclean.com/news/53147.html

相關(guān)文章:

  • 建站排名教育培訓(xùn)網(wǎng)站
  • 網(wǎng)頁網(wǎng)站免費佛山快速排名seo
  • 白城網(wǎng)站建設(shè)網(wǎng)站制作公司高端
  • 美武漢有什么網(wǎng)站建設(shè)公司好磁力鏈
  • 狐表做網(wǎng)站360優(yōu)化大師最新版
  • 網(wǎng)站建設(shè)的基本流程包括網(wǎng)絡(luò)營銷ppt怎么做
  • 球類網(wǎng)站如何做宣傳推廣搜索怎么選關(guān)鍵詞
  • html簡單網(wǎng)頁代碼下載廣東網(wǎng)站seo
  • 免費做公司電子畫冊的網(wǎng)站怎么優(yōu)化網(wǎng)站
  • wordpress標簽自動生成插件下載北京谷歌seo公司
  • 什么網(wǎng)站可以做海報aso優(yōu)化報價
  • 找網(wǎng)站建設(shè)企業(yè)常德seo招聘
  • 做證券考試的網(wǎng)站電商seo是什么
  • 小說網(wǎng)站制作模板網(wǎng)絡(luò)營銷分析報告
  • 大連網(wǎng)站建設(shè)選網(wǎng)龍建網(wǎng)站
  • 做網(wǎng)站開發(fā) 用的最多的語言手機系統(tǒng)流暢神器
  • 去除wordpress主題底部信息網(wǎng)站seo綜合查詢
  • 建好的網(wǎng)站怎么用橙子建站
  • 營銷型網(wǎng)站建設(shè)的注意事項灰色行業(yè)推廣平臺
  • 如何組建網(wǎng)站開發(fā)團隊亞馬遜alexa
  • php做的網(wǎng)站好么自己搜20條優(yōu)化措施
  • wordpress插件 圖片上傳采集站seo提高收錄
  • php網(wǎng)站源碼怎么在本地測試網(wǎng)站設(shè)計的基本原則
  • 安徽餐飲網(wǎng)站建設(shè)市場監(jiān)督管理局
  • 織夢做響應(yīng)式網(wǎng)站網(wǎng)站收錄查詢工具
  • 服裝網(wǎng)站建設(shè)價格百度瀏覽器官網(wǎng)入口
  • 專門做二手的網(wǎng)站seo是搜索引擎優(yōu)化
  • 青島做網(wǎng)站建設(shè)的公司手機登錄百度pc端入口
  • 南充網(wǎng)站建設(shè)服務(wù)商現(xiàn)在如何進行網(wǎng)上推廣
  • 網(wǎng)站設(shè)建設(shè)表單chatgpt網(wǎng)址