AndroidにはZabbixクライアントアプリケーションがあるらしいというWebの情報は以前から知っていたのですが、私はAndroid端末を持っていないので試すことができませんでした。今回@BlueSkyDetectorさんからお借りすることができましたのでインストールしてみたのでレポートしておきます。
AndroidマーケットでZabbixと検索すると「Zabbix」と「Zabbix on the go」の2つのアプリが出てきたので、両方ともダウンロードしてインストールしてみました。
Zabbix
まずは「Zabbix」の方から。起動した画面はとてもシンプルです。
「Options」をタッチすると基本的な設定を行う画面が開きます。
「API URL」からWebインターフェースのapi_jsonrpc.phpのURLを、「Username」「Password」にAPIアクセスを許可したユーザのアカウントとパスワードを設定すれば完了です。設定の作りとしては1つのZabbixサーバのクライアントにしかなれないようです。
ホーム画面に戻って「Active Triggers」をタッチするとトリガーの一覧が表示されます。ただこれは現在「障害」の状態になっているトリガーではなく、どうやら設定が有効の状態になっているトリガーの一覧のようです。
テンプレートのトリガー設定まで表示されてしまっているので、あまり使う場面が想像できないのですが、まだ開発途中なのでしょうか。各トリガーの設定をタッチしても何も起こらなかったので、ここから設定が変更できるというわけでもなさそうです。
ホーム画面に戻って、今度はHostsをタッチすると設定されているサーバの一覧が表示されました。
「Zabbix server」をタッチすると、設定されているアイテムの最新データが一覧で表示されます。ZabbixのWebインターフェースから「最新データ」を表示したような感じです。
いまのところ機能としてはこれだけのようです。まだまだ開発途中といった印象でした。
Zabbix on the go
続いて「Zabbix on the go」を起動してみます。起動するとポップアップでZabbixサーバの設定がないことが表示され、設定の追加を促されます。
Zabbixサーバの設定追加画面。こちらはWebインターフェースにアクセスする場合と同じURL(api_jsonrpc.phpまでは含めない)を設定して、アカウントとパスワードを入れれば設定できました。試していないですが、複数のZabbixサーバにも対応しているようです。
設定が完了するとホーム画面に登録したZabbixサーバが表示され、右側に△!マークが出ています。
Zabbixサーバ名をタッチすると下側に現在障害の状態になっているトリガーのリストがスライド表示されました。障害が発生しているかどうかが分かりやすくて良い感じです。
この状態でトリガーのリストをタッチすると「Items」と「Triggers」のタブがある新規画面が開くのですが、エラーが出て先に進むことができませんでした。Zabbixサーバ側のバージョンの問題かと思い1.8.1のサーバに接続してみたのですが変化なしでした。
この画面からより詳細な情報を見れそうな感じなのですが使えずに残念です。開発者のサイトでは他にも以下のことができると解説されています。
- バックグラウンドで動作させて障害発生時にアラート通知
- SSL自己証明書を使ったhttps通信をサポート
現時点ではZabbix on the goの方が開発は進んでいて、障害の有無をAndroidから手軽に確認する程度であれば使えると思います。障害の詳細を見たりグラフの表示までできる機能はない(エラーで見れないだけかもしれませんが)ので、結局はブラウザからWebインターフェース経由で確認したり、メールで通知を受けとる必要が出てくるでしょう。まだ両方とも企業のシステムで実用的とはいえないですが、今後に期待したいところです。
ところで、今回初めてAndroidを使ったのですが、iPhoneと違って標準ではスクリーンショットを取る機能がないようでした。結局いつも使っているMacBook Pro(Snow Leopard)にAndroid SDKを入れて、Dalvic Debug Monitor(ddms)からスクリーンショットを取りました。
最初ddms自体が起動しなかったのですが、色々なサイトを参考にして私の環境ではddmsを開いて以下のように修正することで起動できました。
os_opts="-XstartOnFirstThread" ↓ os_opts="-XstartOnFirstThread"
私のMacBook Proは64ビットカーネルで起動するようにしているので、32ビットカーネルの場合は"-d32"を追加する必要があるかもしれません。