Raspberry PiにZabbixをAnsibleでセットアップする

Raspberry Pi3でWordPressを稼働させていますが、リソースや攻撃の状態を把握できていないので、Zabbixで監視してみます。
前回に引き続き、Ansibleでセットアップしました。

環境

ハードウェア
・Raspberry Pi Model B+
・外付けHDDドライブ(USB)
OS
・RASPBIAN JESSIE LITE(Raspbian GNU/Linux 8.0)

参考資料

基本的にはZabbixの公式ドキュメントに記載されている手順をそのままPlayboo化しました。

ただし、リポジトリパッケージのインストール(Installing repository configuration package )は行っていません。
これを実施すると、RASPBIAN向けに提供されるパッケージに不整合があるためか、Zabbix関連パッケージ以外のインストールでエラーがでるようになってしまいました。現状では標準のリポジトリでもZabbixのパッケージが提供されているため、リポジトリパッケージのインストールは不要です。

Playbookのファイル構成

ファイル構成は以下の通りです。
前回の構成を踏襲したうえ、zabbixロールを追加しています。

Playbook

roles/zabbix/tasks/main.yml

23行目「Import initial schema and data」でデータベースに初期スキーマとデータをインポートしていますが、このままでは2回目以降の実行でエラーとなってしまい、冪等性が維持できなくなります。そのため17行目「Check importing schema」で、インポートされるテーブルが表示できるかをチェックし、表示できない場合のみインポートが走るようにしています。

44行目「Zabbix default file configuration」では/etc/default/zabbix-serverに「START=yes」のみを記述しています。これを実施しないとzabbix-serverが起動しないのですが、なぜかマニュアルには記載されていませんでした。

52行目「PHP configuration」の最後に「notify: restart lighttpd」を記述し、後述するhandlerを呼び出しています。changedになった場合のみ、notifyが送信され、lighttpdを再起動します。

roles/zabbix/handlers/main.yml

notifyを受けるためのhandlerを記述します。lighttpdの再起動を行っています。

roles/zabbix/templates/zabbix.conf.php.j2

tasks/main.ymlの79行目「Place zabbix.conf.php」で使用しているテンプレートです。変数部分が置き換えられて配置されます。

roles/zabbix/vars/main.yml
変数です。DBのパスワードを記述しています。

※パスワードはマスクしています。

site.yml

ベースディレクトリ直下に配置し、raspi.ymlの呼び出しのみを行います。

raspi.yml

実行するロールを記述します。zabbixはデータベースとWebサービスが必要なので、common(標準設定)、dbserver、webserverロールを実行したのち、zabbixロールを実行します。common、dbserver、webserverの詳細は前回をご覧ください。

実行結果

RaspberrryPiに接続できる端末でブラウザを開いて以下URLに接続します。
http://<RaspberryPiのIPアドレス>/zabbix/

下記画面が表示されたら、デフォルトのアカウント(アカウント名:Admin, パスワード:zabbix)でログインします。
server014-001

ダッシュボードの「Status of Zabbix」「zabbix server is running」が「Yes」であればセットアップは成功しています。
server014-002

画面右上「Profile」で言語設定を日本語にすると、日本語表示にできます。
server014-003
詳細監視のためには、他にZabbixエージェントもインストールする必要がありますのでご注意ください。

なお、マニュアルは3.2を参照しましたが、インストールされたのは2.2.7でした。まだこのOSには2.2までしかパッケージが提供されていないようです。

最後までご覧いただきありがとうございました。よろしければ広告もご覧ください。

2017/06/30追記

上記手順でインストールはできますが、なぜかグラフに文字が表示されません。原因調査中です。
server014-004

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*