自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JMX Exporter 介紹與實(shí)戰(zhàn)操作(Trino)

開源
使用 JMX Exporter,你可以將你的 Java 應(yīng)用程序的關(guān)鍵性能指標(biāo)導(dǎo)出到 Prometheus,并利用 Prometheus 提供的靈活查詢和警報(bào)功能來監(jiān)控和診斷你的應(yīng)用程序。這有助于及時(shí)發(fā)現(xiàn)和解決問題,確保你的應(yīng)用程序在生產(chǎn)環(huán)境中保持可靠性和穩(wěn)定性。

一、概述

JMX Exporter 是一個(gè)用于將 Java 應(yīng)用程序的 JMX(Java Management Extensions)指標(biāo)導(dǎo)出為 Prometheus 格式的度量數(shù)據(jù)的開源工具。Prometheus 是一種流行的開源監(jiān)控和告警工具,它使用 Pull 模型來收集和存儲(chǔ)度量數(shù)據(jù),而JMX Exporter允許你將 Java 應(yīng)用程序的內(nèi)部性能指標(biāo)導(dǎo)出到Prometheus 中,從而實(shí)現(xiàn)對(duì) Java 應(yīng)用程序的監(jiān)控和警報(bào)。

以下是 JMX Exporter 的一些關(guān)鍵特點(diǎn)和用途:

  • 度量數(shù)據(jù)導(dǎo)出:JMX Exporter 允許你選擇并配置要從 Java 應(yīng)用程序?qū)С龅?nbsp;JMX 指標(biāo)。這些指標(biāo)可以是 JVM 內(nèi)部的性能指標(biāo),也可以是應(yīng)用程序特定的自定義指標(biāo)。
  • Prometheus 格式:JMX Exporter 將導(dǎo)出的 JMX 指標(biāo)轉(zhuǎn)換為 Prometheus 格式的度量數(shù)據(jù)。Prometheus 格式是一個(gè)文本格式,易于閱讀和處理,并且適用于 Prometheus 服務(wù)器的存儲(chǔ)和查詢。
  • 適用于各種 Java 應(yīng)用程序:JMX Exporter 可以用于各種 Java 應(yīng)用程序,包括獨(dú)立的 Java 進(jìn)程、Tomcat、Spring Boot 應(yīng)用程序等。只要你的應(yīng)用程序支持 JMX,就可以使用 JMX Exporter 來導(dǎo)出度量數(shù)據(jù)。
  • 配置靈活性:JMX Exporter 允許你通過配置文件來定義要導(dǎo)出的指標(biāo)和匹配規(guī)則。這使得你可以根據(jù)應(yīng)用程序的需求進(jìn)行高度定制和配置。
  • 支持標(biāo)簽(labels):與 Prometheus 一樣,JMX Exporter 支持標(biāo)簽,這意味著你可以為導(dǎo)出的指標(biāo)添加元數(shù)據(jù),以便更容易進(jìn)行查詢和可視化。
  • 輕量級(jí)和高性能:JMX Exporter 被設(shè)計(jì)為輕量級(jí)和高性能,以最小化對(duì)監(jiān)控的影響。

使用 JMX Exporter,你可以將你的 Java 應(yīng)用程序的關(guān)鍵性能指標(biāo)導(dǎo)出到 Prometheus,并利用 Prometheus 提供的靈活查詢和警報(bào)功能來監(jiān)控和診斷你的應(yīng)用程序。這有助于及時(shí)發(fā)現(xiàn)和解決問題,確保你的應(yīng)用程序在生產(chǎn)環(huán)境中保持可靠性和穩(wěn)定性。

圖片圖片

三、下載 JMX Exporter jar包

JMX Exporter GitHub地址:https://github.com/prometheus/jmx_exporter

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.19.0/jmx_prometheus_javaagent-0.19.0.jar

四、JMX Exporter 實(shí)戰(zhàn)操作(Trino指標(biāo)采集)

1)安裝 Trino

1)安裝 Trino

Trino官方文檔:https://trino.io/docs/current/

這里為了快速部署就選擇docke-compose部署了。

git clone https://gitee.com/hadoop-bigdata/docker-compose-presto.git
cd docker-compose-presto

