prometheus概念

官方文档

一、特点


  • 多维数据模型:由度量名称和键值对标识的时间序列数据
  • PromQL:一种灵活的查询语言,可以利用多维数据完成复杂的查询
  • 不依赖分布式存储,单个服务器节点可直接工作
  • 基于HTTP的pull方式采集时间序列数据
  • 推送时间序列数据通过PushGateway组件支持
  • 通过服务发现或静态配置发现目标
  • 多种图形模式及仪表盘支持(grafana)

二、组织与架构

image


  • Prometheus Server:收集指标和存储时间序列数据,并提供查询接口
  • ClientLibrary:客户端库
  • Push Gateway:短期存储指标数据。主要用于临时性的任务
  • Exporters:采集已有的第三方服务监控指标并暴露metrics
  • Alertmanager:告警
  • Web UI:简单的Web控制台

三、部署


参考链接

[root@slave-2 monitor]# tar -xvf prometheus-2.6.1.linux-amd64.tar.gz
[root@slave-2 monitor]# rm -rf prometheus-2.6.1.linux-amd64.tar.gz && mv prometheus-2.6.1.linux-amd64 prometheus

[root@slave-2 prometheus]#  vi /usr/lib/systemd/system/prometheus.service

[Unit]
Description=prometheus
[Service]
ExecStart=/opt/monitor/prometheus/prometheus --config.file=/opt/monitor/prometheus/prometheus.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target

[root@slave-2 prometheus]# systemctl daemon-reload
[root@slave-2 prometheus]# systemctl start prometheus
[root@slave-2 prometheus]# systemctl enable prometheus

http://192.168.2.62:9090/
[root@slave-2 prometheus]# ./prometheus -h
[root@slave-2 prometheus]# ./promtool -h

四、配置文件

参考链接

- 整体配置
global:
  [ scrape_interval: <duration> | default = 1m ]
  [ scrape_timeout: <duration> | default = 10s ]
  [ evaluation_interval: <duration> | default = 1m ]
  external_labels:
    [ <labelname>: <labelvalue> ... ]
  [ query_log_file: <string> ]
rule_files:
  [ - <filepath_glob> ... ]
scrape_configs:
  [ - <scrape_config> ... ]
alerting:
  alert_relabel_configs:
    [ - <relabel_config> ... ]
  alertmanagers:
    [ - <alertmanager_config> ... ]
remote_write:
  [ - <remote_write> ... ]
remote_read:
  [ - <remote_read> ... ]
storage:
  [ - <exemplars> ... ]  
- 被监控端配置scrape_configs
job_name: <job_name>
[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]
[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]
[ metrics_path: <path> | default = /metrics ]
[ scheme: <scheme> | default = http ]
basic_auth:
  [ username: <string> ]
  [ password: <secret> ]
  [ password_file: <string> ]
static_configs:
  [ - <static_config> ... ]
file_sd_configs:
  [ - <file_sd_config> ... ]
kubernetes_sd_configs:
  [ - <kubernetes_sd_config> ... ]
consul_sd_configs:
  [ - <consul_sd_config> ... ]
tls_config:
  [ <tls_config> ]
relabel_configs:
  [ - <relabel_config> ... ]
metric_relabel_configs:
  [ - <relabel_config> ... ]
- 常用服务发现
  • file_sd_config
  • consul_sd_config
  • kubernetes_sd_config

五、监控指标数据模型

  • Prometheus将所有数据存储为时间序列;
  • 具有相同度量名称以及标签属于同一个指标;
  • 每个时间序列都由度量标准名称和一组键值对(称为标签)唯一标识,通过标签查询指定指标。

image

posted @ 2022-02-26 11:05  曾某某scau  阅读(61)  评论(0编辑  收藏  举报