在Mac上启动Prometheus和Alert Manager,并发送通知到Slack

以下是我试用该文章时的工作备忘录。

将由 Prometheus 监控产生的警报发布到 Slack。

我认为看一下上面的资料会更详细。

另外,本例为在撰写文章时使用最新版本的Intel Mac进行确认。

让普罗米修斯动起来

从以下位置找到并复制Mac(darwin)版本的二进制文件的URL。

下载

wget https://github.com/prometheus/prometheus/releases/download/v2.33.2/prometheus-2.33.2.darwin-amd64.tar.gz


tar -zxvf prometheus-2.33.2.darwin-amd64.tar.gz

cd prometheus-2.33.2.darwin-amd64

将prometheus.yml进行如下编辑

global: # (1)
  scrape_interval:     15s
  evaluation_interval: 15s

alerting: # (2)
  alertmanagers:
  - static_configs:
    - targets:
      - localhost:9093

rule_files: # (3)
  - rules.yml

scrape_configs: # (4)
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

另外,在同一目录下创建一个名为 rules.yml 的文件。

groups:
  - name: test
    rules:
      - alert: DeadMansSwitch # アラート名
        expr: vector(1)
        for: 1m
        labels:
          severity: __severity__
        annotations:
          summary: テストアラート
          description: このアラートは常に発生します

在上述情况下,由于vector(1),会不断触发警报。

执行下面的命令启动Prometheus。

./prometheus

如果没有问题,你可以通过 Mac 访问 http://localhost:9090 来查看表达式浏览器。

Screen Shot 2022-02-12 at 8.05.49.png

设置Slack的传入Webhook。

通过查看以下内容进行设置。

使用 Slack 的 Incoming Webhook

将设置完成后,会显示curl命令的执行示例,将其复制并验证是否可以进行Post操作。
如果Post成功,请记下执行curl时的URL(类似于https://hooks.slack.com/services/xxxxxx)。

启动Alert Manager

下载相应的Mac操作系统的二进制文件(darwin)并运行。

找到以下的URL以获取二进制文件,然后复制粘贴。

下载

wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.darwin-amd64.tar.gz

tar -zxvf alertmanager-0.23.0.darwin-amd64.tar.gz

cd alertmanager-0.23.0.darwin-amd64

接下来,编辑alertmanager.yml文件。这次我们将发布到Slack的#general频道上。在slack_api_url中,填写之前记录的WebHook URL。

global:
  slack_api_url: 'https://hooks.slack.com/services/xxxxxx'

route:
  receiver: 'slack-notifications' # (1)

receivers:
- name: 'slack-notifications' # (2)
  slack_configs:
  - channel: ''
    title: "title"
    text: "body"

请运行以下命令以启动 Alert Manager。

./alertmanager

由于这次警报频繁发生,所以一旦稍有发现就会发送通知到 Slack。

Screen Shot 2022-02-12 at 7.59.30.png

访问 http://localhost:9093,并在 Alert Manager 的Web页面上可以看到以下内容,确认收到了警报通知。

Screen Shot 2022-02-12 at 8.00.12.png

此外,通过在屏幕上方选择Prometheus侧的“Alert”,也可以确认情况。

Screen Shot 2022-02-12 at 8.02.53.png
bannerAds