天天看點

使用Prometheus、Grafana監控Artifactory實踐

在企業的系統平台上運作artifactory可能每天有上百萬個制品在不斷流轉,随着研發團隊不斷擴大,使用者慢慢增多,并發量也相應的逐漸增大,在保證高可用的同時,我們對artifactory所在系統及應用服務進行監控會顯得尤其重要。那麼如何實作系統及應用的監控呢?

這篇文章描述如何通過prometheus、grafana實作對Artifactory的基礎系統及應用JVM監控。

一、 Prometheus Server端部署

· 下載下傳安裝包并解壓(以版本2.11.1為例)

下載下傳位址:https://prometheus.io/download/

mkdir /opt/monitor/prometheus;cd /opt/monitor/prometheus

unzip prometheus.zip ./

tar zxf prometheus-2.11.1.linux-amd64.tar.gz

mv prometheus-2.11.1.linux-amd64 prometheus-2.11.1

· 添加為系統服務

vim /usr/lib/systemd/system/prometheus-server.service

[Unit]

Description=prometheus-server

After=network.target

[Service]

Type=simple

User=root

ExecStart=/opt/monitor/prometheus/prometheus-2.11.1/prometheus --config.file=/opt/monitor/prometheus/prometheus-2.11.1/prometheus.yml

Restart=on-failure

[Install]

WantedBy=multi-user.target

· 啟動并加入開機自啟

systemctl start prometheus-server

systemctl enable prometheus-server

· 通路

http://ip:9090

二、 Prometheus Node端部署

· 下載下傳安裝包并解壓(以版本0.18.1為例)

cd /opt/monitor/prometheus

tar zxf node_exporter-0.18.1.linux-amd64.tar.gz

mv node_exporter-0.18.1.linux-amd64 node_exporter-0.18.1

vim /usr/lib/systemd/system/prometheus-node.service

Description=prometheus-node

ExecStart=/opt/monitor/prometheus/node_exporter-0.18.1/node_exporter

systemctl start prometheus-node

systemctl enable prometheus-node

三、 Grafana部署

· 下載下傳安裝包并安裝(以6.2.5.1為例)

wget https://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm

yum localinstall grafana-6.2.5-1.x86_64.rpm -y

· 啟動

systemctl start/stop/restart/enable grafana-server

http://IP:3000

預設使用者名/密碼:admin/admin

四、 配置Artifactory節點系統監控

· 配置prometheus

在Artifactory各個節點安裝好Prometheus Node後,修改/opt/monitor/prometheus-2.11.1/prometheus.yml,添加:

- job_name: 'artifactory'

      static_configs:

            - targets: ['IP1:9100','IP2:9100']

· 重新開機prometheus-server

systemctl restart prometheus-server

· 檢視監控狀态及資料查詢示例

使用Prometheus、Grafana監控Artifactory實踐

· 使用grafana展示,模闆可參考

https://grafana.com/dashboards/1860

· 監控狀态如下圖

使用Prometheus、Grafana監控Artifactory實踐

五、 配置Artifactory節點JVM監控

· 下載下傳jmx_prometheus_javaagent-0.12.0.jar

下載下傳位址參考:https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar

Jar包路徑:/opt/monitor/prometueus/jmx_prometheus_javaagent-0.12.0.jar

· 添加配置檔案

vim /opt/monitor/prometheus/jmx_config.yaml

---

lowercaseOutputLabelNames: true

lowercaseOutputName: true

rules:

- pattern: ".*"

· 修改Artifactory tomcat配置檔案

vim $ARTIFACTORY_HOME/tomcat/bin/catalina.sh,添加:

JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/monitor/prometheus/jmx_prometheus_javaagent-0.12.0.jar=30013:/opt/monitor/prometheus/jmx_config.yaml"

· 重新開機Artifactory

systemctl restart artifactory

· 修改prometheus配置

修改/opt/monitor/prometheus/prometheus-2.11.1/prometheus.yml,添加:

- job_name: 'Artifactory-jmx'

            - targets: ['IP1:30013','IP2:30013']

· 重新開機Prometheus Server

· 在Grafana上展示監控資訊

可參考模闆:https://grafana.com/dashboards/8563

· 根據實際情況自定義修改模闆配置

如:點選dashbord設定,修改$job的value為Artifactory-jmx

使用Prometheus、Grafana監控Artifactory實踐
使用Prometheus、Grafana監控Artifactory實踐

· Artifactory-JMX監控展示

使用Prometheus、Grafana監控Artifactory實踐
使用Prometheus、Grafana監控Artifactory實踐

繼續閱讀