サーバデータを表示するプログラムを作りました。
今回その成果物の、内容を公開しようと思います。
と言っても、参加人数を表示するプログラム部分のみです。
サーバが分かれているので、それを統合して表示するプログラムがなかったのです。
他の表示部分は
ココの情報で、作成しました。
■ サーバーが分かれている場合の参加人数をグラフにするやり方。
今回ご紹介するのはこれです。
やり方は、
1 PHPからマイクラサーバに接続。参加人数を表示するプログラムをつくる。
2 ZABBIX でこのプログラムを外部チェックで人数を取得する。
と言うことです。
まず。1のプログラム。
minecraft.php
#!/bin/php
<?php
fetch_server_info("IPアドレスを入れる",25565);
function fetch_server_info($ip,$port){
$socket = @fsockopen($ip,$port,$errno,$errstr,0.5);
if($socket == false){
return 0;
}
fwrite($socket,"\xfe");
$data = fread($socket,256);
if(substr($data,0,1)!= "\xff"){
return 0;
}
$data = explode('§', mb_convert_encoding(substr($data,3),'UTF8','UCS-2'));
#print "motd:".$data[0]."\n";
print intval($data[1])."\n";
#print "max_players".intval($data[2])."\n";
}
?>
これを /usr/lib/zabbix/externalscripts に入れます。
chown zabbix:zabbix /usr/lib/zabbix/externalscripts/minecraft.php します。
chmod 700 /usr/lib/zabbix/externalscripts/minecraft.php します。
これで後は、ZABBIX で外部チェックで取得すればOKです。
以上となります。
PHPプログラムもWEBで参考にした物を改造しただけです。