2)修改配置

#1、下載
mkdir jmx-exporter
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.19.0/jmx_prometheus_javaagent-0.19.0.jar -O jmx-exporter/jmx_prometheus_javaagent-0.19.0.jar
# 需要重新構(gòu)建鏡像,將jar包放在鏡像包里。

#2、創(chuàng)建jmx 配置文件,可以設(shè)置采集規(guī)則,默認(rèn)是采集所有指標(biāo)
touch jmx-exporter/jmx_config.yaml
# 內(nèi)容如下:
rules:
- pattern: ".*"

# 修改配置
vi etc/coordinator/jvm.config
vi etc/worker/jvm.config
# 增加如下內(nèi)存
-javaagent:/opt/apache/trino/lib/jmx_prometheus_javaagent-0.19.0.jar=3900:/opt/apache/trino/etc/jmx_config.yaml

修改編排文件 docker-compose.yaml

version: '3'
services:
  trino-coordinator:
    image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/trino-jmx-exporter:416
    user: "hadoop:hadoop"
    container_name: trino-coordinator
    hostname: trino-coordinator
    restart: always
    privileged: true
    env_file:
      - .env
    volumes:
      - ./etc/coordinator/config.properties:${TRINO_HOME}/etc/config.properties
      - ./etc/coordinator/jvm.config:${TRINO_HOME}/etc/jvm.config
      - ./etc/coordinator/log.properties:${TRINO_HOME}/etc/log.properties
      - ./etc/coordinator/node.properties:${TRINO_HOME}/etc/node.properties
      - ./etc/catalog/:${TRINO_HOME}/etc/catalog/
    ports:
      - "30080:${TRINO_SERVER_PORT}"
      - "30980:${JMX_RMIREGISTRY_PORT}"
      - "30981:${JMX_RMISERVER_PORT}"
      - "3900"
    command: ["sh","-c","/opt/apache/bootstrap.sh trino-coordinator"]
    networks:
      - hadoop-network
    healthcheck:
      test: ["CMD-SHELL", "curl --fail http://localhost:${TRINO_SERVER_PORT}/v1/info || exit 1"]
      interval: 10s
      timeout: 20s
      retries: 3
  trino-worker:
    image: registry.cn-hangzhou.aliyuncs.com/bigdata_cloudnative/trino:416
    user: "hadoop:hadoop"
    restart: always
    privileged: true
    deploy:
      replicas: 1
    env_file:
      - .env
    volumes:
      - ./etc/worker/config.properties:${TRINO_HOME}/etc/config.properties
      - ./etc/worker/jvm.config:${TRINO_HOME}/etc/jvm.config
      - ./etc/worker/log.properties:${TRINO_HOME}/etc/log.properties
      - ./etc/worker/node.properties:${TRINO_HOME}/etc/node.properties
      - ./etc/catalog/:${TRINO_HOME}/etc/catalog/
      - ./jmx-exporter/jmx_config.yaml:${TRINO_HOME}/etc/jmx_config.yaml
      - ./jmx-exporter/jmx_prometheus_javaagent-0.19.0.jar:${TRINO_HOME}/lib/jmx_prometheus_javaagent-0.19.0.jar
    ports:
      - "${TRINO_SERVER_PORT}"
    command: ["sh","-c","/opt/apache/bootstrap.sh trino-worker"]
    networks:
      - hadoop-network
    healthcheck:
      test: ["CMD-SHELL", "curl --fail http://localhost:${TRINO_SERVER_PORT}/v1/info || exit 1"]
      interval: 10s
      timeout: 10s
      retries: 3

# 連接外部網(wǎng)絡(luò)
networks:
  hadoop-network:
    external: true

3)開始執(zhí)行安裝 Trino

docker-compose up -d

# 查看
docker-compose ps

圖片圖片

web訪問,就可以看到采集的數(shù)據(jù)了。

圖片圖片

4)開始配置 Prometheus 采集 Trino JMX 指標(biāo)數(shù)據(jù)

Prometheus 的安裝可以參考我這篇文章:Prometheus on k8s 部署與實(shí)戰(zhàn)操作進(jìn)階篇

1、下載 prometheus 安裝包

