Zabbixサーバ構築してみたのでその構築手順など

2020/03/22

更新するのがめちゃくちゃ久しぶりですが、家のサーバ監視基盤が何もなかったのでZabbixを導入してみました。トリガーやアラート設定までは完了してないですが、基盤構築までの手順を紹介していきます。

目次

構成

・Linux 4.14.3-1.el6.elrepo.x86_64
・CentOS 6.9 (Final)
・Apache 2.4
・PHP 5.5.3
・Zabbix 3.0.18

Zabbixインストール

Zabbixの公式リポジトリを追加した後にインストールしていきます。

# rpm -ivh https://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

# yum install -y zabbix zabbix-server zabbix-server-mysql

ここで注意したいのは、『zabbix-server-pgsql.x86_64』を混ぜてインストールしないこと。
Zabbixのmysql版とpgsql版を2つインストールすると、どうしてもMySQLが読み込めない時があるようです。
https://stackoverflow.com/questions/28712699/zabbix-server-mysql-connection-issue

MySQLインストールと設定

Zabbixが使用するDBをインストールします。今回はMySQLを選択しました。

# yum install -y mysql-server

インストール後、『/etc/my/cnf』に以下の記述を追加して下さい(色付き部を追加)
# vi /etc/my/cnf
==========================
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

 default-character-set=utf8
 skip-character-set-client-handshake

 innodb_file_per_table
 innodb_buffer_pool_size=64M
 innodb_log_file_size=16M
 innodb_log_files_in_group=2
==========================

次にZabbix用データベースの準備をしていきます。まずMySQLを起動させます。
# /etc/rc.d/init.d/mysqld start
# chkconfig mysqld on

MySQLに接続します。
# mysql -u root

Zabbix用のデータベースを作成します。
データベース名:zabbix ユーザ名:zabbix パスワード:123456789(好きなのに変えて下さい)
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ' 123456789';
mysql> flush privileges;
mysql> exit

ここでデータベース設定は終了です。Zabbix側の設定をやっていきます。

Zabbix設定(サーバサイド)

Zabbix用DBへ初期データ?基礎データ?を入れていきます。
# cd /usr/share/doc/zabbix-server-mysql-3.0.18/
# gunzip create.sql.gz
# cat create.sql | mysql -u zabbix -p zabbix
(パスワードを聞かれるので`123456789`を入力)

Zabbixのコンフィグファイルを編集します。4つのディレクティブを設定して下さい。
# vi /etc/zabbix/zabbix_server.conf
 DBName=zabbix
 DBUser=zabbix
 DBPassword=123456789
 DBSocket=/var/lib/mysql/mysql.sock

ここでサーバ側の設定は完了です。サーバを起動させてWeb画面の設定をしていきます。
# /etc.rc.d/init.d/zabbix-server start
# chkconfig zabbix-server on

Zabbix設定(Webサイド)

ZabbixのWeb画面を表示するのはApache2.4以上、PHP5.5が必要なのですが、公式リポジトリからでは2.2と5.3.3までしか配信されていないので RedHat Software Collection (SCL) からApache 2.4とPHP 5.5をインストールしていきます。

# yum install -y centos-release-scl
# yum install -y httpd24-httpd php55-php php55-php-bcmath php55-php-gd php55-php-ldap php55-php-mbstring php55-php-xml php55-php-mysqlnd

SCLでインストールしたソフトウェアは『有効』にしてから『起動』という手順を踏まないと利用できません。
OS再起動時でも自動的に『有効』にするために以下のスクリプトを作ります。
# vi /etc/profile.d/php55.sh
 #!/bin/bash
 source scl_source enable php55

ここでログオフ/ログインをしてphpが5.5以上であることを確認して下さい
# php --version
 PHP 5.5.21 (cli) (built: Aug 30 2016 13:51:02)
 Copyright (c) 1997-2014 The PHP Group
 Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

Webサーバの基盤が整ったので、Zabbix用UIをインストールしていきます。
# yum install -y zabbix-web zabbix-web-mysql zabbix-web-japanese

ApacheにZabbix用コンフィグ設定が必要ですがZabbix側が用意してくれているのでコピーします。
# cp /usr/share/doc/zabbix-web-3.0.13/httpd24-example.conf /opt/rh/httpd24/root/etc/httpd/conf.d/zabbix.conf

コピーしたコンフィグファイルに以下の部分を追加して下さい。

# vi /opt/rh/httpd24/root/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
Require all granted

<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
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Tokyo
</IfModule>
</Directory>
========================

ここまで設定できたらApacheを起動させて下さい。
# /etc/rc.d/init.d/httpd24-httpd restart
# chkconfig httpd24-httpd on

Webブラウザでアクセスする前にファイヤーウォールの穴あけが必要です。MySQLで1つ、Zabbixで3つ必要です。
tcp:3306
tcp:80
tcp:10050
tcp:10051

Zabbix設定(DBサイド)

Webプラウザで以下のURLにアクセスしてセットアップを続けて下さい。
http://Zabbixサーバアドレス/zabbix

入力欄は以下の感じで入力します。
Configure DB connection
Database type : MySQL
Database host : 127.0.0.1
Database port : 0 (default port)
Database name : zabbix
User : zabbix
password : 123456789

Zabbix server details
Host : 127.0.0.1
Port : 10051
Name : −(何も入力しない)

稼働確認

Webプラウザで以下のURLにアクセスして、『Zabbixサーバの起動 はい』になっていればOK

次回はこのZabbixで収集したDBを使用でしてキレイなグラフを作成して表示することができるGrafana連携手順を書きたいと思っています。



関連記事

シェア訴求文言

-CentOS
-, ,