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連携手順を書きたいと思っています。