Docker-Prometheus
一、监控
1.1 监控的意义
- 及时的发现问题,提醒工程师尽快的去解决问题,减少公司的损失。
- 提升了产品的品质,增强了用户的信任。
监控(monitor): 监视我们的服务器或者服务,一旦出现问题,要告诉我们(告警),运维人员及时去处理,将公司的损失减少到最小。
监控: 在公司里非常重要,任何公司都重视,还需要监控
背后: 收集数据,分析数据,可以提前预知一些问题,及时处理
1.2 监控的工具 – prometheus
官方网站:https://prometheus.io/
架构 – 组件
1、Prometheus server:
TSDB:
time series database --> 时间序列的数据库 --》 hdd/sdd
PromQL:prometheus的query language – prometheus 时序数据库里的查询语言
hdd:机械磁盘 – hard disk drive
ssd:固态磁盘 – solid state drive
HTTP server:
web服务–》Prometheus web UI 网页用户界面
Retrieval:
主动拿取被监控机器的数据给prometheus server
2、exporters
在被监控的服务器上安装exporter 。
exporter : 是prometheus的客户端程序,需要安装到被监控的服务器上。exporter是一个程序,需要去定制,但是prometheus平台给我们开发了很多通用的或者定制的exporter。
exporter会到客户机(被监控的服务器上)收集指定的指标数据,例如:cpu的使用率,内存的使用率,磁盘的使用情况,网络的带宽使用情况等等数据。
cpu,内存,磁盘,网络带宽–》通用常规的指标。
nginx,MySQL,redis软件的内部的数据—》定制的exporter。
3、Pushgateway:
中间的服务器 – 中间临时存放时间的地方
短时间运行的程序可以主动将自己的数据push到pushgateway里存放,然后prometheus server到pushgateway去拉数据
4、Altermanager:
设置监控告警通知软件
Grafana
是一个图形展示的软件
到prometheus的时序数据库里拿数据,然后展示图形
1.3 docker安装prometheus
容器安装:
docker run -d -p 9090:9090 --name sc-prom-1 prom/prometheus
访问prometheus
1.4 prometheus源码安装
最新版:https://github.com/prometheus/prometheus/releases/download/v2.38.0/prometheus-2.38.0.linux-amd64.tar.gz
本文用2.34版本安装测试~
一台普罗米修斯可以同时监控上万台机器
1、下载源码包到linux服务器中