0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Observabilityへの道シリーズ④】Prometheus + Grafana監視基盤にMinecraftサーバ監視を追加してみた

0
Last updated at Posted at 2026-03-14

Prometheus + Grafana で自宅の監視基盤を構築したので、実際のサービスを監視してみることにしました。

監視というと CPU やメモリなどのリソース監視を思い浮かべることが多いと思います。
しかしそれだけでは

「サーバは動いているがユーザーは使えない」

という状況を見逃す可能性があります。

そこで今回は自宅の Minecraft Bedrock サーバ を監視対象に追加し、プレイヤー数などのメトリクスを取得することで「ユーザーが実際に使えているか」を確認できる監視を作ってみました。


Observabilityへの道シリーズ

このシリーズでは、監視スタックを段階的に構築しながら「見える化」から「使える監視」へと進めていきます。

1.Prometheusでメトリクス監視を構築
https://qiita.com/KanshiKun/items/1176246d27e52be652eb

2.AlertmanagerでSlack通知
https://qiita.com/KanshiKun/items/c56754fa6baaffec5de0

3.Grafanaでメトリクス可視化
https://qiita.com/KanshiKun/items/5979d2aaed5221ce0a1e

4.Minecraftサーバ監視
https://qiita.com/KanshiKun/items/65446702d765ec580d7a

5.Mincraftサーバの障害を定義(アラートルール作成)
https://qiita.com/KanshiKun/items/8f8239b65639e9d3c749

6.AWSを監視拠点にした外形監視の実装
https://qiita.com/drafts/5002eb89d4019ed96ccc/edit

7.Loki × Promtail × Grafanaでログを可視化する
https://qiita.com/KanshiKun/items/4b768d00433d1b5f700b

8.ログから監視を設計する 〜「何が起きているか」を捉える〜
https://qiita.com/drafts/6642323ec0b45368e932/edit


環境

項目 内容
OS Ubuntu
Minecraft Bedrock Edition
監視 Prometheus
可視化 Grafana
Exporter mc-monitor
コンテナ Docker

構成

今回の自宅サーバ監視構成です。
Prometheus を中心に、node-exporter や mc-monitor からメトリクスを収集し、
Grafana で可視化しています。

mc.jpg


なぜMinecraftを監視するのか

通常のサーバ監視では

  • CPU
  • メモリ
  • プロセス

などを監視することが多いと思います。

しかしこれだけでは

サーバは動いているが
ユーザーは使えていない

という状況を見逃す可能性があります。

そこで今回は

プレイヤー数(アクティブユーザー)

をメトリクスとして監視してみました。

これはSREで言われる

User Visible Monitoring

に近い考え方です。


Minecraftメトリクス取得

Minecraftのメトリクス取得には
mc-monitor を使用します。


docker-compose設定

mc-monitorを追加します。

mc-monitor:
  image: itzg/mc-monitor:latest
  container_name: mc-monitor
  command:
    - export-for-prometheus
    - -port
    - "9150"
    - -bedrock-servers
    - host.docker.internal:19132
  ports:
    - "9150:9150"
  extra_hosts:
    - "host.docker.internal:host-gateway"
  restart: unless-stopped

Prometheus設定

Prometheusの設定に以下を追加します。

- job_name: minecraft
  static_configs:
    - targets: ['mc-monitor:9150']

Prometheusを再起動します。

docker compose restart prometheus

メトリクス確認

以下のURLでメトリクスが取得できます。

http://localhost:9150/metrics

minecraft_status_healthy 1
minecraft_status_players_online_count 0
minecraft_status_players_max_count 10
minecraft_status_response_time_seconds 0.00039

取得できる主なメトリクス

メトリクス 説明
minecraft_status_healthy サーバ死活
minecraft_status_players_online_count オンラインプレイヤー数
minecraft_status_players_max_count 最大プレイヤー数
minecraft_status_response_time_seconds 応答時間

Grafanaダッシュボード

Grafanaで以下のメトリクスを可視化します。

サーバ状態

minecraft_status_healthy

プレイヤー数

minecraft_status_players_online_count

応答時間

minecraft_status_response_time_seconds

CPU使用率

100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100)

メモリ使用率

(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100

ダッシュボード

作成したダッシュボード例です。

  • Bedrock Server Status
  • Online Players
  • Response Time
  • CPU Usage
  • Memory Usage
  • GPU Usage

image.png

Minecraftのプレイヤー数をそのまま可視化できるので
利用状況が分かりやすくて面白いです。


ユーザー視点の監視

今回一番面白かったのはここです。

通常の監視では

CPU
メモリ
プロセス

などを監視します。

しかしこれだけでは

サーバは動いているが
ユーザーは使えていない

状況を見逃す可能性があります。

そこで

プレイヤー数

をメトリクスとして監視すると

ユーザーが実際に利用できているか

を確認できます。

これはSREで言われる

User Visible Monitoring

に近い考え方だと感じました。


まとめ

Prometheus + Grafana を使うことで
自宅の Minecraft サーバでも簡単に監視環境を作ることができました。

特に

プレイヤー数をメトリクスとして監視する

ことで

システムが動いているか
↓
ユーザーが使えているか

という観点の監視を体験できました。

小さな環境ですが、SREの思想を感じられて面白い取り組みでした。


おわりに

Minecraftは

  • 実ユーザー
  • 実トラフィック
  • 実サービス

があるため

SREの練習環境としてかなり優秀

だと思います。

自宅ラボとしてもおすすめです。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?