Zabbigotの使い方と設定
このページではZabbigotの使い方、導入方法、コマンド、パーミッション、設定などを解説します。
プラグイン名 | Jecon |
---|---|
開発者 | HimaJyun |
配布場所 | GitHub |
ライセンス | Apache License 2.0 |
ソースコード | GitHub(HimaJyun/Zabbigot) |
執筆時バージョン | 1.2.0 (Spigot 1.13.2) |
備考 | 当サイト管理人作 |
スポンサーリンク
目次
Zabbigotとは
ZabbigotはBukkitサーバーのTPSやメモリ使用量、チャンクロードなどをZabbixで監視できるようにするプラグインです。
実際の例です。
使い方
基本的に何かの操作を行う必要はありません。
Zabbigotは定期的に自動でZabbixにサーバーの状態を送信します。
/zabbigot show
コマンドで現在の状態を表示することも可能なので、サーバーの様子がおかしい時などには確認してみると良いでしょう。
導入方法
Zabbigotには前提プラグインなどは必要ありません。
GitHubからプラグインをダウンロードして設定を行ってください。
プラグインの設定後にZabbixの設定も必要となります。
コマンド
< >は必須、[ ]はオプションの引数です。
コマンド | パーミッション | 説明 |
---|---|---|
/zabbigot show | zabbigot.show | 現在の状態を表示 |
/zabbigot send | zabbigot.send | 現在の状態を送信 |
/zabbigot reload | zabbigot.reload | 設定をリロード |
/zabbigot show
コマンドの出力は次のようになっています。
======== Zabbigot (Player: {オンラインプレイヤー}/{最大プレイヤー}) ========
TPS: [####################] {tps} ({tps}%)
MEM: [###################_] {free}MB/{total}MB ({free}%)
CUR: [###############_____] {ロード済みチャンク} ({アンロード率}%)
高負荷時などにTPSが20を超えることがありますが、これは高負荷によって低下したTPS分の遅延を取り戻すための正常な動作です。
CUR(Chunk Unload Ratio)はチャンクのロードとアンロードの比率を示します。
{ロード済みチャンク}
には現在ロード中のチャンク数が表示されます。
設定
ZabbigotではZabbix Senderプロトコルを使用するため、Zabbix agentなどの設定は必要ありません。
config.ymlにZabbixサーバーの設定を記載してください。
# 送信間隔 (単位: 秒)
# 0に設定すると送信が止まります
Interval: 60
# 送信方法
# zabbix: Zabbix Senderプロトコルを使用
# json: jsonファイルとして出力
# tsv: tsvとして出力
Sender: "zabbix"
# Zabbixサーバーの設定
Zabbix:
Server: "localhost"
Port: 10051
Hostname: "MinecraftServer"
# 複数のサーバーを監視する(Zabbixのキー重複制限を回避する)際に使用する機能
# 指定した識別子が渡される
# 例:
# Identifier: "Minecraft" -> "minecraft.tps[Minecraft]"
# Identifier: "Zabbigot" -> "minecraft.tps[Zabbigot]"
Identifier: "Minecraft"
# 指定したキーの出力を停止する
Disable:
- "example"
#- "user"
# 触らない
version: 1
Zabbixの設定
監視項目には次の物があります。タイプは「Zabbixトラッパー」です。
キー | 説明 | データ型 |
---|---|---|
minecraft.user | オンラインユーザー数 | 数値 (整数) |
minecraft.tps | サーバーTPS | 数値 (浮動小数) |
minecraft.ping | Pingパケットのカウント | 数値 (整数) |
minecraft.memory.free | 未使用メモリ | 数値 (整数) |
minecraft.memory.used | 使用済メモリ | 数値 (整数) |
minecraft.chunk.load | チャンクロード回数 | 数値 (整数) |
minecraft.chunk.unload | チャンクアンロード回数 | 数値 (整数) |
minecraft.chunk.loaded | ロード済みチャンク数 | 数値 (整数) |
minecraft.chunk.generate | チャンク生産回数 | 数値 (整数) |
minecraft.chunk.ratio | チャンクロード/アンロード比率 | 数値 (浮動小数) |
minecraft.chunk.load/unload/generateの3つはサーバー起動後から増え続ける値のため、Zabbix側で保存時の計算に「差分」などを使用する必要があります。
また、実際にはminecraft.user[Minecraft]
のようにconfig.ymlのIdentifier
で指定した値を付け加える必要があります。
Zabbix以外で使う場合
config.ymlのSender
をjson
やtsv
にするとテキストファイルとして出力されるようになります。
Zabbix以外の監視システムを使っている場合はこれらの機能を利用して出力された値を登録すると良いでしょう。