prometheus+容器安装
采集-存储-展示-通知
开源方案
prometheus 使用时序数据库,在容器微服务领域应用,key-value多维度保存数据,数据查询语句强大,支持图形界面grafana,go语言开发
open-falcon 小米
Nightingale 夜莺 滴滴基于open-falcon二次开发
https://prometheus.io/docs/instrumenting/exporters/
服务 端口 是否有web界面 作用 prometheus 9090 有 作为监控主服务器,拉取并存储时序数据 node-exporter 9100 有 收集内核公开的硬件和操作系统指标 grafana 3000 有 数据展示可视化 cadvisor 9595 有 收集宿主机上运行的所有容器的性能数据
#容器运行
1,
docker pull prom/prometheus
docker run -p 9090:9090 -d --name prometheus2021 prom/prometheus
docker cp 1cb9582dce83:/etc/prometheus/prometheus.yml .
2,
docker pull prom/node-exporter
docker run -d --name node-exporter2021 -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --net="host" prom/node-exporter
http://192.168.192.181:9100/metrics
scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['192.168.192.181:9090'] labels: instance: prometheus - job_name: 'ubuntu1' static_configs: - targets: ['192.168.192.181:9100'] labels: instance: ubuntu1
docker run -p 9090:9090 -v /root/prometheus.yml:/etc/prometheus/prometheus.yml -d --name prometheus2021 prom/prometheus
192.168.192.181:9090/targets
3,
docker pull grafana/grafana
docker run -d --name=grafana2021 -p 3000:3000 -v /root/grafana:/var/lib/grafana grafana/grafana
192.168.192.181:3000/login
配置模板
可在官网搜索一个模板
https://grafana.com/grafana/dashboards?dataSource=prometheus
选择8919这个模板
https://grafana.com/grafana/dashboards/8919
4,cadvisor安装
docker pull google/cadvisor
docker load -i cadvisor-v0.39.2.tar.gz
gcr.io/cadvisor/cadvisor:v0.39.2 #购买香港云服务器2c2G或以上配置 拉取后下载到本地
root@yisu-61b753477dea7:~# docker pull gcr.io/cadvisor/cadvisor:v0.39.2 v0.39.2: Pulling from cadvisor/cadvisor 339de151aab4: Already exists ee94623f4d1c: Pull complete 14c73469ff87: Pull complete 2df22c6b8a64: Pull complete 8661234b1461: Pull complete Digest: sha256:77d1df2341c420adde2282ec06b281d704d3f73e4fe9d56c5120c05353758d03 Status: Downloaded newer image for gcr.io/cadvisor/cadvisor:v0.39.2 gcr.io/cadvisor/cadvisor:v0.39.2
root@master001:/apps# docker tag gcr.io/cadvisor/cadvisor:v0.39.2 gexuchuan123/cadvisor:v0.39.2 root@master001:/apps# docker push gexuchuan123/cadvisor:v0.39.2
docker run -d \ --name=cadvisor2021 \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/cgroup:/cgroup:ro \ --publish=9595:8080 \ --detach=true \ --privileged=true \ google/cadvisor
192.168.192.181:9595
192.168.192.181:9595/metrics
- job_name: "docker-prometheus" static_configs: - targets: ["192.168.192.151:8080","192.168.192.152:8080","192.168.192.153:8080"]
395