普通にさ、昼休みにDiscordから通知来てたらクソビビるよ。それがたとえフレンドのメンションであっても。
これを読んでいる皆さんはZabbixでお家のネットワークやサーバを監視されているかと思います。極まってる人はもっと別の監視基盤を利用されている方も居られるかと思いますが、なんかとりあえずぶちこんでおけば監視している気分になれるZabbixは良いものです。
……というのはおいておいて、監視していてもアラートが確認できなければ意味がないのですよ。メール通報という手もありますが、そのためにメールアドレスを作ってメールサーバを用意して……というのはちょっとめんどくさいですよね。
ということで、今回はWebhookを利用したアラート通報の中でも使い慣れているDiscordに対してアラート通報を行ってみたので備忘録的に記録しておきます。
今回利用している環境は以下です。
Zabbix: Zabbix 7.4.0 beta2
Discord: 最新版(PC/iOS)
これ以外に何も要らない、とてもシンプルな構成です。しかも私はRaspberryPi上で構築しているので低消費電力というのも嬉しいポイントです。ゆくゆくはProxmox上に移行したいですが……
→Raspiを破壊したのでProxmoxに移行しました。
また、DiscordのWebhookを利用するため、通知を受け取るためのサーバとチャンネルの作成は事前に行ってください。(人にどうしても見せたくない場合は自分一人だけの悲しいサーバを作れば大丈夫です)
基本的には以下の公式から提供されている手順で動くはず……なのですが、実は動かないんですよね。謎です。
https://www.zabbix.com/integrations/discord
注意として、上記の動かない点は基本的に「Global macroに書く」と記載のあるものに起因しているようです。なぜかはよくわかりませんが、指定のあるなしに関わらず、メディアタイプのパラメータに直書きすることで動作させることができました。(メディアタイプもマクロ対応しているはずなのですが……)
ということで、書き換えたパラメータは以下となります。

discord_endpoint:使用したいwebhookurlを直指定
zabbix_url:自分のzabbixサーバのurlを直指定
あとは適当にアラートメッセージを書き換えるだけで完了です。(アクションやユーザに紐付けするのを忘れずに!)
なんか書くことないかなー、と思いつつ……公式の導入手順がまとまっているので詰まる点とかはほぼないと思います。
ということで、何かあればTwitter(@bit0715_rufure)へリプするか、問い合わせ先のメールへお願いします。DMも開放していますが、大量のスパム爆撃を受けている影響で反応が遅れます。申し訳ない……