在之前我们有使用Docker 搭建过一些常用的环境,今天我们来搞一个更好玩,听起来就很牛逼的东西—普罗米修斯(prometheus)。
这次我们的搭建方式还是和以前一样使用 docker-compose,首次看到的小伙伴可以去我之前的文章中查看docker环境的搭建。
接下来我们横刀直入,首先还是和惯例一样新建一个prometheus的文件夹,用来存放docker-compose.yml的信息。
docker-compose.yml :
version: '2'
networks:
monitor:
driver: bridge
services:
prometheus:
image: prom/prometheus
container_name: prometheus
hostname: prometheus
restart: always
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
# - ./node_down.yml:/usr/local/etc/node_down.yml:rw
ports:
- "9090:9090"
networks:
- monitor
alertmanager:
image: prom/alertmanager
container_name: alertmanager
hostname: alertmanager
restart: always
# volumes:
# - ./alertmanager.yml:/usr/local/etc/alertmanager.yml
ports:
- "9093:9093"
networks:
- monitor
grafana:
image: grafana/grafana
container_name: grafana
hostname: grafana
restart: always
ports:
- "3000:3000"
networks:
- monitor
node-exporter:
image: quay.io/prometheus/node-exporter
container_name: node-exporter
hostname: node-exporter
restart: always
ports:
- "9100:9100"
networks:
- monitor
cadvisor:
image: google/cadvisor:latest
container_name: cadvisor
hostname: cadvisor
restart: always
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- "8899:8080"
networks:
- monitor
我们对上面的信息稍微的介绍一下,当然有用过prometheus的小伙伴肯定是都知道的了:
- cadvisor 用于获取docker容器的指标
- node-exporter 用户获取服务器的指标
- grafana 监控的web-ui好用的可视化组件
- alertmanager 告警组件
- prometheus 核心监控组件
然后我们需要新建prometheus的配置文件prometheus.yml
( 这份配置其实就是告诉prometheus要去哪个端口中拉取对应的监控数据 )
这里要注意端口,按自己配置的来
prometheus.yml :
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['ip:9090'] ## TODO ip自己写
- job_name: 'cadvisor'
static_configs:
- targets: ['ip:8899'] ## TODO ip自己写
- job_name: 'node'
static_configs:
- targets: ['ip:9100'] ## TODO ip自己写
在这里有很多配置的信息我都忽略没写了,prometheus的功能还是很强大的,对监控想深入了解的可以官网看看文档,或者去B站上有很多相关的学习视频。
随后在目录下docker-compose up -d启动
于是我们就可以分别访问:
- http://ip:9100/metrics( 查看服务器的指标)
- http://ip:8899/metrics(查看docker容器的指标)
- http://ip:9090/(prometheus的原生web-ui)
- http://ip:3000/(Grafana开源的监控可视化组件页面)
搞到最后还是想说:一个docker-compose起了5个服务器,真™好使!
最后一个网址尤为的重要,我们肯定还会经常的用到
下面我们就对 Grafana 这个可视化工具进行配置:
进到Grafana首页,我们首先要配置prometheus作为我们的数据源
进到配置页面,写下对应的URL,然后保存就好了。
配置好数据源之后,我们就可以配置对应的监控信息了,常见的配置监控已经有对应的模板了,就不需要我们一个一个地去配置了。(如果不满足的话,那还是得自己去配)
在这里,我就演示如何使用现有的模板,直接import对应的模板,相关的模板可以在 https://grafana.com/grafana/dashboards/ 这里查到。
我们选择直接服务器的监控也就是:8919
import后就能直接看到高大上的监控页面了
哦吼,搞定搞定!!
当然了,我这个里面没跑任何东西,所有空空如也,但是并不妨碍它看起来高大上。