1-Prometheus概述及安装
Prometheus 概述
Prometheus是一个优秀的监控工具,非常适合监控容器。
Prometheus server:用于收集和存储时间序列数据。
Exporter:采集插件,负责收集目标(host、container等)的性能数据,并通过HTTP接口供Prometheus server获取。prometheus sercer通过pull的方式拉取
Pushgateway:各个目标主机可上报数据到pushgateway。Push gateway通过push的方式推送给prometheus sercer。本身也是一个http服务器,一般通过写脚本抓自己想要的数据,自定义一个监控数据,然后推送到pushgateway,然后pushgateway再推送到prometheus。
Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警。
Grafana:监控仪表盘,可视化监控数据。
service Discovery:服务发现。
Retrieval:负责在活跃的target主机上抓取监控指标数据。
Storage:存储主要是把采集到的数据存储到磁盘中。
PromQL:是Prometheus提供的查询语言模块。。
Prometheus工作方式
- Prometheus定期从目标主机上获取数据,目标主机的监控数据可通过配置静态job或者服务发现的方式被prometheus采集到,这种方式默认的pull方式拉取指标;也可通过pushgateway把采集的数据上报到prometheus中;还可通过一些组件自带的exporter采集相应组件的数据。
- Prometheus把采集到的监控指标数据保存到本地磁盘或者数据库。
- Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到alertmanager。
- Prometheus 自带的web ui界面提供PromQL查询语言,可查询监控数据。
- Grafana可接入prometheus数据源,把监控数据以图形化形式展示出。
Prometheus安装部署
Prometheus有两种部署方式,二进制文件部署与容器化部署。
容器化部署
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
二进制文件部署
从Prometheus官网下载对应安装包
1 | tar xzf prometheus-2.39.1.linux-amd64.tar.gz -C /usr/local/ |
通过localhost:9090即可进行访问。再次界面可以查询Prometheus收集上来的数据。
主机数据展示
localhost:9090/metrics
中可以查看到Prometheus server的监控指标数据。