- # 下载grafana镜像
- docker pull grafana/grafana:9.1.8
-
- # 下载promethues镜像
- docker pull prom/prometheus:v2.39.1
- # 创建外部挂载目录
- mkdir -p /docker/prometheus/server
-
- # 进入目录
- cd /docker/prometheus/server
-
- # 创建文件
- touch rules.yml
- touch prometheus.yml
-
- # 修改文件
- vim prometheus.yml
- scrape_configs:
- # prometheus配置
- - job_name: 'prometheus'
- static_configs:
- - targets: ['localhost:9090']
- # 本地启动的Spring Boot项目配置
- - job_name: 'learning-prometheus'
- metrics_path: '/actuator/prometheus'
- static_configs:
- - targets: ['10.95.33.37:8080']
-
- # 启动prometheus
- docker run -d --name prometheus -p 9090:9090 --restart=always \
- -v /docker/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml \
- -v /docker/prometheus/server/rules.yml:/etc/prometheus/rules.yml \
- prom/prometheus:v2.39.1 \
- --config.file=/etc/prometheus/prometheus.yml \
- --web.enable-lifecycle
-
- ------------------------------------------------------------------------------------
- 注:启动时加上
- --web.enable-lifecycle: 启用远程热加载配置文件
- --config.file:启动时加载配置文件
prometheus.yml配置文件中targets:本地启动的Spring Boot项目请求地址
- # 先启动下(一会还要启动一次,这里启动是为了拷贝文件)
- docker run --name=grafana -d -p 3000:3000 -itd grafana/grafana:9.1.8
-
- # 创建外部挂载目录
- mkdir -p /docker/prometheus/grafana
- mkdir -p /docker/prometheus/grafana/data
-
- # 修改配置文件grafana.ini,配置smtp邮件报警信息(报警会用到)
- docker cp grafana:/etc/grafana/grafana.ini /docker/prometheus/grafana/
- docker rm -f grafana
-
- #防止grafana生成文件权限受阻,全开放
- chmod 777 -R /docker/prometheus/
-
- # 正式启动
- docker run -d -p 3000:3000 --name grafana --restart=always \
- -v /docker/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini \
- -v /docker/prometheus/grafana/data:/var/lib/grafana \
- -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
- grafana/grafana:9.1.8
-
- ------------------------------------------------------------------------------------
- 注:-e "GF_SECURITY_ADMIN_PASSWORD=XXXXX"
- 是设置grafana登陆页面的密码,如不添加这条,默认账号密码为admin/admin





点击这里,查看所有官方模版:

1、分析
主要是修改prometheus的配置文件,然后要让promethues加载此配置,使其有效。
2、解决方法
- # 配置修改后,执行这个,就无需重启promethues了
- curl -X POST http://IP:9090/-/reload
-
- # 当重载充公后,prometheus日志会打印类似下面的信息
- ... msg="Loading configuration file" filename=prometheus.yml ...