prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。
一、架构图
二、部署
1. Prometheus Server端部署
1、解压安装包:(各组件最新版下载地址:
https://prometheus.io/download/)
1 mkdir /opt/monitor;cd /opt/monitor 2 unzip prometheus.zip ./ 3 tar zxf prometheus-2.11.1.linux-amd64.tar.gz 4 mv prometheus-2.11.1.linux-amd64 prometheus-2.11.1
2、添加为系统服务
1 vim /usr/lib/systemd/system/prometheus-server.service 2 3 [Unit] 4 Description=prometheus-server 5 After=network.target 6 7 [Service] 8 Type=simple 9 User=root 10 ExecStart=/opt/monitor/prometheus/prometheus-2.11.1/prometheus --config.file=/opt/monitor/prometheus/prometheus-2.11.1/prometheus.yml 11 Restart=on-failure 12 13 [Install] 14 WantedBy=multi-user.target
3、启动并加入开机自启
1 systemctl start prometheus-server 2 systemctl enable prometheus-server
4、访问地址
2. Prometheus Node端部署
1、将压缩包上传至需要监控的Artifactory服务器节点,并解压
1 cd /opt/monitor/prometheus 2 unzip prometheus.zip ./ 3 tar zxf node_exporter-0.18.1.linux-amd64.tar.gz 4 mv node_exporter-0.18.1.linux-amd64 node_exporter-0.18.1
2、添加为系统服务:
1 vim /usr/lib/systemd/system/prometheus-node.service 2 3 [Unit] 4 Description=prometheus-node 5 After=network.target 6 7 [Service] 8 Type=simple 9 User=root 10 ExecStart=/opt/monitor/prometheus/node_exporter-0.18.1/node_exporter 11 Restart=on-failure 12 13 [Install] 14 WantedBy=multi-user.target
3、启动并加入开机自启(默认启动端口:9100)
1 systemctl start prometheus-node 2 systemctl enable prometheus-node
3. Grafana安装
1、 安装
1 wget https://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm 2 yum localinstall grafana-6.2.5-1.x86_64.rpm -y
2、 启动/停止/重启/开机自启
1 systemctl start/stop/restart/enable grafana-server
3、 访问
http://IP:3000
默认用户名/密码:admin/admin
1 ------------------------------------- 2 温馨提示: 3 忘记管理员密码: 4 找到grafana.db文件,一般在/var/lib/grafana/grafana.db 5 find / -name "grafana.db" 6 7 打开数据库 8 sqlite3 /var/lib/grafana/grafana.db 9 10 重置admin用户的密码为默认admin 11 update user set password = '59acf18b94d7eb0694c61e60ce44c110c7a683ac6a8f09580d626f90f4a242000746579358d77dd9e570e83fa24faa88a8a6', salt = 'F3FAxVm33R' where login = 'admin'; 12 13 重启grafana 14 -------------------------------------
三、监控
1. 配置Artifactorty节点系统监控
1、 在Artifactory各个节点安装好Prometheus Node后,修改/opt/monitor/prometheus-2.11.1/prometheus.yml,添加:
1 - job_name: 'artifactory' 2 static_configs: 3 - targets: ['IP1:9100','IP2:9100']
2、重启prometheus-server
1 systemctl restart prometheus-server
3、查看监控状态及数据查询示例
5、导入模板
6、Artifactory节点系统监控展示
2. 配置Artifactorty JVM监控
1、下载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
2、添加配置文件
1 vim /opt/monitor/prometheus/jmx_config.yaml 2 3 --- 4 lowercaseOutputLabelNames: true 5 lowercaseOutputName: true 6 7 rules: 8 - pattern: ".*"
3、修改Artifactory tomcat配置文件
1 vim $ARTIFACTORY_HOME/tomcat/bin/catalina.sh 2 添加: 3 JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/monitor/prometheus/jmx_prometheus_javaagent-0.12.0.jar=30013:/opt/monitor/prometheus/jmx_config.yaml"
4、重启Artifactory
5、修改/opt/monitor/prometheus/prometheus-2.11.1/prometheus.yml,添加:
1 - job_name: 'Artifactory-jmx' 2 static_configs: 3 - targets: ['IP1:30013','IP2:30013']
6、重启prometheus-server
7、使用grafana展示,导入模板jvm-dashboard_rev17.json
模板下载地址:
8、简单修改模板配置
点击dashbord设置,修改$job的value为Artifactory-jmx
9、Artifactory-JMX监控展示
10、自定义artifactory指标监控
示例:添加监控存储库总大小(org_jfrog_artifactory_artifactory_artifactstotalsize)
在grafana dashboard设置-->Variables中,添加如下内容:
Name:prop
Query:label_values(org_jfrog_artifactory_artifactory_artifactstotalsize{job="$job", instance="$instance"}, prop)
Add panel
修改自定义的图表展现形式
完成!
1 ----------------------------------- 2 温馨提示: 3 如果导入模板后无数据,需要填写正确的prometheus metric 4 比如编辑Query: 5 os_available_processors{job="$job",instance="$instance"} 6 改为prometheus metric中命名的即可 7 java_lang_operatingsystem_availableprocessors{job="$job",instance="$instance"} 8 -----------------------------------