7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【サービス監視してますか?】5分で構築できるオシャレお手軽監視ツール「Uptime Kuma」

Last updated at Posted at 2024-06-29

読み飛ばしてください

おはようございます、しなもんです。

みなさんは、自分が運営するサービスが止まってしまったことはありますか?
私はあります。

なんてこった。

この時は奇跡的に停止から5分で対応に回れたので良かったですが、
もしあの時すぐに気づいていなければ...
と思うと冷や汗が止まりません。

でももう大丈夫。そう、監視ツールがあるからね!

監視ツールとは

サービスを構成している各種システムや、サーバー自体のインフラを定期的にチェックしてくれるツールのことです。

もしサービスに何らかの異常が見られた場合は通知が発生したり自動的にお知らせが飛ぶようにできるので、早期復旧に大いに役立ちます。

モニタリングツールとは何が違うの?
モニタリングツールはどちらかというとnew Relicのような「インフラのログや稼働量を記録してそのデータを役立てる」というもので、
通知を送ることが仕事かどうかという点で違いがあると思います。

(※正直、明確な定義はバラバラです。例として、Oracleは完全に真逆に定義しています。)

早速構築してみよう

Dockerイメージを建てるだけなので一瞬でできます。多分。

前提環境

  • Docker及びDocker-composeが動く環境

ファイルを用意する

ファイルを用意します。

workspace/
└─docker-compose.yml

適当なフォルダにdocker-composeファイルを設置すればOKです。

docker-compose.yml
version: '3.3'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma-data:/app/data
    ports:
      - 3001:3001  # <Host Port>:<Container Port>
    restart: always
    networks:
      - default

networks:
  default:

ポート番号は適宜変えると良いでしょう。

コンテナを起動する

$ docker-compose up

で起動できます。

VScodeで、Dockerの拡張機能を導入した状態で、ファイル上で右クリックすると
そのままcompose upができます。

image.png

初期設定

まずは設定画面にアクセスします。ブラウザを使います。

http://localhost:3001
※ポート番号は設定したものに適宜変えてください。

image.png

Adminアカウントを作るためのフォームが現れるので、適当に入力して作成します。

image.png

作成するとダッシュボードに入れます。

監視するものを追加する

image.png

左上の「監視の追加」をクリックします。

フォームが現れるので適当に入力します。
正直めちゃくちゃ細かくいじれます。
色々触ってみてください。

せっかくなので通知先も設定する【Discord】

image.png

「通知設定」から通知先を指定できます。
「通知タイプ」を開くと分かる通り、めちゃくちゃ種類がありますが、
今回はDiscordに通知させてみようと思います。

image.png

Discordの送信させたいチャンネルの設定から、ウェブフックURLを取得します。

「新しいウェブフック」を押すと増えるので、URLをコピーします。

image.png

この項目に貼り付け、残りの項目を設定します。

image.png

ちなみに動作するとこんな感じです。

image.png

ステータスページについて

image.png

ダッシュボードとは別に、ステータスページというものがあります。

管理人が監視を管理するためのダッシュボードと異なり、
どちらかというとサービスを使うユーザーがステータスを確認するための公開用ページです。

やってることはこのサイトと同じです。

このページはAdminアカウントが無くても閲覧でき、リバースプロキシで外部に公開できます。

切り替えは右上からできます。

image.png

「新しいステータスページ」を追加します。

image.png

適当に入力します。

image.png

この「監視の追加」の項目に、先ほど作った監視サービスを追加します。

image.png

左下の保存を押すと、ステータスページが完成します。

外部にステータスページを公開するにはCloudflaredを使った簡単な方法があるので、後日別記事にまとめます。
まとめました。↓

タグでちょっとオシャレに

image.png

監視するものにはタグを付けられます。
私の本番環境では、マシン名やジャンル、リージョンの場所などをまとめています。

image.png

ちょっとオシャレになります。

メンテナンスについて

メンテナンスするときはちゃんと設定することで、期間をユーザーに知らせることができたり、無駄に通知が飛んでいかないようになります。

image.png

右上から設定します。

image.png

メンテナンスを追加し、フォームを適当に入力します。
タイムゾーンをAsia/Tokyoにするのを忘れないで下さい。

image.png

時間になるとちゃんとメンテナンスが発動します。

最後に

Uptime Kumaをサクッと構築してみました。
非常に簡単に監視ツールを起動でき、ブラウザから操作できるので、とても助かっています。

皆さんも監視ツールを使って素敵なエンジニアライフを。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?