在企業的系統平台上運作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
檢視監控狀态及資料查詢示例
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iZ4IWM1QWY1EjZ2IWNhNmN1ETOzMmMhZmN5kDZxI2Y08CX0AzLcZDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLzM3Lc9CX6MHc0RHaiojIsJye.png)
使用grafana展示,模闆可參考
https://grafana.com/dashboards/1860
監控狀态如下圖
配置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
Artifactory-JMX監控展示