[AWS]ubuntu16.04にZabiixをインストールしてみた

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

zabbixのインストール手順

[aws]ecu2のbuntu16.04にZabiixをインストールします。
監視サーバーとして今まではNagiosを利用してきましたが、zabbixも使ってみたかったのでzabbixのインストールしてみました。

 

zabbixに必要なモジュールをインストールします

apt-get install language-pack-ja
apt-get install libapache2-mod-php5
apt-get install php-bcmath
apt-get install php-xml
apt-get install php-mbstri
apt-get install zabbix-server-mysql zabbix-agent zabbix-frontend-php
apt-get install php-mysql
apt-get install php-gd
apt-get install php-net-socket
apt-get install php-net-gettext
apt-get install php-xml-util

mysqlの文字コードの統一

mysqlの文字コードを統一するために「/etc/mysql/conf.d/mysql.cnf」の末尾に「utf8」を追加します。

[mysqld]
#mysqldセクションの末尾に追加
character-set-server=utf8 
[client]
#clientセクションに追加
default-character-set=utf8

文字コードの確認

mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

文字コードが「utf8」に統一されていますね。

mysqlにデータベースとユーザーを作成する
zabbix用のデータベースとユーザーを作成します。データベース名、ユーザー名は「zabbix」にします。

mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER zabbix IDENTIFIED BY '***********';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS for 'zabbix'@'%';
+----------------------------------------------------+
| Grants for zabbix@%                                |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'%'                 |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'%' |
+----------------------------------------------------+
2 rows in set (0.00 sec)

zabbixにテーブルを生成する

zabbixフォルダ内にあるsqlを実行して、テーブルを生成します。

root@hostname:/usr/share/zabbix-server-mysql# mysql -uzabbix -p zabbix < schema.sql
Enter password: 
root@hostname:/usr/share/zabbix-server-mysql# mysql -uzabbix -p zabbix < images.sql
Enter password: 
root@hostname:/usr/share/zabbix-server-mysql# mysql -uzabbix -p zabbix < data.sql
Enter password: 
root@hostname:/usr/share/zabbix-server-mysql# 

zabiixのデータベースへの接続情報を調整する

root@hostname:/etc/zabbix# cp zabbix_server.conf zabbix_server.conf.bk
root@hostname:/etc/zabbix# vi zabbix_server.conf
root@hostname:/etc/zabbix# diff zabbix_server.conf zabbix_server.conf.bk
108,109d107
< DBPassword=**********
< 

phpの設定をzabbixの要件に合わせて変更する

phpの初期設定のままだとzabbixの要件に達しないため正常に動作しません。php.iniを修正して、zabbixの要件に当てはまる水準までphpへのリソース割り当てを上げます。

root@hostname:/etc/php/7.0/apache2# diff php.ini php.ini.bak                                                              
368c368
< max_execution_time = 300
---
> max_execution_time = 30
378c378
< max_input_time = 300
---
> max_input_time = 60
656c656
< post_max_size = 16M
---
> post_max_size = 8M
924c924
< date.timezone = "Asia/Tokyo" 
---
> ;date.timezone =

ファイルの所有者をwww-dataに変更する

ウェブサイト上からの更新を想定して、ファイルの所有者をwww-dataに変更します。

root@hostname:/etc/php/7.0/fpm# cd /etc/zabbix 
root@hostname:/etc/zabbix# ls -la
total 60
drwxr-xr-x  5 root root  4096 Mar 26 01:51 .
drwxr-xr-x 98 root root  4096 Mar 26 01:10 ..
drwxr-xr-x  2 root root  4096 Oct 13  2016 alert.d
-rw-r--r--  1 root root  7858 Oct 13  2016 zabbix_agentd.conf
drwxr-xr-x  2 root root  4096 Oct 13  2016 zabbix_agentd.conf.d
-rw-r--r--  1 root root 13505 Mar 26 01:51 zabbix_server.conf
-rw-r--r--  1 root root 13480 Mar 26 01:49 zabbix_server.conf.bk
drwxr-xr-x  2 root root  4096 Oct 13  2016 zabbix_server.conf.d
root@hostname:/etc/zabbix# chown -R www-data /etc/zabbix
root@hostname:/etc/zabbix# ls -la
total 60
drwxr-xr-x  5 www-data root  4096 Mar 26 01:51 .
drwxr-xr-x 98 root     root  4096 Mar 26 01:10 ..
drwxr-xr-x  2 www-data root  4096 Oct 13  2016 alert.d
-rw-r--r--  1 www-data root  7858 Oct 13  2016 zabbix_agentd.conf
drwxr-xr-x  2 www-data root  4096 Oct 13  2016 zabbix_agentd.conf.d
-rw-r--r--  1 www-data root 13505 Mar 26 01:51 zabbix_server.conf
-rw-r--r--  1 www-data root 13480 Mar 26 01:49 zabbix_server.conf.bk
drwxr-xr-x  2 www-data root  4096 Oct 13  2016 zabbix_server.conf.d

zabbixのphpを有効にする

root@hostname:/etc/zabbix# a2enconf zabbix-frontend-php 
Enabling conf zabbix-frontend-php.
To activate the new configuration, you need to run:
  service apache2 reload

ここまでくればzabbixのセットアップが動作するのであと一息です。

zabbixのセットアップ要件の注意点

zabbixのセットアップ要件で「php always_populate_raw_post_data」が「off」を要求されます。ただUbuntu16.04標準のPHP7では当該オプションは削除されているため、セットアップが完了しません。そのためzabbixのsetupフォルダ内の該当箇所の調整が必要になります。

root@hostname:/usr/share/zabbix/include/classes/setup# diff CFrontendSetup.php CFrontendSetup.php.bak 
348d347
<               $current = -1;

動作確認

ログイン画面

URLは、「http://ipアドレス/zabbix」になります。

初期のusernameとpasswordは

  • username:admin
  • password:zabbix

のようです。

トップ画面


う、動いたー。