一、 环境

Debian/Ubuntu

二、 需要安装软件

  1. prometheus

prometheus可以直接从监控目标中或者间接通过推送网关来拉取监控指标,它在本地存储所有抓取到的样本数据,并对此数据执行一系列规则,以汇总和记录现有数据的新时间序列或生成告警。可以通过Grafana 或者其他工具来实现监控数据的可视化。

  1. alertmanager

Prometheus 包含一个报警模块,就是我们的 AlertManager,Alertmanager 主要用于接收 Prometheus发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组等,是一款前卫的告警通知系统。

  1. node-exporter

node-exporter 用于采集服务器层面的运行指标, 包括机器的 loadavg,filesystem,meminfo 等基础监控, 类似于传统主机监控维度的 zabbix-agent. node-export 由 prometheus 官方提供, 维护, 不会捆绑安装,但基本上是必备的 exporter.

  1. nginx-prometheus-exporter

是nginx的一个模块。该模块提供对基本状态信息的访问。默认情况下不构建此模块,应使用 --with-http_stub_status_module 配置参数启用它。

  1. grafana

Grafana 是一个开源的监控数据分析和可视化套件。最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用于其他需要数据可视化分析的领域。Grafana 可以帮助你查询、可视化、告警、分析你所在意的指标和数据。

  1. influxdb

InfluxDB是一个时间序列数据库,旨在用作涉及大量带时间戳数据的任何用例的后备存储。这里用来给prometheus数据做持久化。

三、 特别说明

  1. prometheus、alertmanager、grafana、influxdb 安装在一台专门部署公共服务的服务器上。
  2. node-exporter、nginx-prometheus-exporter 在每台需要被监控的机器上安装。
  3. nginx安装需要ngx_http_stub_status_module,并修改相应的nginx配置文件。
  4. prometheus + alertmanager + node-exporter,这三个在同一个网站下载 prometheus官网