Prometheus
大约 2 分钟
建议使用 kube-prometheus,参考Prometheus Operator 与 kube-prometheus
介绍
- Prometheus Server:存储和抓取时间序列数据的主要服务器,且内置的Express Browser UI,通过这个UI可以直接通过PromQL实现数据的查询以及可视化。
- TSDB:指标是任何系统了解其健康状况和运行状态的关键方面。任何系统的设计都需要收集、存储和报告指标,以提供系统的脉搏。数据存储在一系列时间间隔内,需要一个高效的数据库来存储和检索这些数据。OpenTSDB 时序数据库就是这样一种可以满足这种需求的时序数据库。
- PromQL: Prometheus 以 PromQL 的形式定义了一种丰富的查询语言,用于从时序数据库中查询数据。
- Pushgateway:可用于支持短期工作,代理等
- 导出器:它们用于将指标数据提升到普罗米修斯服务器。
- Alertmanager:用于将通知发送到各种通信渠道,如 Slack、Email 以通知用户。
- Exporter: 将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server。分为两类,直接采集:这一类Exporter直接内置了对Prometheus监控的支持,比如cAdvisor,Kubernetes,Etcd,Gokit等。间接采集:间接采集,原有监控目标并不直接支持Prometheus,因此我们需要通过Prometheus提供的Client Library编写该监控目标的监控采集程序。例如: Mysql Exporter,JMX Exporter,Consul Exporter等。
PromQL
待补充
告警
Prometheus Operator
没有Operator的时候,监控逻辑是:export
暴露端口,server端通过pull
的方式去拿取数据,具体拿那个,相应的配置在server端配置.
通常是编辑prometheus.yml
,并在scrape_configs
节点下添加以下内容:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
# 采集node exporter监控数据
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
如果使用Operator
的方式,