Prometheus 支持多种多样的安装方式, 如:
- 自行编译源码
- 预编译好的二进制包
- 基于docker的镜像
- ansible 安装等等
本文主要使用预编译好的二进制包进行安装, 采用的版本为 v2.22.2
1. 环境准备
- 安装环境: CentOS 7
- 下载 Prometheus
# 下载 Prometheus 预编译好的二进制压缩包
wget https://github.com/prometheus/prometheus/releases/download/v2.22.2/prometheus-2.22.2.linux-amd64.tar.gz
# 解压压缩包
tar -zxvf prometheus-2.22.2.linux-amd64.tar.gz
# 重命名为 prometheus
mv prometheus-2.22.2.linux-amd64 prometheus
# 进入目录
cd prometheus
2. 配置 prometheus.yml
# 全局配置
global:
scrape_interval: 15s # 每间隔 15 秒抓取一次指标, 默认是 1 分钟
evaluation_interval: 15s # 每间隔 15 秒根据规则计算一次, 默认是 1 分钟
scrape_timeout: 15s # 抓取节点指标超时时间
# 告警管理配置
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# 初始化时加载一次规则,根据 evaluation_interval ,每间隔一段时间根据规则执行一次计算
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 各个需要抓取 metrics 的端点
# metrics_path 不指定时, 默认是 /metrics
scrape_configs:
# 服务器抓取 metrics 节点
- job_name: 'node'
scrape_interval: 5s
static_configs:
- targets: ['192.168.137.201:9100', '192.168.137.202:9100']
labels:
group: 'test01'
- targets: ['192.168.137.203:9100']
labels:
group: 'test02'
# MySQL 抓取 metrics 节点
- job_name: 'mysql'
scrape_interval: 5s
static_configs:
- targets: ['192.168.137.202:9104']
labels:
group: 'mysql01'
# nginx 抓取 metrics 节点
- job_name: 'nginx'
scrape_interval: 5s
static_configs:
- targets: ['192.168.137.202:9913']
labels:
group: 'nginx01'
# redis 抓取 metrics 节点
- job_name: 'redis_exporter'
scrape_interval: 5s
static_configs:
- targets: ['192.168.137.202:9121']
labels:
group: 'redis01'
# springboot 项目抓取 metrics 节点
- job_name: 'springboot'
scrape_interval: 5s
metrics_path: '/metrics/prometheus'
static_configs:
- targets: ['192.168.137.1:8025']
labels:
group: 'PrivateSpace'
# prometheus 抓取 metrics 节点
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['192.168.137.200:9090']
3. 启动 prometheus
touch nohup.out
nohup ./prometheus --config.file=prometheus.yml &