備忘録:Zabbixサーバーの構築
※9/28記述ミスがいくつかあったため更新しています。
どうもこんばんわ。
ちょっと仕事でAWSのインスタンスを監視するように、Zabbixの構築をする機会があったので、
備忘録として久しぶりのブログ更新です。
Rubyクローラー開発技法を9/13までに読むと豪語していたんですが、中々時間が取れずに断念。
という言い訳
さて。まずZabbixはオープンソースのサーバー監視ツールです。
監視対象のサーバーの状況などを視覚化してくれる表示機能なんかを備えています。
Zabbixのインストールについては、AWSにあるAmazon Linuxに行います。
また、監視対象サーバーについてもAWS上にあるものとして、以下のような構成になります。
監視サーバーと監視対象サーバーについてはVPNでサブネットを分割していますが、トラフィックはすべてOpenにしています。
今回監視対象サーバーに使うのは、Windows Server 2012で構築しているWindows Serverです。
というわけで、実際にZabbixを構築してみます。
Zabbixサーバーの構築
では、Zabbixサーバーの構築を行っていきます。
余談にはなるのですが、ZabbixはMySQLもしくはPostgreSQLを使うので個人的にPostgreSQLを使う機会が多いので
当初PostgreSQLで実行しようとしたのですが、Amazon LinuxでPostgreSQLを利用しようとする時点で
エラーが頻発したので、MySQLで実施します。
Zabbixサーバーにログインし、以下のコマンドを実行します。
実行による出力は必要箇所以外省いています。
#yumリポジトリへの登録 $ sudo rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm #Zabbix各種パッケージのインストール $ sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent #Zabbixインストールの確認 $ zabbix_server -V Zabbix server v2.4.6 (revision 54796) (10 August 2015) Compilation time: Aug 10 2015 13:10:01
次にZabbixで使用するMySQLをインストール。
#mysql-serverのインストール $ sudo yum -y install mysql-server #mysqlの起動 $ sudo /etc/init.d/mysqld start #mysql-serverインストール確認 $ mysqladmin version mysqladmin Ver 8.42 Distrib 5.5.42, for Linux on x86_64 Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.42 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 16 hours 3 min 0 sec Threads: 14 Questions: 87515 Slow queries: 0 Opens: 552 Flush tables: 1 Open tables: 111 Queries per second avg: 1.514
次にMySQLの設定を行います。
# データベースの初期化 $ mysql -uroot #DB作成 mysql> create database zabbix character set utf8 collate utf8_bin; #権限付与 #※こちらでDBユーザーのパスワードを設定していますが、自己責任でお願い致します。zabbixpasswdがパスワードです。 mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpasswd';
次に作成したDBスキーマへデータを流し込みます
$ cd /usr/share/doc/zabbix-server-mysql-2.4.6/create $ mysql -uroot zabbix < schemae.sql $ mysql -uroot zabbix < images.sql $ mysql -uroot zabbix < data.sql
zabbixのコンフィグなどを設定します。
$ sudo vi /etc/zabbix/zabbix_server.conf #以下の箇所を修正 DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpasswd
あとPHPなど
$ sudo vi /etc/php.ini #以下の箇所を修正 date.timezone = Asia/Tokyo always_populate_raw_post_data = -1 #コメントアウトする
Apacheの設定を行います。
ApacheのVersionが2.4になっている場合は以下の設定を実施します。
$ sudo vi /etc/httpd/conf.d/zabbix.conf # # Zabbix monitoring system php web frontend # Alias /zabbix /usr/share/zabbix <Directory "/usr/share/zabbix"> Options FollowSymLinks AllowOverride None #Order allow,deny #Allow from all Require all granted php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 # php_value date.timezone Europe/Riga php_value date.timezone Asia/Tokyo </Directory> <Directory "/usr/share/zabbix/conf"> #Order deny,allow #Deny from all Require all denied <files *.php> #Order deny,allow #Deny from all Require all denied </files> </Directory> <Directory "/usr/share/zabbix/api"> #Order deny,allow #Deny from all Require all denied <files *.php> #Order deny,allow #Deny from all Require all denied </files> </Directory> <Directory "/usr/share/zabbix/include"> #Order deny,allow #Deny from all Require all denied <files *.php> #Order deny,allow #Deny from all Require all denied </files> </Directory> <Directory "/usr/share/zabbix/include/classes"> #Order deny,allow #Deny from all Require all denied <files *.php> #Order deny,allow #Deny from all Require all denied </files> </Directory>
最後にZabbixとhttpdの起動を実施します。
$ sudo /etc/init.d/zabbix-server start $ sudo /etc/init.d/httpd start
zabbixとhttpdが正常に起動したら、ブラウザより
http://[EC2インスタンスのパブリックIP]/zabbix
にアクセスします。
するとZabbixの画面が出力されます。Nextを押していきます。
入力箇所では、mysqlサーバーのユーザー名などを入力します。※画面取得するのを忘れた。。
Zabbixの画面より初期設定を実施すると(errorとなっている場合修正する必要があります)
ログイン画面が表示されます。
ログインは、ユーザー名:Admin、パスワード:zabbixで可能です。
以上、Zabbixサーバーの構築方法でした。
監視対象サーバーの追加方法や、Zabbixの設定方法なんかについては
またどこかで触れていければと思います。
余談
元々サーバー周りの仕事をおもにやってきたんですが、
最近数年ぶりにサーバーの仕事をさせられそうなので
復習として以下の書籍を読んでいっている最中です。
[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)
- 作者: 安井真伸,横川和哉,ひろせまさあき,伊藤直也,田中慎司,勝見祐己
- 出版社/メーカー: 技術評論社
- 発売日: 2008/08/07
- メディア: 単行本(ソフトカバー)
- 購入: 133人 クリック: 2,270回
- この商品を含むブログ (289件) を見る
まだ読んでいる途中ではあるのですが、サーバーについて学習する書籍としては
必携かと思います。
これからサーバー周りの仕事をされる方には是非おすすめです。
むしろ定番すぎて今更かよ!と罵られそうですが...