CentOS7にMIRACLE ZBXをインストールする。

zabbix

Written by Kohei Yamada Posted on 2016/12/16



はじめに

CetnOS7にMIRACLE ZBXをインストールをしてみました。


MIRACLE ZBXとは

オープンソース「Zabbix」をベースにしたシステム監視ソリューションです。
基本的にはZabbixと同様、オープンソースとして提供されているので無償で利用することが可能です。
詳細についてはミラクル・リナックスを見ていただければと思います。


今回の仕様

今回インストールした際のOSと各ミドルウェアのバージョンです。

version
OS    CentOS7.2
MIRACLE ZBX 3.0.4-1
Web   Apache/2.4.6
DB 5.5.50-MariaDB


インストール

それではインストールを行いたいと思います。


事前準備

まずはSELinuxを無効にしておきます。

$ sudo setenforce 0
$ sudo getenforce 
Permissive


MIRRACLE ZBXインストール:その1

それではzabbixのインストールを行います。まずはrpmキーとリポジトリファイルをインストールします。

$ sudo rpm --import http://ftp.miraclelinux.com/zbx/RPM-GPG-KEY-MIRACLE
$ sudo rpm -ihv http://ftp.miraclelinux.com/zbx/3.0/miracle-zbx-release-3.0-1.noarch.rpm
http://ftp.miraclelinux.com/zbx/3.0/miracle-zbx-release-3.0-1.noarch.rpm を取得中
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:miracle-zbx-release-3.0-1        ################################# [100%]

インストールができたらあとはyumでパッケージを指定してインストールするだけです。

$ sudo yum install miracle-zbx-server-mysql miracle-zbx-web miracle-zbx-web-mysql miracle-zbx-web-japanese miracle-zbx-java-gateway miracle-zbx-agent miracle-zbx-get miracle-zbx-sender
~~~ 省略 ~~~                                                                                                                            
完了しました!


MariaDBのインストール

今回はデータベースにMariaDBを利用します。インストールはyumで行えます。

$ sudo yum install mariadb mariadb-server
~~~ 省略 ~~~
完了しました!
$ sudo systemctl start mariadb


データベースの作成

MariaDBをインストールしたら、空のデータベースを作成します。

MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.00 sec)

作成が完了したらzabbixからアクセスするためのユーザーを作成します。

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'hogehoge';
Query OK, 0 rows affected (0.00 sec)

作成が完了したら/usr/share/doc/miracle-zbx-server-mysql-3.0.4/配下にあるスキーマ(create.sql.gz)を先ほど作成した空のデータベースへインポートします。

$ zcat /usr/share/doc/miracle-zbx-server-mysql-3.0.4/create.sql.gz | mysql -uroot zabbix


Apacheの設定

MIRACLE ZBXをインストールするとApacheも一緒にインストールされます。
また、/etc/httpd/conf.d/配下にzabbix.confが配置されるため、このファイルをブラウザからアクセスできるように修正します。

$ vi /etc/httpd/conf.d/zabbix.conf 

修正内容は5〜55行目のコメントアウトを外すだけで大丈夫です。

Alias /zabbix /usr/share/zabbix

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None

    <IfModule mod_authz_core.c>
      # Apache 2.4
      Require all granted
    </IfModule>

    <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order allow,deny
      Allow from all
    </IfModule>

    php_value max_execution_time 600
    php_value date.timezone Asia/Tokyo
    php_value memory_limit 256M
    php_value post_max_size 32M
    php_value upload_max_filesize 16M
    php_value max_input_time 600
    php_value always_populate_raw_post_data -1
</Directory>

<Directory ~ "^/usr/share/zabbix/(conf|api|include|local)/">
    <IfModule mod_authz_core.c>
      # Apache 2.4
      Require all denied
    </IfModule>

    <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order deny,allow
      Deny from all
    </IfModule>

    <files *.php>
      <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all denied
      </IfModule>

      <IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
      </IfModule>

    </files>
</Directory>

修正したらapacheを起動します。

$ sudo systemctl start httpd


zabbix-serverの設定

zabbix-serverの設定を行います。
ここでは接続先となるDBHostとzabbixアカウントのDBPasswordを設定します。

$ vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBPassword=hogehoge

先ほどmysqlコマンドで作成したアカウントとパスワードとなるため、作成したユーザーが違う場合はDBUser=zabbixも変更してください。

修正が完了したら起動します。

$ sudo systemctl start zabbix-server


自動起動設定

サーバーが再起動した際などでもプロセスが自動起動するよう設定しておきます。

$ sudo systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
$ sudo systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
$ sudo systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.


MIRRACLE ZBXインストール:その2

サーバーでの設定が一通り完了したら最後はブラウザから設定を行います。
まずはhttp://< IPまたはドメイン >/zabbixにアクセスします。

初期のユーザー名とパスワードを入力して「サインイン」します。

[初期]
ユーザー名:Admin
パスワード:zabbix

miracle-zabbix-install_01.png

「Next step」をクリックします。
miracle-zabbix-install_02.png

インストール要件の事前チェックが行われるので全て[OK]になっていれば「Next step」をクリックします。
miracle-zabbix-install_03.png

Database hostDatabase nameを指定し、アクセスするためのUserPasswordを入力して「Next stop」をクリックします。
miracle-zabbix-install_04.png

デフォルトで「Next step」をクリックします。
miracle-zabbix-install_05.png

内容を確認して問題なければ「Next step」をクリックします。
miracle-zabbix-install_06.png

最後に「Finish」をクリックしたらインスールが完了です。
miracle-zabbix-install_07.png

ログインしてZabbixサーバーの起動が[はい]になっているのでちゃんと動いているのが確認できます。
miracle-zabbix-install_08.png


気をつけるポイント

インストールする際にいくつか気をつけたほうがいいかなと思ったポイントがあったのでまとめておきたいと思います。

・MySQLはMariaDBへ変更。
CentOS7からMySQLがMariaDBにかわっています。yum install mysqlではなくyum install mariadbになります。

・SELinuxを無効にする。
SELinuxが有効になっているとZabbixサーバーの起動が「いいえ」となってしまい上手く認識されないので忘れず無効にしておきましょう。
miracle-zabbix-install_18.png

・データベーススキーマのインポートを忘れず行う。
データベースを作成したら忘れずにスキーマ(create.sq.gz)をインポートしましょう。
また、ZABBIX の場合、 create.sql.gz がある場所は/usr/share/doc/zabbix-proxy-mysql-3.0.0/などになりますが MIRACLE ZBX の場合は/usr/share/doc/miracle-zbx-server-mysql-3.0.4/になります。
出ないとブラウザ設定で先へ進めません。
miracle-zabbix-install_14.png


おわりに

初めてZabbixの構築を行いましたが、思ったより注意するポイントあるなと感じました。
特に初期データベースは自分でcreateしてからデータをインポートしないといけないのでうっかり忘れないよう注意ですね。
また、今回はMIRRACLE ZBXでしたが基本的な流れはZABBIXでも同じだと思います。(スキーマのあるパスとかが変わるくらい。)
あとは、CentOS7を初めてレベルで触ったのでそこらへんの扱いにちょっと手こずりました。まだまだですね。。。