#官方下載地址:https://github.com/prometheus-operator/kube-prometheus
#在官方的基礎(chǔ)之上進(jìn)行了修改和增加內(nèi)容
git clone https://gitee.com/hadoop-bigdata/kube-prometheus.git
cd kube-prometheus

2、導(dǎo)入鏡像

鏡像下載日志:

鏈接:https://pan.baidu.com/s/10ksK1OtKwlvZqbExKmZgLw?pwd=bcu6提取碼:bcu6

# 下載完鏡像包,批量分發(fā)到所有k8s節(jié)點(diǎn),解壓進(jìn)入鏡像包目錄,直接執(zhí)行以下命令就可將所有鏡像加載
sh load-images.sh

3、開始安裝 prometheus

kubectl apply --server-side -f manifests/setup
kubectl wait \
	--for cnotallow=Established \
	--all CustomResourceDefinition \
	--namespace=monitoring
kubectl apply -f manifests/

# 查看
kubectl get all -n monitoring

圖片圖片

4、開始配置 Prometheus 采集 Trino JMX 指標(biāo)數(shù)據(jù)

jmx/trino.yaml 文件內(nèi)容如下:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: trino
  namespace: monitoring
  labels:
    app.kubernetes.io/name: trino
spec:
  namespaceSelector:
    matchNames:
    - monitoring
  selector:
    matchLabels:
      app.kubernetes.io/name: trino
  endpoints:
  - port: metrics
    interval: 10s
    path: /

---

apiVersion: v1
kind: Service
metadata:
  name: trino
  namespace: monitoring
  labels:
    app.kubernetes.io/name: trino
spec:
  ports:
    - name: metrics
      port: 3900
      targetPort: 49215
      protocol: TCP
  type: ClusterIP
  clusterIP: None

---

apiVersion: v1
kind: Endpoints
metadata:
  name: trino
  namespace: monitoring
  labels:
    app.kubernetes.io/name: trino
subsets:
  - addresses:
    - ip: 192.168.182.110
    ports:
    - name: metrics
      port: 49215
      protocol: TCP

執(zhí)行

kubectl apply -f trino.yaml
# 查看
kubectl get ServiceMonitor,Service,Endpoints -n monitoring

檢測(cè) Prometheus 上是否已經(jīng)采集 trino jmx

圖片圖片

4、配置 Trino JMX Grafana 監(jiān)控面板

官方模塊下載地址:https://grafana.com/grafana/dashboards/

用的比較多的模板是 https://grafana.com/grafana/dashboards/8563 ,可以直接導(dǎo)入,面板效果圖:

圖片圖片

這里是根據(jù)上面的模板修改了幾個(gè)指標(biāo),小伙伴可以根據(jù)自己需要添加面板

圖片圖片

這里給一份阿里云常用 Trino 監(jiān)控指標(biāo)參考:https://help.aliyun.com/document_detail/474222.html

責(zé)任編輯:武曉燕 來源: 大數(shù)據(jù)與云原生技術(shù)分享
相關(guān)推薦

2023-09-04 00:05:27

JMX管理組件

2023-03-02 07:37:53

2023-03-27 07:43:35

2010-07-01 14:52:42

Linux grep命

2023-08-07 01:25:39

2022-08-30 15:29:51

crictlnerdctl命令

2024-09-03 10:35:31

JMXJava框架

2023-01-26 23:59:24

Ansibleplaybook列表

2021-10-19 08:23:43

JMXJava 管理擴(kuò)展

2023-02-03 08:18:01

2023-08-08 00:11:57

命令行工具查詢

2022-12-13 09:01:50

云原生組件數(shù)據(jù)

2010-04-22 14:11:05

Aix操作系統(tǒng)

2017-08-18 22:40:33

線上線程備份

2022-10-10 12:54:00

Flink運(yùn)維

2022-04-09 14:45:02

微服務(wù)常見概念Spring

2023-12-11 07:27:11

數(shù)據(jù)編排系統(tǒng)Alluxio數(shù)據(jù)平臺(tái)

2009-06-15 15:31:32

Java SE 6 新JMX與系統(tǒng)管理

2023-03-06 07:19:50

2025-01-15 13:46:23

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)