9 Docker 监控及图形化管理
9.1 Prometheus 概述
Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金会(CNCF),成为继Kubernetes之后的第二个托管项目。
Prometheus 特点:
-
多维数据模型:由度量名称和键值对标识的时间序列数据
-
PromQL:一种灵活的查询语言,可以利用多维数据完成复杂的查询
-
-
基于HTTP的pull方式采集时间序列数据
-
推送时间序列数据通过PushGateway组件支持
-
通过服务发现或静态配置发现目标
-
多种图形模式及仪表盘支持(grafana)

Prometheus 常见组件
-
Prometheus Server:收集指标和存储时间序列数据,并提供查询接口
-
ClientLibrary:客户端库
-
Push Gateway:短期存储指标数据。主要用于临时性的任务
-
Exporters:采集已有的第三方服务监控指标并暴露metrics
-
Alertmanager:告警
-
Web UI:简单的Web控制台
Prometheus 常见概念
-
实例:可以抓取的目标称为实例(Instances)
-
作业:具有相同目标的实例集合称为作业(Job)
配置文件示例
scrape_configs:
-job_name: 'prometheus'
static_configs:
-targets: ['localhost:9090']
-job_name: 'node'
static_configs:
-targets: ['192.168.1.10:9090']
常用监控服务的区别
-
Zabbix
-
成熟,资料也很多
-
图形化界面友好
-
告警,分级,完善、
-
架构成熟
-
-
Prometheus
-
不是特别友好,各种配置都需要手写
-
对Docker、K8S监控有成熟的解决方案
-
9.2 Prometheus 安装部署
docker run -d --name=prometheus -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

9.3 cAdvisor安装部署
用于收集正在运行的容器资源使用和性能信息。
docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest

9.4 Grafana安装部署
度量分析和可视化系统
docker run -d --name=grafana -p 3000:3000 grafana/grafana

用户名:admin
密码:admin
9.4.1 添加数据源



9.4.2 添加数据模板




9.5 Docker portainer图形化管理
安装
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer



9.6 Docker rancher图形化管理
docker run -d --restart=unless-stopped -p 8091:8080 rancher/server





本文摘抄或总结其他笔记,笔记不涉及任何商业用途,如果侵权请及时联系处理

浙公网安备 33010602011771号