;遗留的提醒;普罗米修斯和洛基用mimirtool统治

普罗米修斯和洛基用mimirtool统治

本页面概述了在Grafana云警报中使用mimirtool和普罗米修斯风格规则的步骤。您可以加载普罗米修斯警报和记录规则或洛基警报规则,这些规则完全在Grafana Cloud中评估。这允许对存储在Grafana Cloud堆栈中的所有指标和日志进行全局规则评估。

普罗米修斯风格的警报是由您的Grafana云度量、Grafana云日志和Grafana云警报实例驱动的。Metrics and Logs实例保存规则定义,而Alerts实例负责路由和管理从Metrics and Logs实例发出的警报。这些是单独的系统,必须单独配置才能使警报正常工作。

以下部分将涵盖所有这些概念:

  • 如何上传警报和记录规则定义到您的Grafana云度量实例
  • 如何上传警报规则定义到您的Grafana云日志实例
  • 如何为您的Grafana Cloud Alerts实例配置Alertmanager,使您能够访问Alertmanager UI。

注意:您需要一个具有适当权限的API密钥。您可以对度量、日志和警报实例使用相同的API键。指创建一个Grafana Cloud API键的指令。

下载并安装mimirtool

mimirtool是一个强大的命令行工具,用于与Cortex交互,它支持Grafana Cloud Metrics, Logs和Alerts。您将使用mimirtool上传您的度量和日志规则定义以及使用YAML文件的Alertmanager配置。

下载或更新到最新版本的mimirtool,无论是二进制文件还是Docker映像:

如果使用Docker,则输入Docker运行< Docker image>—— . sh

如果您更喜欢使用二进制文件,那么请遵循作为每个文件一部分发布的说明释放

您可以找到mimirtool支持的配置列表作为其部分自述

注意:要使mimirtool与Grafana Cloud交互,必须设置正确的配置变量。使用环境变量或命令行标志设置它们。

上传规则定义到您的Grafana云度量和日志实例

首先,您需要将警报和记录规则上传到Metrics and Logs实例。您需要实例ID和URL。这些应该是//www.tubolov.com/orgs/< yourOrgName >/。

度量实例

您的Metrics实例可能位于us-central1地区。它的地址应该是https://prometheus-us-central1.grafana.net

日志实例

日志实例可能位于us-central1地区。它的地址应该是https://logs-prod-us-central1.grafana.net

使用mimirtool

有了实例ID、URL和API键,现在就可以将规则上传到度量实例了。使用以下命令和文件作为参考。

下面是警报和规则定义YAML文件示例。注意命名空间键在此上下文中替换了“文件”的概念,因为每个实例只支持1个配置文件。

# first_rules。yml命名空间:“first_rules”组:- name:“shopping_service_rules_and_alerts”规则:- alert:“PromScrapeFailed”注释:消息:“Prometheus failed to scrape a target {{$labels. yml命名空间:“first_rules”组:- name:“shopping_service_rules_and_alerts”规则:- alert:“PromScrapeFailed”注释:消息:“Prometheus failed to scrape a target {{$labels. yml”Job}} /{{$标签。实例}}" expr: "up != 1" for: "1m" labels: "severity": "critical" - record: "job:up:sum" expr: "sum by(job) (up)"

尽管记录和警报规则都是在键下定义的规则规则和警报之间的区别是一般(如有其他)每当键记录警报定义。

有了这个文件,您可以运行以下命令在Metrics或Logs实例中上传规则文件。请记住,这些是Metrics实例的示例命令,它们使用占位符和命令行标志。对于日志实例,请遵循类似的模式,将地址切换到正确的地址。这些示例还假设文件位于同一个目录中。

$ mimirtool规则加载first_rules。yml \——address=https://prometheus-us-central1.grafana.net \——id= \——key=

接下来,通过运行以下命令确认规则已正确上传:

$ mimirtool规则列表\——address=https://prometheus-us-central1.grafana.net \——id= \——key=

输出是一个列表,显示了实例ID的所有命名空间和规则组:

命名空间|规则组first_rules | shopping_service_rules_and_alerts

你也可以打印规则:

$ mimirtool rules print \——address=https://prometheus-us-central1.grafana.net \——id= \——key=

print命令的输出应该如下所示:

first_rules:—name: shopping_service_rules_and_alerts interval: 0s rules:—alert: PromScrapeFailed expr: up != 1 for: 1m labels: severity: critical annotations: message: Prometheus failed to scraping a target {{$labels. {{$labels.}}Job}} /{{$标签。实例}}- record: job:up:sum expr: sum by(job) (up)

上传Alertmanager配置到您的Grafana Cloud Alerts实例

要接收警报,您需要将Alertmanager配置上传到Grafana Cloud alerts实例。与前一步类似,您需要相应的实例ID、URL和API密钥。这些应该是//www.tubolov.com/orgs/< yourOrgName >/。

您的Alerts实例可能位于us-central1地区。它的地址应该是https://alertmanager-us-central1.grafana.net

使用mimirtool

有了实例ID、URL和API密钥,现在就可以将Alertmanager配置上传到Alerts实例了。使用以下命令和文件作为参考。

最终,你需要这样做自己写或适应配置文件示例用于发送警报。

下面是一个Alertmanager配置示例。请注意,这不是一个工作配置,您的警报将不会与以下配置交付,但您的Alertmanager UI将可访问。

# alertmanager。Yml global: smtp_smarthost: 'localhost:25' smtp_from: 'youraddress@example.org' route: receiver: example-email receiver: - name: example-email email_configs: - to: 'youraddress@example.org'

有了这个文件,您可以运行以下命令在Alerts实例中上传Alertmanager配置。

$ mimirtool alertmanager load alertmanager。yml \——address=https://alertmanager-us-central1.grafana.net \——id= \——key=

然后,执行以下命令确认规则已正确上传:

$ mimirtool alertmanager get \——address=https://alertmanager-us-central1.grafana.net \——id= \——key=

您应该会看到类似如下的输出:

Global: smtp_smarthost: 'localhost:25' smtp_from: 'youraddress@example.org' route: receiver: example-email receiver: - name: example-email email_configs: - to: 'youraddress@example.org'

最后,你可以删除配置:

$ mimirtool alertmanager delete \——address=https://alertmanager-us-central1.grafana.net \——id= \——key=

用户界面访问

上传正常运行的配置文件后,可以通过以下方式访问Alertmanager界面:https://alertmanager-us-central1.grafana.net/alertmanager