【Zabbix】スマホでシステム管理！AndZabbixLiteを使って、スマホからZabbixアクセス

# AndZabbixLiteを使おう！
クラウド時代！！
スマホアプリ "AndZabbixLite"を使って、いつでもどこでもシステム管理ができるようにしよう！

# 前提条件
AndZabbix Lite 0.97
Zabbix2.2
AndroidスマホにAndZabbixLiteがインストールされている(Google Playでインストールしてください。解説は不要)。
サーバがインターネットアクセスできる。
ZabbixサーバのOSは、CentOS 6.5
インターネットからZabbixサーバにアクセスできる環境となるため、必ず、SSL通信でのみアクセスできるようにしよう。また、スマホにもクライアント証明書をインストールして特定の端末からのみアクセスできるようにすること。この方法については、別の記事で紹介することにする。

# インストール
Zabbixの(私なりの)インストール方法は、別の記事で紹介するので、ここではとりあえず以下の記事をみて、インストールは済ませておいてください。

> https://blog.apar.jp/linux/139/

とりあえず、ログインページにはいける状態にしておいてください。
<img width="308" alt="zab4.png" src="https://qiita-image-store.s3.amazonaws.com/0/98996/1b1572e6-19a9-1c81-d082-18a86737d815.png">

# AndZabbixLite起動
アプリを起動します。すると、最初にサーバのConfiguration画面が出てきます。
http://XXXX/zabbix/api_jsonrpc.php
と入力します。APIでサーバから情報を取得してきているので、api_jsonrpc.phpにアクセスしてます。
※XXXXには、FQDNやIPアドレスを記載しましょう。

<img width="271" alt="zabbix6.png" src="https://qiita-image-store.s3.amazonaws.com/0/98996/9ed552a5-4f83-7209-92de-aa4f708cb512.png">


ここで、どこにも「ＯＫボタン」がないと迷いましたが、Web画面の戻るボタン(後ろに戻る矢印)で登録されるみたいです。

# 主な機能
アラートを検知しているトリガーの確認、アイテムの確認、Zabbixサーバの状態の確認などができます。
アイテムや状態の確認は、直観的にわかるので、ここでは、一番気になるトリガー機能に特化して解説します。


## トリガー概要
Active Triggersを選択します。すると以下の画面がでてきます。

<img width="270" alt="1446762569597.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/98996/d69e2fbc-9335-b6b3-2c0c-c151e3d6a246.jpeg">

深刻度によって、色によってわけられて、PC上で表示されるものと、AndZabbixLiteで表示される色は同じとなり、以下のようになっています。

```

未分類：灰色
情報：水色
警告：黄色
軽度の障害：オレンジ
重度の障害：赤
致命的な障害：濃い赤

```

PCではでは以下のように表示されています。

<img width="943" alt="zab3.png" src="https://qiita-image-store.s3.amazonaws.com/0/98996/b903c520-b054-356e-18ec-61e76ef92505.png">

### コメント未入力の非表示
私は、対応したアラートについては、コメント入力するような運用をしている。
そのため、Active triggersに表示されるものは、コメント入力されていないもののみを表示させるようにする。

「Options」-「Triggers config」-「Hide acknoledged」にチェックを入れよう。

### 表示するトリガー深刻後の指定
AndZabbixLiteに表示するトリガーの深刻度を指定できます。Zabbixサーバ側で制御すればいいだけのようにも思われるが、
・深刻度によって対応者が分かれる(≒深刻度が高いものだけ対応する担当がいる)。
・スマホは緊急の場合のみのため、高い深刻度のもののみで十分である。

といった場合には、有効な設定である。
「By severity」をクリックすると、5つの深刻度が表示される。

<img width="264" alt="zabbix5.png" src="https://qiita-image-store.s3.amazonaws.com/0/98996/d493894f-be1d-98f0-4f46-0aa19fd63e7c.png">

指定した深刻度以上のもののみ表示されるなる。ただし、「All」を選択しないと、未分類のトリガーは表示されないので、その点は気を付けよう。全てのアラートをチェックしたい人は「All」、深刻度の高いもののみチェックしたい人は「High」としよう。

なお、表示のみ「All」として、通知のみ深刻度によって分けることも可能。

### スマホへの通知設定

「Options」-「Service config」からスマホへの通知設定をすることができる。
まず、「Background checks」にチェックを入れよう。これで、設定が有効になる。

「Service update interval」でZabbixへトリガーチェックしにいく間隔を指定できる。この設定があることから、Zabbixサーバでアラートを検知してから即時にスマホへ通知されるわけではないので、注意が必要。なるべく早く通知を受けたい場合は、「5 min」と設定しよう。

<img width="269" alt="1446924874045.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/98996/260a5c9a-34ef-0009-238a-77c4f464995c.jpeg">

「Sound alert」では、音を鳴らすかの設定ができる。これをチェックして、「Custom alert melody」でアラートのメロディーを決められる。

スマホによっても違うとは思うが、私のXperiaの場合は、上部に「！」が表示され、該当アラートをクリックすると、AndZabbixLiteに自動的にジャンプするようになっている。

<img width="267" alt="1446925499230.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/98996/c3a796b7-4fc8-5403-0274-b9604fd00da2.jpeg">


# アイテムの閲覧
アイテムの閲覧も可能である。
「Overview」-「XXXX」をクリックすると、取得しているアイテム一覧が表示される。
※XXXXにはホスト名が入ります。

されに項目を取得すると、リソース系なら「Graph」が、ログ系なら「Item history」が表示される。
以下は「Item history」の例である。

<img width="449" alt="1446926658854.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/98996/c38bc71e-028e-368d-d96e-1a33cafd65bc.jpeg">

「Item history」の場合、右上のボタンから期間を表示できる。

<img width="441" alt="1446926647533.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/98996/6edb3b1f-884b-0b0a-60ca-cda78d3c473f.jpeg">

# アクセス不可のエラー
ApacheやZabbixサーバが停止していたり、サーバのIP・FQDNが間違っていたりすると、当然アクセスができない。
アプリを起動して以下の画面が出力されるようであれば、今一度、上記の内容を確認してみよう。

<img width="268" alt="1446927448659.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/98996/053a67a4-398d-afa9-812c-7a999e0bf462.jpeg">


PC上からはアクセスできて、スマホからはアクセスできない場合は、IPやFQDNの問題である(F/Wなどでブロックしていないのであれば)。設定を見直そう。


# その他設定
当然ながら、Apacheのアクセスログに、アクセス記録が残るため、不要であれば、出力しないようにしよう。

# 今後の課題
通常、監視サーバはDMZに置かないため、DMZにリバースプロキシをたてて、リバプロ経由でZabbixにアクセスできるようにする。
・設定項目一覧については、別記事でまとめることにする(主な機能はこの記事に記載しました)。