文章目录
docker安装Prometheus
1、介绍
Node Exporter :收集服务器硬件和操作系统信息
mysqld-exporter:收集mysql使用情况数据信息
cAdvisor:负责收集服务器运行的docker容器信息
Prometheus Server:普罗米修斯监控的服务器
Grafana:用于展示普罗米修斯监控的图形化界面
备注:所有步骤截图未被成功显示,如需带有截图的文档,可私信
2、安装
2.1、下载镜像包
docker pull prom/node-exporter
docker pull prom/mysqld-exporter
docker pull google/cadvisor
docker pull prom/prometheus
docker pull grafana/grafana
2.2、启动node-exporter
二进制包安装(官方推荐):
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
tar -zxvf node_exporter-0.17.0.linux-amd64.tar.gz
mv node_exporter-0.17.0.linux-amd64 /usr/local/node_exporter
chmod 777 node_exporter
nohup /usr/local/node_exporter/node_exporter &
docker安装:
docker run -d -p 19100:9100 \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /:/rootfs:ro \
prom/node-exporter
访问url:
http://127.0.0.1:19100/metrics
这些都是收集到的数据,用于做宿主机Linux数据展示
2.3、启动mysqld-exporter
启动mysqld-exporter:
docker run -d --name mysqld_exporter -p 19104:9104 -e DATA_SOURCE_NAME="root:qaz123$%^@(127.0.0.1:13306)/" prom/mysqld-exporter
访问url:
http://127.0.0.1:19104/metrics
收集到得数据,用于做MySQL数据库数据展示
2.4、启动cadvisor
启动cadvisor:
docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 18080:8080 -d --name=cadvisor --restart=always google/cadvisor:latest
访问url:
http://127.0.0.1:18080/metrics
这些收集到的数据,用于做Docker容器数据展示
2.5、启动prometheus
新建prometheus目录,并编辑prometheus.yml文件
mkdir /usr/local/prometheus/data
cd /usr/local/prometheus/data
vim prometheus.yml
配置如下内容:
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: [127.0.0.1:19090']
labels:
instance: prometheus
- job_name: node
static_configs:
- targets: ['127.0.0.1:19100']
labels:
instance: node
- job_name: cadvisor
static_configs:
- targets: ['127.0.0.1:18080']
labels:
instance: cadvisor
- job_name: mysqld
static_configs:
- targets: ['127.0.0.1:19104']
labels:
instance: mysqld
- job_name: gateway
metrics_path: '/actuator/gateway/prometheus'
static_configs:
- targets: ['127.0.0.1:80']
labels:
instance: gateway
启动prometheus:
sudo docker run -d -p 19090:9090 --name prom -v /usr/local/prometheus/data:/data prom/prometheus --config.file=/data/prometheus.yml
访问url:
http://127.0.0.1:19090/
访问targets,入口如下:
2.6、启动grafana
创建文件夹并设置权限:
mkdir /usr/local/grafana-storage
chmod 777 -R /usr/local/grafana-storage
启动grafana:
docker run -d \
-p 13000:3000 \
--name=grafana \
-v /usr/local/grafana-storage:/var/lib/grafana \
grafana/grafana
查看端口状态:
netstat -anpt
访问url:
http://127.0.0.1:13000/
账号:admin/admin
跳转到登录页面后,默认的用户名和密码都是admin,第一次登陆可重置密码后进去首页
设置data source:
点击Save & Test按钮,出现绿色提示,说明配置成功
3、导入模板
3.1、docker模板
搜索导入193模板
3.2、springboot模板
搜索导入4701/6756模板
3.3、主机监控
搜索导入9276/8919模板
3.4、mysql模板
搜索导入7362模板
4、附录
4.1、springboot 集成prometheus
4.2、引入依赖
在spring boot工程中引入actuator以及micrometer-registry-prometheus的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
4.3、配置文件
暴露prometheus的接口,暴露metrics.tags,和spring.application.name一致
management:
endpoints:
web:
exposure:
include: 'prometheus'
base-path: /actuator/${spring.application.name}/
metrics:
tags:
application: ${spring.application.name}