ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

オープンソース版Miracle ZBXをインストールしてみた

オープンソース版Miracle ZBXをインストールしてみました。すごい簡単でした。 手順をつらつらと書いてみます。

1.CentOS 7のインストール

今回セットアップしたMiracle ZBX 2.2は次のOSで動作するようですが、今回はCentOS 7.2を使いました。昨日PXEの設定をしたのでその確認も兼ねて...です。

2.MariaDBを事前にインストールしておく

CentOS 7には標準でMySQLサーバーはないので、MariaDBサーバーをインストールします。

# yum install mariadb mariadb-server

3.MariaDBのチューニングと設定

DBで使う文字コードの指定やパラメータチューニングを行います。

# vi /etc/my.cnf
...
[mysqld]
character-set-server=utf8
skip-character-set-client-handshake
innodb_file_per_table
innodb_buffer_pool_size=32M
innodb_log_file_size=8M
innodb_log_files_in_group=2

4.システムのアップデート

# yum update

5.MariaDBの起動と確認

MariaDBサーバーの起動とステータスの確認を行います。

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

6.Miracle ZBXのリポジトリーを追加

「MIRACLE ZBX 2.2 for ML6/7, RHEL6/7, CentOS6/7, Amazon Linux」の手順を参考に、リポジトリーを追加します。MIRACLE ZBX 2.2はZabbix 2.2に独自パッチがあたっているバージョンです。

www.miraclelinux.com

7.Miracle ZBXの設定

インストールの後は基本的にZabbix公式の手順に従って設定を行います。

3 パッケージからのインストール [Zabbix Documentation 2.2]

7.1 標準の設定と異なる部分

Miracle ZBXで利用するデータベースは次のように作りました。

# mysql -u root -p
MariaDB> create database zabbix;
MariaDB> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'mysqlzabbixpass';
MariaDB> quit;

ここではユーザーzabbix、パスワードmysqlzabbixpassを指定しました。

初期スキーマとデータのインポートは同バージョンのZabbixとは異なっていました。インポートするsqlファイルは ZBXバージョン2.2.11なので次のパスにありました。

# cd /usr/share/doc/zabbix-server-mysql-2.2.11/mysql
(sqlファイルがあるパスに移動)
# mysql -u root -p zabbix < ./schema.sql
# mysql -u root -p zabbix < ./images.sql
# mysql -u root -p zabbix < ./data.sql
(ちなみにインポートの順番が重要みたいです)

「ZabbixのWebインターフェース用のPHP設定の編集」のところはコメントアウトを外して次のように設定しました。

# 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
    <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 mbstring.func_overload 6
</Directory>
<Directory ~ "^/usr/share/zabbix/(conf|api|include)/">
    <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>

Zabbix Serverの設定を書き換えます。DBHostはZabbix Serverに一緒にインストールしたMariaDB ServerにDBを置くのでlocalhost、DBPasswordはDB作成時に指定したパスワードを設定します。

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=mysqlzabbixpass

8.サービスの再起動

各種サービスの再起動はsystemctlを利用します。

# systemctl restart httpd
# systemctl restart zabbix-server

9.ポートの解放

Zabbix frontendにアクセスする前に、必要なポートを解放します。

# firewall-cmd --zone=public --add-port=80/tcp
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --zone=public --add-port=10051/tcp
# firewall-cmd --zone=public --add-port=10051/tcp --permanent

この後Webインターフェイスにアクセスして初期設定を行います。初期設定はウィザード形式で、画面の指示に従ってデータベース名、DBアカウントなどを入力していきます。

終わったらいよいよログインです。

ログイン画面

ログイン画面。初期ユーザーはadmin/zabbixです。

f:id:ytooyama:20160428233007p:plain

ホーム画面

Miracle ZBXの場合、使い始めから日本語でインターフェイスが表示されます。

f:id:ytooyama:20160428233030p:plain

10.エージェントについて

Miracle ZBXのZabbixエージェントについては以下に情報があります。

www.miraclelinux.com

監視対象のサーバーにZabbixエージェントを入れたらTCP/10051番ポートを解放する必要があります。対象がLinuxの場合は最低限、次の設定を記述してエージェントの再起動、及び手動によるZabbixサーバーへのノード追加か、オートディスカバリー機能を使ってZabbixにノードを登録します。

# vi /etc/zabbix/zabbix_agentd.conf
...
Server=Zabbix ServerのIPアドレス
ListenIP=Zabbix AgentノードのIPアドレス
ServerActive=Zabbix ServerのIPアドレス

とりあえずMiracle ZBX 2.2はインストールできたので、Zabbix 3.0ベースのMiracle ZBX 3.0についてもそのうち触ってみたいと思います。

11.参考になった書籍

以下の書籍が非常にわかりやすいです。書籍のほか、Kindle版もあるようです。

http://www.amazon.co.jp/gp/product/B00N4M5S1C/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00N4M5S1C&linkCode=as2&tag=mozexpo-22www.amazon.co.jp