监控您的实例
如何从您的 Stackhero 实例获取 Prometheus 实时指标
介绍
Stackhero 帮助您以 Prometheus 格式从实例中获取实时指标。这种无缝集成使您可以轻松使用 Grafana 仪表板可视化数据,并通过 Prometheus(通过电子邮件、短信、Slack、Mattermost 等)在几分钟内为所有 Stackhero 服务触发警报。
Grafana 仪表板实时显示实例
Stackhero 上的 Prometheus 指标如何工作
Stackhero 提供一个 "Service Discovery" HTTP 端点,以 Prometheus 格式返回实例的实时指标。
整体流程如下:
- 您的 Prometheus 服务器每 15 秒连接一次 Stackhero 的 API,以获取实例的实时指标。
- 当满足定义的条件时,您的 Prometheus 服务器通过 Alert Manager 触发警报。
- 您的 Grafana 服务器连接到您的 Prometheus 服务器,以显示您的 Stackhero 实例的仪表板。
从您的实例中获取实时指标
1. 创建一个令牌
首先,您需要生成一个令牌,您的 Prometheus 服务器可以使用它连接到 Stackhero 的 API。
- 连接到您的 Stackhero 仪表板。
- 在左侧菜单中,导航到
Prometheus。 - 点击
创建一个令牌。 - 添加描述,并在必要时限制 IP 访问(保留
0.0.0.0/0以允许任何 IP)。 - 复制生成的 Prometheus 配置。
在 Stackhero 仪表板中创建 Prometheus 令牌
2. 配置您的 Prometheus
还没有 Prometheus 服务器? 使用 Stackhero,您可以在短短 2 分钟内启动一个 托管的 Prometheus!
打开您的 prometheus.yml 配置文件,并在文件末尾添加 "stackhero" 任务(之前生成的)。
以下是一个配置示例:
- job_name: "stackhero"
scheme: "https"
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
http_sd_configs:
- url: "https://api.stackhero.io/v1/prometheus/targets"
refresh_interval: "15s" # 不要设置为少于 15 秒!
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
3. 验证 Prometheus 是否获取指标
导航到您的 Prometheus 仪表板,进入 Status > Service Discovery。您应该看到一个注册的 "stackhero" 服务发现条目。
Prometheus 仪表板显示 Stackhero 服务发现
接下来,进入 Status > Targets。您应该看到每个 Stackhero 实例的一个端点。
Prometheus 仪表板显示 Stackhero 目标
恭喜!您的 Prometheus 服务器现在自动获取所有服务的实时指标。
4. 添加 Grafana 仪表板(可选)
还没有 Grafana 服务器? 使用 Stackhero,您可以在短短 2 分钟内启动一个 托管的 Grafana!
您可以利用 Grafana 中的预配置仪表板来显示您的实例指标。
- 在 Grafana 的 Web 界面中,进入
Create>Import。 - 在
Import via grafana.com部分,将 ID 设置为1860并点击Load按钮。 - 在下一页,选择您的 Prometheus 数据源并点击
Import。
Grafana 将生成一个仪表板,立即显示从 Prometheus 获取的数据!
Grafana 仪表板实时显示实例
在屏幕左上角,您可以通过点击 host 列表选择要查看的实例。
在 "host" 列表中选择实例
恭喜,您现在可以实时监控所有实例!