使用docker-compose搭建Prometheus+Grafana监控

部署环境:华为云服务器、ubuntu、docker-compose2.26.1

一、下载并运行Prometheus

参考该博客 Docker搭建prometheus(普罗米修斯)的方法步骤_docker_脚本之家

步骤比较详细,运行起来没啥问题  

几个坑注意一下

1.

我的场景是监控服务器性能,容器的性能不太关注,所以不太在意cadvisor。

2.搭建完成后,输入ip:3000启动grafana,账密默认是admin/admin,同时可以把界面改为中文

3.问题来了,按照他的步骤,会发现监控数据为空,不贴图了,直接跳到解决办法,输入ip+9090,进入Prometheus并跳转至如下页面。

正常情况下是都能启动(状态为up)的,可能会报错context deadline exceeded

问题1:查了很多资料,在prometheus.yml增加timeout时长、resource等都无用。Prometheus和Agent都在本机,也不存在防火墙的问题。最后是在github上找到思路解决办法。Context deadline exceeded · Issue #1582 · prometheus/prometheus · GitHub

看图,意思是可能是存在网络问题。在云服务器上使用docker部署,容器之间很有可能会存在网络问题。所以安全组需要对本机ip地址也开放,否则会被拦截。

解决:在云服务器安全组中,对本机ip地址授权就行了。重启docker restart prometheus即可监控到数据。

另外有个小坑,grafana配置数据源时,prometheus url不要加metrics,post改为get请求,最后保存并测试一下即可。

最终的效果:

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
答:以下是一个示例的docker-compose.yml文件,用于启动PrometheusGrafana监控一个或多个应用程序: ``` version: '3' services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' restart: always grafana: image: grafana/grafana container_name: grafana depends_on: - prometheus ports: - "3000:3000" environment: GF_SERVER_ROOT_URL: http://localhost:3000 GF_SECURITY_ADMIN_USER: admin GF_SECURITY_ADMIN_PASSWORD: admin volumes: - ./grafana-data:/var/lib/grafana restart: always ``` 在该docker-compose.yml文件中,我们创建了两个服务:prometheusgrafanaPrometheus服务使用Prometheus Docker映像,并将端口映射到9090。它还将/prometheus.yml文件作为挂载卷传递给容器。在启动容器时,我们使用命令行参数来指定/config.file=/etc/prometheus/prometheus.yml。 Grafana服务程序使用Grafana Docker映像,并依赖于prometheus服务。Grafana服务映射端口3000,并将以下环境变量传递给容器:GF_SERVER_ROOT_URL:使用localhost:3000 (在该容器中内部)作为grafana的根URL,GF_SECURITY_ADMIN_USER和GF_SECURITY_ADMIN_PASSWORD管理Grafana管理员的凭据。此服务还挂载了grafana-data目录,以便可以在重启容器时保留所有Grafana的设置。 最后,我们定义了restart: always参数以确保容器在退出时自动重新启动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值