Presented by DMZ. (非武装エリア)
最終更新日: 2019年7月07日
(This site is not official.)

Topに戻る

Zabbixインストール

前準備

システム要求に従い、必要なソフトのインストールを済ませておいてください。
こちらに今回用意した環境準備手順を載せておきます。 尚、DBは MySQL(MariaDB) を使用します。

インストール用イメージの入手・インストール

■リポジトリの追加

本資料ではZabbix 4をインストールする説明を行っていきます。 ZabbixはCentOS(Redhat)の場合には標準でパッケージに入っていないのでリポジトリを追加してパッケージとしてインストールできるようにします。 インストールに使うパッケージレポジトリについては、Zabbixのサイトに記載されているのでこれに従います。

【CentOS 7(x64), Redhat 7(x64) & Zabbix4.0の場合】

CentOSやRedhat用には、EPELリポジトリでインストールできるます。

# rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
# yum clean all
# yum search zabbix (zabbixがインストールできるか確認)


【Debian 10(x64)の場合】

Debian10では、Zabbix4.0がパッケージとして利用可能です。


■Zabbixソフトウェアのインストール

【CentOS 7(x64), Redhat 7(x64) & Zabbix4.0の場合】

# yum install zabbix40 zabbix40-server-mysql zabbix40-web zabbix40-web-mysql zabbix40-dbfiles-mysql.noarch
# yum install zabbix40-agent
# firewall-cmd --add-service=zabbix-server --zone=public --permanent --- ※1
# firewall-cmd --add-service=zabbix-agent --zone=public --permanent --- ※2

※1 ファイアーウォールを有効化している場合、Zabbixサーバ用のルールを追加します。
※2 ZabbixサーバにZabbixエージェントをインストールする場合、通常はLocalhostを使ってアクセスするのでファイアーウォールルールは不要です。IPアドレスを使ってアクセスしたい場合のみ設定します。


PHPをデフォルトでインストールされるVer5系ではなく、Ver7系を利用する場合は”/etc/httpd/conf.d/zabbix.conf”を集成して、Ver7系を使うように指定します。

<IfModule mod_php5.c>
     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

     # Removed in PHP 7
     php_value always_populate_raw_post_data -1

     php_flag session.auto_start off
     php_value mbstring.func_overload 0
     # php_value date.timezone UTC
</IfModule>

           ↓↓↓

<IfModule mod_php7.c>
     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

     # Removed in PHP 7
     #- php_value always_populate_raw_post_data -1

     #- php_flag session.auto_start off
     #- php_value mbstring.func_overload 0
     # php_value date.timezone UTC

</IfModule>


【Debian 10(x64), ubuntu(x64)の場合】

Debian10ではZabbix4.0がパッケージとして利用できるようになっています。

# apt-get install zabbix-server-mysql zabbix-frontend-php
# apt-get install zabbix-agent ※1

Debianの場合にはパッケージのインストール時にZabbix用のDBの作成も行われるので、これらのためのパスワードを予め用意しておき、インストールを実行してください。
DBに関する説明画面はこちら

インストール途中で、インストールするパッケージの確認やPGPキーのインストール確認を求めてきたら、「y」を入力してください。 またDebianの場合には、インストール途中でDB管理者パスワードとZabbix用のDBのパスワードを確認してきます。こちらの説明画面を参考に入力してください。
※1 Zabbixサーバ自身の監視を行わないのであれば、エージェントのインストールは不要です。Zabbixサーバ自身の監視も行う場合には、こちらを参考にしてエージェントをインストールしてください。
※2 インストールしなくても構いません。


■日本語フォントのインストール(IPAフォントを利用する場合)

パッケージでZABBIXをインストールすると、グラフなどの表示でフォントが文字化けを起こしてしまうのでその対策をします。汎用的な方法としてはIPAの日本語フォントを利用する方法があります。
Zabbiで使うフォントファイルは、/usr/share/zabbix/fonts に置かれている必要があるので、インスト―ルしたフォントファイルをこのディレクトリへシンボリックリンクします。
なお、インストールされたフォントファイルは以下に保存されます。
   CentOS、Redhat、Scientific Linux  Debian、Ubuntu
 TrueTypeフォント用ディレクトリの場所  /usr/share/fonts/  /usr/share/fonts/opentype/

【CentOS 7(x64), Redhat 7(x64)の場合】

# yum install ipa-gothic-fonts.noarch ipa-mincho-fonts.noarch ipa-pgothic-fonts.noarch ipa-pmincho-fonts.noarch
# ln -s /usr/share/fonts/ipa-pmincho/ipamp.ttf /usr/share/zabbix/fonts/ipamp.ttf
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/ipagp.ttf
# ln -s /usr/share/fonts/ipa-mincho/ipam.ttf /usr/share/zabbix/fonts/ipam.ttf
# ln -s /usr/share/fonts/ipa-gothic/ipag.ttf /usr/share/zabbix/fonts/ipag.ttf


【Debian 10(x64), ubuntu(x64)の場合】

