Zabbix 3.0.1 on Azure - (1) 監視サーバーのインストール編 -
エンタープライズシステムのシステム監視で、Zabbixをお使いのお客様が多いですよね。Azure上でZabbix Serverを構築して、監視するということも可能ですので、数回に分けて、Zabbix on Azureにおけるシステム監視というテーマでブログを書きます。
シリーズ第1回の今回は、Ubuntu ServerでZabbixの監視サーバーを構築する際のインストールおよび初期設定方法を取り上げます。
まずは、普通に、Ubuntu ServerをAzure VMで作りましょう。
今回は、「Ubuntu 14.04 LTS」のAzure VMに、Zabbix 3.0.1をインストールします。
Azure VMのインスタンスタイプですが、以下Zabbixの公式ドキュメントの通り、監視対象のホスト数を目途にサイジングすることになります。(※Zabbix 3.0の場合)
https://www.zabbix.com/documentation/3.0/manual/installation/requirements
Azure VMの場合は、こんな感じでしょうか。
- 小規模 (20 監視ホスト程度): A1 Standard (1core/1.75GB Mem)
- 中規模 (500 監視ホスト程度):A2 Standard (2core/3.5GB Mem)
- 大規模 (1,000 監視ホスト以上):D3_V2 Standard (4core/14GB Mem)
- 特大規模 (10,000 監視ホスト以上):D4_V2 Standard (8core/28GB Mem)
※OSの初期設定として、初回アップデートやタイムゾーン設定、ロケール設定(日本語化)、セキュリティ設定等は適宜行ってください。(今回はここが主題では無いため、割愛します...)
※あらかじめ、インスタンスに搭載されたメモリサイズ+2GB程度のスワップ領域を確保しておきましょう。そうしないと、Zabbixサーバーが起動した後、警告メッセージが出続けることになります。手順については、以下のサイトをご参照ください。
あらかじめ、Zabbix Web UIへのアクセス許可設定をしておきましょう。
Azure ポータルから設定する場合は、[ネットワークセキュリティグループ] - [全般] - [受信セキュリティ規則] から、http(TCP/80)でのアクセス許可設定を追加します。
ZabbixのWeb UI画面へのアクセス時に、IPアドレス指定では無く、FQDN指定にする場合は、Azure ポータルから、Zabbixサーバーの [パブリックIPアドレス] - [全般] - [構成] - [DNS名ラベル]にて、FQDNを指定しておきましょう。
では、本格的にZabbixサーバーのインストールと初期設定を進めていきましょう。
1. TrueTypeフォントのインストール
ZabbixのWebインターフェースで、日本語のTrueTypeフォントを利用するので、事前にインストールしておきます。
$ sudo apt-get install fonts-vlgothic
2. MySQLのインストール
Ubuntu用のパッケージで、Zabbixサーバーをインストールする際に自動的にデフォルトの文字コードでデータベースを作成されてしまわないよう、事前にMySQLをインストールしてデフォルトの文字コードを設定します。
$ sudo apt-get -y install mysql-server
インストール時に、MySQLのrootパスワードを設定します。
MySQLのデフォルト設定として、/etc/mysql/my.cnfの[mysqld]セクションに以下の設定を追加します。
character-set-server = utf8
collation-server = utf8_bin
skip-character-set-client-handshake
innodb_file_per_table
追加した設定内容を反映させるために、MySQLを再起動します。
$ sudo service mysql restart
3. Zabbixのリポジトリ登録
Zabbixが公開しているUbuntu用のリポジトリを登録して、リポジトリ情報をアップデートします。
$ sudo wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb
$ sudo dpkg -i zabbix-release_3.0-1+trusty_all.deb
$ sudo apt-get update$ sudo apt-get upgrade
3. Zabbixのパッケージインストール
3.0.1をインストール後に、zabbix_server.logにエラーが出力されたため、snmpパッケージも合わせてインストールします。
$ apt-get install zabbix-agent zabbix-server-mysql zabbix-frontend-php snmp
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
apache2 apache2-bin apache2-data fping libapache2-mod-php5 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libiksemel3 libodbc1
libopenipmi0 libperl5.18 libsensors4 libsnmp-base libsnmp30 libssh2-1 php5
php5-cli php5-common php5-gd php5-json php5-ldap php5-mysql php5-readline
snmpd ssl-cert ttf-dejavu-core
提案パッケージ:
apache2-doc apache2-suexec-pristine apache2-suexec-custom apache2-utils
php-pear libmyodbc odbc-postgresql tdsodbc unixodbc-bin lm-sensors
snmp-mibs-downloader php5-user-cache openssl-blacklist
以下のパッケージが新たにインストールされます:
apache2 apache2-bin apache2-data fping libapache2-mod-php5 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libiksemel3 libodbc1
libopenipmi0 libperl5.18 libsensors4 libsnmp-base libsnmp30 libssh2-1 php5
php5-cli php5-common php5-gd php5-json php5-ldap php5-mysql php5-readline
snmp snmpd ssl-cert ttf-dejavu-core zabbix-agent zabbix-frontend-php
zabbix-server-mysql
アップグレード: 0 個、新規インストール: 32 個、削除: 0 個、保留: 0 個。
12.4 MB のアーカイブを取得する必要があります。
この操作後に追加で 68.3 MB のディスク容量が消費されます。~ 以下省略 ~
4. データベースの作成
最初に、データベースとZabbixのアクセス用アカウントを作成します。
### MySQLデータベースにログイン ###
$ sudo mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.5.49-0ubuntu0.14.04.1 (Ubuntu)Copyright (c) 2000, 2016, 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.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
### Zabbix用のデータベース作成 ###
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)
### ユーザーzabbixを作成、パスワードを設定 ###
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
### ユーザー情報の読み込み ###
mysql> flush privileges;
mysql> exit
引き続き、Zabbixパッケージ内のデータベース作成用ファイルを利用して、テーブルを作成し、初期データをデータベースにロードします。
$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uroot zabbix -p
Enter password:
5. Zabbix 設定ファイルの更新
最低限の設定として、DBPasswordを設定します。
$ sudo vi /etc/zabbix/zabbix_server.conf
### Option: DBPassword
DBPassword=zabbix
→初期設定はコメントアウトされている
6. ZabbixのWeb UI用設定変更
Zabbixのパッケージのデフォルトでは、PHPのtimezoneの設定がコメントアウトされているので、設定を有効にしてタイムゾーンを"Asia/Tokyo"に設定します。
$ sudo vi /etc/apache2/conf-enabled/zabbix.conf
<IfModule mod_php5.c>
初期設定: # php_value date.timezone Europe/Riga
変更後: php_value date.timezone Asia/Tokyo
7. デーモンの起動
以上の設定が終了したら、デーモンを起動します。
$ sudo service zabbix-agent start
* Starting Zabbix agent zabbix_agentd [ OK ]
$ sudo service zabbix-server start
* Starting Zabbix server zabbix_server [ OK ]
$ sudo service apache2 restart
[ OK ]※apache2は既に起動済みのため、再起動(restart)になります。
ここまでで、ZabbixのWeb UIにアクセスできます。
Webブラウザから、
http://"ZabbixサーバーのIPアドレス"/zabbix
もしくは
http://"ZabbixサーバーのFQDN (xxx..japaneast.cloudapp.azure.com)"/zabbix
にアクセスしてみましょう。
以下のようなWelcome画面が表示されたら、監視サーバーとしての初期設定は終了です。次にWeb UIからZabbixの初期設定を行いましょう。次回に続く...