在企業的系統平臺上運行artifactory可能天天有上百萬個製品在不斷流轉,隨着研發團隊不斷擴大,用戶慢慢增多,併發量也相應的逐漸增大,在保證高可用的同時,咱們對artifactory所在系統及應用服務進行監控會顯得尤爲重要。那麼如何實現系統及應用的監控呢?java
這篇文章描述如何經過prometheus、grafana實現對Artifactory的基礎系統及應用JVM監控。
1、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.1node
添加爲系統服務
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.targetlinux
啓動並加入開機自啓
systemctl start prometheus-server
systemctl enable prometheus-servervim
訪問
http://ip:9090tomcat
2、Prometheus Node端部署
下載安裝包並解壓(以版本0.18.1爲例)
cd /opt/monitor/prometheus
unzip prometheus.zip ./
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
[Unit]
Description=prometheus-node
After=network.targetmaven
[Service]
Type=simple
User=root
ExecStart=/opt/monitor/prometheus/node_exporter-0.18.1/node_exporter
Restart=on-failurespa
[Install]
WantedBy=multi-user.targetrest
啓動並加入開機自啓
systemctl start prometheus-node
systemctl enable prometheus-nodeserver
3、Grafana部署
下載安裝包並安裝(以6.2.5.1爲例)
wget https://dl.grafana.com/oss/re...
yum localinstall grafana-6.2.5-1.x86_64.rpm -y
啓動
systemctl start/stop/restart/enable grafana-server
訪問
http://IP:3000
默認用戶名/密碼:admin/admin
4、配置Artifactory節點系統監控
配置prometheus
在Artifactory各個節點安裝好Prometheus Node後,修改/opt/monitor/prometheus-2.11.1/prometheus.yml,添加:
重啓prometheus-server
systemctl restart prometheus-server
查看監控狀態及數據查詢示例
使用grafana展現,模板可參考
https://grafana.com/dashboard...
監控狀態以下圖
5、配置Artifactory節點JVM監控
下載jmx_prometheus_javaagent-0.12.0.jar
下載地址參考:https://repo1.maven.org/maven...
Jar包路徑:/opt/monitor/prometueus/jmx_prometheus_javaagent-0.12.0.jar
添加配置文件
lowercaseOutputLabelNames: true
lowercaseOutputName: true
rules:
修改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,添加:
重啓Prometheus Server
在Grafana上展現監控信息
可參考模板:https://grafana.com/dashboard...
根據實際狀況自定義修改模板配置
如:點擊dashbord設置,修改$job的value爲Artifactory-jmx
Artifactory-JMX監控展現