prometheus架构图

prometheus监控示例

 

 prometheus 各组件介绍

  • Prometheus Server: 使用pull方式采集监控数据,在该组件上配置监控数据的采集和告警规则。
  • Client Library: 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 prometheus server。当 prometheus server 来 pull 时,直接返回实时状态的 metrics。
  • Push Gateway: 主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在prometheus来pull之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。
  • Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
  • Alertmanager: 用于接收promethues发出的告警做进一步处理,对告警进行聚合、下发、抑制等。常见的告警方式有:邮件,钉钉,webhook 等一些其他的工具

安装prometheus

# wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
# tar xzvf prometheus-2.8.1.linux-amd64.tar.gz
# mv prometheus-2.8.1.linux-amd64 /usr/local/promethues

配置文件prometheus.yml

global:  #全局配置
  scrape_interval: 15s  # 收集数据的间隔时间,默认为1m
  scrape_timeout: 10s  #请求接口获取metrics数据的超时时间
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
#alerting:    #告警配置
#  alertmanagers:
#  - static_configs:
#    - targets: ['127.0.0.1:9093']
#rule_files:   #告警规则配置
#  - "rules/*.yml"
scrape_configs:  #配置被监控端
  - job_name: 'prometheus'  
    static_configs:
    - targets: ['localhost:9090']
#  - job_name: 'test-node'
#    file_sd_configs:
#      - files: ['/usr/local/prometheus/sd_config/node.yml']
#        refresh_interval: 5s
#remote_write: #配置远程存储
# [ - <remote_write> ...]
#remote_read:
# [ - <remote_read> ...]

检查配置文件有没有错误:

# ./promtool check config prometheus.yml

重载prometheus配置文件的两种方法:

  • 1,通过HTTP API向/-/reload发送POST请求,例:curl -X POST http://localhost:9090/-/reload (这种方式必须在prometheus启动参数里面加上参数:--web.enable-lifecycle)
  • 2,prometheus进程发送SIGHUP信号 # kill -HUP `pgrep prometheus`

 启动

以守护进程的方式启动:

prometheus监控示例
[Unit]
Description=prometheus
 
[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml

[Install]
WantedBy=multi-user.target
# cat /etc/systemd/system/prometheus.service

相关文章:

  • 2021-09-08
  • 2021-12-21
  • 2021-08-20
猜你喜欢
  • 2022-12-23
  • 2021-11-23
  • 2021-06-03
  • 2021-08-25
  • 2021-08-30
  • 2021-11-30
  • 2021-10-16
相关资源
相似解决方案