Zabbixを使ったサーバーメトリクスのSlack通知設定

MediaHarborと一緒にセットアップされるZabbixを使用したサーバーメトリクスのSlackへの通知設定手順です。

必要な物

  • Slack ワークスペースへのアプリ作成・追加権限が必要です。

Zabbixへのアクセス

MediaHarborをインストールしたサーバーの http://サーバーIP/zabbix にアクセスします。

  • ユーザー名: Admin
  • パスワード: Zabbix

alt text

1. トリガーの設定

インベントリ > ホスト > MediaHarbor server を開く

alt text

トリガー を開く

alt text

トリガーの作成 をクリック

alt text

監視閾値をここで設定します。

設定項目

  • 深刻度や閾値の値等、お好みで設定してください。

障害の条件式の例

5分間の平均メモリー使用率が50%を超えた場合に障害として判断します。

avg(/MediaHarbor server/vm.memory.utilization,5m) > 50

復旧条件式の例

5分間の平均メモリー使用率が45%を下回った場合に復旧として判断します。

avg(/MediaHarbor server/vm.memory.utilization,5m) < 45

alt text

3. Slack アプリ(Bot)の作成

  1. Slack API(https://api.slack.com/apps) にアクセス
  2. 「Create New App」→「From scratch」を選択
  3. アプリ名とワークスペースを選択して作成

alt text

  1. OAuth & PermissionsBot Token Scopes に以下を追加:
    • chat:write
    • chat:write.public

alt text alt text

  1. Install App to Workspace または、 Reinstall App to Workspace ボタンをクリックして実行
  2. Bot User OAuth Token (xoxb-...) をコピーしてください。

重要: chat:write, chat:write.public の権限が付いていないと missing_scope エラーになり通知が出ません。

4. メディアタイプの設定(通知先設定)

通知 → メディアタイプ → Slack を開く

alt text

  • bot_token: 取得した xoxb-... で始まるSlack bot用のトークンを設定
  • channel: #通知先チャンネル名

alt text

  • 有効: チェック付ける

alt text

5. ユーザー設定

ユーザー → ユーザー → Admin を開く

alt text

メディア タブを開き、Slackを追加する。

alt text

  • メディアタイプ: Slack
  • 送信先: 空欄
  • 有効: チェック

alt text

6. アクション設定

通知 → アクション → トリガーアクション を開く

アクションの作成 をクリック

alt text

名前と実行条件を設定します。

実行条件

  • 前の手順で作成したトリガーを選択

alt text

実行内容

  • 実行内容 タブを開く
  • 実行内容 の追加ボタンをクリック
  • ユーザーに送信 の所にAdminを追加

alt text

通知確認手順

  1. トリガーのしきい値を一時的に 1% に下げる
  2. 数分待つ
  3. Slackに通知が届くことを確認
  4. しきい値を元に戻す

通知例

alt text