系统监控Prometheus安装和基本配置

Prometheus是一套开源的系统监控和报警框架,灵感源自Google的Borgmon监控系统。2012年,SoundCloud的Google前员工创造了Prometheus,并作为社区开源项目进行开发。2015年,该项目正式发布。2016年,Prometheus加入云原生计算基金会(Cloud Native Computing Foundation),成为受欢迎度仅次于Kubernetes的项目。

Prometheus具有以下特性

  • 多维的数据模型(基于时间序列的Key、Value键值对)
  • 灵活的查询和聚合语言PromQL
  • 提供本地存储和分布式存储
  • 通过基于HTTP的Pull模型采集时间序列数据
  • 可利用Pushgateway(Prometheus的可选中间件)实现Push模式
  • 可通过动态服务发现或静态配置发现目标机器
  • 支持多种图表和数据大盘

安装Prometheus

我们在Centos7 上安装Prometheus

创建账户

  1. > groupadd prometheus
  2. > useradd -g prometheus -M -s /sbin/nologin prometheus

下载prometheus

  1. > wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz

解压并安装 prometheus 服务

  1. > tar -xzvf prometheus-2.28.1.linux-amd64.tar.gz
  2. > mv prometheus-2.28.1.linux-amd64 /usr/local/prometheus
  3. > mkdir /usr/local/prometheus/data
  4. > chown -R prometheus:prometheus /usr/local/prometheus

创建 prometheus 系统服务

  1. > vim /usr/lib/systemd/system/prometheus.service
  2. [Unit]
  3. Description=Prometheus Server
  4. Documentation=https://prometheus.io/docs/introduction/overview/
  5. After=network-online.target
  6. [Service]
  7. User=prometheus
  8. Restart=on-failure
  9. ExecStart=/usr/local/prometheus/prometheus \
  10. --config.file=/usr/local/prometheus/prometheus.yml \
  11. --storage.tsdb.path=/usr/local/prometheus/data
  12. ExecReload=/bin/kill -HUP $MAINPID
  13. [Install]
  14. WantedBy=multi-user.target

prometheus 配置

  1. > vim /usr/local/prometheus/prometheus.yaml
  2. global:
  3. scrape_interval: 15s
  4. evaluation_interval: 15s
  5. alerting:
  6. alertmanagers:
  7. - static_configs:
  8. - targets: ["localhost:9093"]
  9. rule_files:
  10. #- "alert.rules"
  11. scrape_configs:
  12. - job_name: 'prometheus'
  13. scrape_interval: 5s
  14. static_configs:
  15. - targets: ['localhost:9090']
  16. - job_name: 'node'
  17. scrape_interval: 10s
  18. static_configs:
  19. - targets: ['localhost:9100']

启动服务

  1. > systemctl daemon-reload
  2. > systemctl start prometheus.service
  3. > systemctl enable prometheus.service
  4. > systemctl status prometheus.service

Prometheus 服务支持热加载配置

  1. > systemctl reload prometheus.service

访问http://ip:9090

图片alt

返回笔记列表
入门小站