サーバーアラート通知先をLINEからDiscordへ乗り換えた話

この記事を読むと得られる情報

  • LINE Notifyの終了について
  • LINE NotifyからDiscordへの乗り換え方法

LINE Notifyが終わってしまう!

先日、LINE公式よりLINE Notifyの2025年3月31日での終了がアナウンスされました。
公式情報→https://notify-bot.line.me/closing-announce

普通にLINEを使っている人には困らない情報なんですが、サーバーからのバッチ処理の状況やMackerelからの監視通知を受け取ってる私としては困った問題。
ちなみにMackerelとLINEでできる無料サーバー監視の話はこちらからどうぞ

一応LINE公式としてはMessaging APIなるものを後続として推奨してますが、使ってみた感じ使いにくかったです(利用目的が違う物で無理やり実装してる感じが凄かった)
ちょっと調べてみると、乗り換えるのに一番技術的コストが低いのはDiscordっぽかったのでそちらへの乗り換えてみました。
今回はその手順と所感をまとめてみます。

Discordでの実装

とは言っても結構簡単です。
※Discordのアカウントがない方は事前に作成しておいてください。

サーバーからのメッセージポスト

まずはサーバーからのメッセージのポストですが、これはLINEへのポストとほぼ同じです。
Discordへ乗り換えるにあたって必要な情報としてはLINEで使っていたトークン部分です。
これは投稿したいチャンネルの「連携サービス」から「ウェブフックを作成」と進んでもらえれば勝手にURLが作成されますのでコピーしておきます。

ウェブフックの作成画面
URLのコピー

そしたらサーバーで動いているスクリプトを書き換えます。
具体的にはこんな感じ

# LINE
curl -X POST -H "Authorization: Bearer (トークン情報)" -F "message=(メッセージ)" https://notify-api.line.me/api/notify

# Discord
url -H "Content-Type: application/json" -X POST -d "{\"username\": \"(投稿名)\", \"content\": \"(メッセージ)\"}" https://discord.com/api/webhooks/(ウェブフックURL参照)

APIにテキストを投げつけるだけなので、どこもこんなもんですよね。
これで

Discordへの投稿イメージ

こんな感じで投稿できます。

Mackerelとの連携

続いてMackerelとの連携ですが、よくよく見るとDiscordとの連携がない…

Mackerelの設定画面

しかし先人はこの問題を解決されていました。
詳細はえいのうにっき様参照いただければと思いますが、簡単に言うと連携はSlackを選んでURLには先程取得したウェブフックURLの末尾に
/slack 
をつけるだけでいけます。

Mackerelからの通知例

無事Mackerelからの通知も来ました。
この2つを組み合わせることで無事にLINE Notifyから卒業ができました。