Ubuntu13.04にzabbix2を入れてネットワーク内のモニタリングを実行し、何か障害がおこった場合にはすぐにメールで通知してくれるようにします。
apt-getでインストールできるようなので、aptでインストールしてしまいます。
sudo apt-get install zabbix-server-mysql zabbix-agent zabbix-frontend-php
MySQLのデフォルトのcharsetをutf-8にしておく。
DBをutf-8にしておかないと、zabbixのインストール後に画面上のパンくずリストが文字化けします(文字化けしたのでDB消してやり直しました)。DB作る際にutf-8を指定しても良いのですが、たいていの場合、デフォルトでutf-8にしておいた方が文字化けに悩まされないので。
sudo vi /etc/mysql/my.cnf
下記の2行を各々の設定箇所に追加しておきます。mysqldの方は、mysql5.5でcharacter-set-serverに変更になったとの事です。
[client] default-character-set=utf8 [mysqld] character-set-server = utf8
DBの準備
create database zabbix; grant all on zabbix.* to zabbix@localhost identified by 'yourpassword'; flush privileges; mysql -uzabbix -p zabbix << /usr/share/zabbix-server-mysql/schema.sql mysql -uzabbix -p zabbix << /usr/share/zabbix-server-mysql/images.sql mysql -uzabbix -p zabbix << /usr/share/zabbix-server-mysql/data.sql
設定ファイル編集
sudo vi /etc/zabbix/zabbix_server.conf ListenPort=10051 DBName=zabbix DBUser=zabbix DBPassword=yourpassword DBSocket=/var/run/mysqld/mysqld.sock
設定ファイル編集
sudo vi /etc/default/zabbix-server START=yes
zabbix-serverを起動させる
sudo /etc/init.d/zabbix-server start
Apache用の設定ファイルを設置
cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf.d/zabbix.conf
ブラウザでアクセスする。
http://<<zabbix-serverのアドレス>>/zabbix/
インストール画面が下記のように表示される。
phpの設定が間違っていたりすると、警告を出してくれる。
sudo vi /etc/php5/apache2/php.ini
/etc/php5/apache2/php.ini ファイルを編集します。
date.timezone = "Asia/Tokyo" post_max_size = 16M max_execution_time = 300 max_input_time = 300
apacheを再起動してエラーが直ったのでそのまますすめます。
DBの設定情報を聞いてくるので、先にDB作成時に設定した情報を入力します。
Test connectionボタンを押して、OKと出れば、そのままNextで先に進みむと、zabbixサーバの情報を聞かれるので入力します。localhostで良いと思います。
最終確認画面。
Nextで次に行ったら、/etc/zabbix/zabbix.conf.php を書き込めないとエラーを出しました。本当はよろしくないのですが、セットアップ中のみパーミッションを777にしておきます。
cd /etc/zabbix sudo touch zabbix.conf.php sudo chmod 777 zabbix.conf.php
でRetryを推したら問題なく設定できました。
忘れずにパーミッションを戻しておきます。
cd /etc/zabbix sudo chmod 644 zabbix.conf.php
やっとログイン画面が出てきました。
初期パスワードは下記の通り
user : admin pass : zabbix
ログインした画面です。
OS起動時に自動起動するようにしてから、OS起動直後にサービスが上がっていることを確認する為に再起動します。
sudo apt-get install sysv-rc-conf sudo sysv-rc-conf --level 35 apache2 on sudo sysv-rc-conf --level 35 zabbix-server on sudo sysv-rc-conf --level 35 zabbix-agent on sudo reboot
動作確認をした後に、iptablesの設定をして終了です。
## 変数の定義 LOCAL_ETH='eth0' LOCAL_NETWORK='172.20.1.0/24' LOCAL_MY_IP='172.20.1.3' MANAGE_HOST='172.20.1.128/25' DMZ_NETWORK='172.20.2.0/24' # iptablesのプログラム IPTABLES='/sbin/iptables' IPTABLES_SAVE='/sbin/iptables-save' IPTABLES_SAVE='/sbin/iptables-save' IPTABLES_RULES='/etc/iptables/rules.v4' $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT # ルールの初期化 $IPTABLES -F # ローカルループバックを許可 $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT # 明らかにおかしいパケットは拒否 $IPTABLES -A INPUT -p tcp -m state --state INVALID -j DROP $IPTABLES -A OUTPUT -p tcp -m state --state INVALID -j DROP # サーバから外部サーバへのアクセス許可(パッケージアップデート等の為) $IPTABLES -A INPUT -i $LOCAL_ETH -d $LOCAL_MY_IP -p udp -m multiport --sports 53 -j ACCEPT $IPTABLES -A INPUT -i $LOCAL_ETH -d $LOCAL_MY_IP -p tcp -m multiport --sports 25,53,80,443,587,10050 -j ACCEPT $IPTABLES -A OUTPUT -o $LOCAL_ETH -s $LOCAL_MY_IP -p udp -m multiport --dports 53 -j ACCEPT $IPTABLES -A OUTPUT -o $LOCAL_ETH -s $LOCAL_MY_IP -p tcp -m multiport --dports 25,53,80,443,587,10050 -j ACCEPT # zabbixサーバにHTTPアクセスできるようにする $IPTABLES -A INPUT -i $LOCAL_ETH -d $LOCAL_MY_IP -s $MANAGE_HOST -p tcp -m multiport --dports 80,443 -j ACCEPT $IPTABLES -A OUTPUT -o $LOCAL_ETH -s $LOCAL_MY_IP -d $MANAGE_HOST -p tcp -m multiport --sports 80,443 -j ACCEPT # zabbixサービスの公開ポート $IPTABLES -A INPUT -i $LOCAL_ETH -d $LOCAL_MY_IP -s $LOCAL_NETWORK,$DMZ_NETWORK -p tcp -m multiport --dport 10051 -j ACCEPT $IPTABLES -A OUTPUT -o $LOCAL_ETH -s $LOCAL_MY_IP -d $LOCAL_NETWORK,$DMZ_NETWORK -p tcp -m multiport --sport 10051 -j ACCEPT # ssh $IPTABLES -A INPUT -i $LOCAL_ETH -d $LOCAL_MY_IP -s $MANAGE_HOST -p tcp --sport 1024:65535 --dport 22 -j ACCEPT $IPTABLES -A OUTPUT -o $LOCAL_ETH -s $LOCAL_MY_IP -d $MANAGE_HOST -p tcp --sport 22 --dport 1024:65535 -j ACCEPT $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP # ルールセットの保存 $IPTABLES_SAVE >> $IPTABLES_RULES
インストールについては以上で完了です。
各種サーバへのAgentのインストールは、Linuxのパッケージ管理ツールで行うか、Windowsの場合にはZabbixのオフィシャルサイトから、Agentをダウンロードしてインストールしてください。
zabbixは設定項目が多いので、下記のサイトを参考に設定してください。また、日本語での参考書も出ています。著者の方のセミナーに参加した時に著書にサインをもらっておけば良かったなと後悔していたりw
設定の為に参考になるサイトと書籍
- Zabbixオフィシャルサイト
- Zabbix日本コミュニティサイト
- [amazonjs asin=”4774142131″ locale=”JP” tmpl=”Small” title=”Zabbix統合監視「実践」入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plusシリーズ)”]