# apt-get install fonts-ipaexfont fonts-ipafont
# ln -s /usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf /usr/share/zabbix/fonts
# ln -s /usr/share/fonts/opentype/ipaexfont-mincho/ipaexm.ttf /usr/share/zabbix/fonts
# ln -s /usr/share/fonts/opentype/ipafont-gothic/ipag* /usr/share/zabbix/fonts
# ln -s /usr/share/fonts/opentype/ipafont-mincho/ipam* /usr/share/zabbix/fonts


上記でインストールされたTureTypeフォントをZabbixのグラフ作成時に使用するように以下のファイルを編集します。
( /usr/share/zabbix/include/defines.inc.php )

::
::
// define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name

define('ZBX_GRAPH_FONT_NAME', 'ipag'); // FontFile name
::
::



■ MySQLのパラメータ調整

MySQLで利用する文字エンコードをUTFに変更するため、MySQLの設定ファイルを編集します。 MySQLの設定ファイルは以下の通りです。
   CentOS、Redhat、Scientific Linux  Debian、Ubuntu
MariaDB設定ファイル /etc/my.cnf.d/server.cnf  /etc/mysql/mariadb.conf.d/50-server.cnf
設定ファイルの編集部分は次の通りです。

[mysqld]
 ::
character-set-server = utf8
collation-server = utf8_bin
skip-character-set-client-handshake

MySQLがシステムブート時に自動的に起動するようにし、サービスを起動sいます。

【CentOS 7(x64), Redhat 7(x64)の場合】

# systemctl restart mariadb


【Debian 10(x64), ubuntu(x64)の場合】

# systemctl status mariadb


■ Zabbix用DB作成

最初にDBファイルを作成します。

# mysql -u root -p
mysql> CREATE DATABASE zabbixdb character set utf8 collate utf8_bin;
mysql> CREATE USER zabbix@localhost IDENTIFIED BY 'my_password_hogehoge';
mysql> GRANT ALL ON zabbixdb.* TO zabbix@localhost;
mysql> quit


■ Zabbix用DBへのインポート

続いて、作成したDBファイルにスキーマやデータをインポートします。

【CentOS 7(x64), Redhat 7(x64)の場合】

# mysql -u root -p zabbixdb < /usr/share/zabbix-mysql/schema.sql
(パスワードを確認してくるので、Mysqlの管理者(root)パスワードを指定する)
# mysql -u root -p zabbixdb < /usr/share/zabbix-mysql/images.sql
# mysql -u root -p zabbixdb < /usr/share/zabbix-mysql/data.sql


【Debian 10(x64), ubuntu(x64)の場合】

# zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql zabbixdb -u zabbix -p
(パスワードを確認してくるので、zabbixdb(zabbix)の管理者パスワードを指定する)
# zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql zabbixdb -u zabbix -p
# zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql zabbixdb -u zabbix -p


■ ZabbixサーバのDB指定の修正

DBの場所の指定をします。
(/etc/zabbix/zabbix_server.conf の修正)

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


■タイムゾーンの設定

Zabbixが利用するタイムゾーンを設定します。phpの設定ファイルを変更する方法と、apacheの変数を指定する2つの方法があります。(どちらを選んでも構いません)

(1).phpの設定ファイル"php.ini"を変更する方法

【php.iniの場所】
   CentOS、Redhat、Scientific Linux   Debian、Ubuntu 
 php.iniのある場所  /etc/php.ini  /etc/php/7.3/apache2/php.ini
(php.ini)

 ::
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = "Asia/Tokyo"

; http://php.net/date.default-latitude
 ::


(2).Apacheで変数を指定する方法

【Apacheの設定ファイルの場所】
   CentOS、Redhat、Scientific Linux   Debian、Ubuntu 
 php.iniのある場所 /etc/httpd/conf.d/zabbix.conf /etc/apache2/conf-available/zabbix-frontend-php.conf

 ::
<IfModule mod_php7.c>
     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 Asia/Tokyo
</IfModule>


■Apacheの起動

Apacheがシステムブート時に自動的に起動するようにし再起動します。Debianでは、Apacheの設定ファイルの有効化も行います。

【CentOS 7(x64), Redhat 7(x64)の場合】

# systemctl enable httpd
# systemctl restart httpd


【Debian 10(x64), ubuntu(x64)の場合】

# a2enconf zabbix-frontend-php
# systemctl enable apache2
# systemctl restart apache2


■Zabbixサーバーの起動

Zabbixサーバーがシステムブート時に自動的に起動するようにします。

【CentOS 7(x64), Redhat 7(x64)の場合】

# systemctl enable zabbix-server-mysql
# systemctl restart zabbix-server-mysql


【Debian 10(x64), ubuntu(x64)の場合】

Debianでは/etc/zabbix/zabbix.conf.php がデフォルトでセットされていないので、以下のようにセットします。

# cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php

続いてサーバを再起動します。

# systemctl enable zabbix-server
# systemctl restart zabbix-server


以上で、インストールは完了です。ブラウザから http://Zabbixサーバーのアドレス/zabbix にアクセスして初期設定を行っていきます。


Topに戻る