Prometheus 支持多种多样的安装方式, 如:

  • 自行编译源码
  • 预编译好的二进制包
  • 基于docker的镜像
  • ansible 安装等等

本文主要使用预编译好的二进制包进行安装, 采用的版本为 v2.22.2

1. 环境准备

  1. 安装环境: CentOS 7
  2. 下载 Prometheus
    1. # 下载 Prometheus 预编译好的二进制压缩包
    2. wget https://github.com/prometheus/prometheus/releases/download/v2.22.2/prometheus-2.22.2.linux-amd64.tar.gz
    3. # 解压压缩包
    4. tar -zxvf prometheus-2.22.2.linux-amd64.tar.gz
    5. # 重命名为 prometheus
    6. mv prometheus-2.22.2.linux-amd64 prometheus
    7. # 进入目录
    8. cd prometheus

    2. 配置 prometheus.yml

    1. # 全局配置
    2. global:
    3. scrape_interval: 15s # 每间隔 15 秒抓取一次指标, 默认是 1 分钟
    4. evaluation_interval: 15s # 每间隔 15 秒根据规则计算一次, 默认是 1 分钟
    5. scrape_timeout: 15s # 抓取节点指标超时时间
    6. # 告警管理配置
    7. alerting:
    8. alertmanagers:
    9. - static_configs:
    10. - targets:
    11. # - alertmanager:9093
    12. # 初始化时加载一次规则,根据 evaluation_interval ,每间隔一段时间根据规则执行一次计算
    13. rule_files:
    14. # - "first_rules.yml"
    15. # - "second_rules.yml"
    16. # 各个需要抓取 metrics 的端点
    17. # metrics_path 不指定时, 默认是 /metrics
    18. scrape_configs:
    19. # 服务器抓取 metrics 节点
    20. - job_name: 'node'
    21. scrape_interval: 5s
    22. static_configs:
    23. - targets: ['192.168.137.201:9100', '192.168.137.202:9100']
    24. labels:
    25. group: 'test01'
    26. - targets: ['192.168.137.203:9100']
    27. labels:
    28. group: 'test02'
    29. # MySQL 抓取 metrics 节点
    30. - job_name: 'mysql'
    31. scrape_interval: 5s
    32. static_configs:
    33. - targets: ['192.168.137.202:9104']
    34. labels:
    35. group: 'mysql01'
    36. # nginx 抓取 metrics 节点
    37. - job_name: 'nginx'
    38. scrape_interval: 5s
    39. static_configs:
    40. - targets: ['192.168.137.202:9913']
    41. labels:
    42. group: 'nginx01'
    43. # redis 抓取 metrics 节点
    44. - job_name: 'redis_exporter'
    45. scrape_interval: 5s
    46. static_configs:
    47. - targets: ['192.168.137.202:9121']
    48. labels:
    49. group: 'redis01'
    50. # springboot 项目抓取 metrics 节点
    51. - job_name: 'springboot'
    52. scrape_interval: 5s
    53. metrics_path: '/metrics/prometheus'
    54. static_configs:
    55. - targets: ['192.168.137.1:8025']
    56. labels:
    57. group: 'PrivateSpace'
    58. # prometheus 抓取 metrics 节点
    59. - job_name: 'prometheus'
    60. # metrics_path defaults to '/metrics'
    61. # scheme defaults to 'http'.
    62. static_configs:
    63. - targets: ['192.168.137.200:9090']

3. 启动 prometheus

  1. touch nohup.out
  2. nohup ./prometheus --config.file=prometheus.yml &