GeekFactory

int128.hatenablog.com

Amazon LinuxとZabbixで始める監視サーバ

クラウドから自宅サーバを監視するのがマイブームです。ここではAmazon EC2にZabbixをインストールする方法を紹介します。

前提条件

EC2上でLinuxインスタンスを起動します。今回は Micro instance, Amazon Linux x86_64 を使用しました。以下が正常に動作するようにしておいてください。

EC2と自宅サーバの間はVPNトンネルを張るようにしてください。OpenVPNがおすすめです。また、アラートメールを送信できるよう、sendmailPostfixの設定を済ませておいてください。

インストール準備

Zabbixのインストールではいくつかの依存パッケージが必要になりますが、ほとんどはyumでインストールできます。例外として、iksemelはAmazon Linuxに用意されていないため、Zabbixリポジトリからインストールします。

wget http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/zabbix-jp-release-5-3.noarch.rpm
sudo rpm -ivh zabbix-jp-release-5-3.noarch.rpm
sudo alternatives --config zabbix-jp-release
sudo vim /etc/yum.repos.d/zabbix-jp.repo
# :s/rhel$releasever/rhel5/g
sudo yum install iksemel-devel

今回は TNKの気になること: Amazon Linux用Zabbix 1.8.4のRPM を利用させて頂きました。githubからSRPMをダウンロードします。

SRPMをリビルドします。不足している依存パッケージが表示された場合はyumでインストールしてください。

sudo rpmbuild --rebuild zabbix-1.8.4-1.amzn1.src.rpm

Zabbixのインストール

/usr/src/rpm/RPMS/x86_64/ に生成されたRPMをインストールします。私の環境では以下を入れました。

  • zabbix-1.8.4-1.amzn1.x86_64.rpm
  • zabbix-agent-1.8.4-1.amzn1.x86_64.rpm
  • zabbix-server-1.8.4-1.amzn1.x86_64.rpm
  • zabbix-server-mysql-1.8.4-1.amzn1.x86_64.rpm
  • zabbix-web-1.8.4-1.amzn1.x86_64.rpm
  • zabbix-web-mysql-1.8.4-1.amzn1.x86_64.rpm

MySQLスキーマと初期データを流します。

sudo mysql -p zabbix < /usr/share/doc/zabbix-server-1.8.4/schema/mysql.sql
sudo mysql -p zabbix < /usr/share/doc/zabbix-server-1.8.4/data/data.sql

Zabbix Serverの設定ファイルにデータベース接続情報を記述します。Zabbix Agentの設定ファイルも確認しておきましょう。Zabbix Webを設置するパスには /usr/share/zabbix へのシンボリックリンクを張ります。

sudo vim /etc/zabbix/zabbix_server.conf
sudo vim /etc/zabbix/zabbix_agentd.conf
cd /var/www/html/example
sudo ln -s /usr/share/zabbix

chkconfigまたはntsysvで、起動時にZabbix ServerやZabbix Agentが開始するようにしておきます。

以上のステップが完了したら、WebブラウザでZabbixを設置したURLにアクセスします。インストール画面にしたがって進みます。PHPの設定不足を指摘されたら直してリトライします。

Zabbixの設定

インストール直後はAdmin/zabbixでログインできます。以下は忘れずにやっておいた方がいいと思います。

  • アラートメール
    • [管理]-[メディアタイプ]からアラートメールを設定します。通常は localhost から配送でよいでしょう。
  • 認証
  • ユーザ
    • Adminを削除して自分のユーザを作成しておきます。
  • サーバの追加
    • 初期状態ではlocalhostが登録されています。エージェントには必ず接続できるはずなので状態を確認しておきましょう。
    • 自宅サーバのノード群を追加します。エージェントに接続できない場合はVPNリンクかファイアウォールを確認します。

Micro instanceでLAMPスタックを立ち上げるとメモリが厳しいですが、小規模なシステムの監視では十分と思います。エンジョイざびー!