Centos7にサーバー監視ツール Zabbix4.0を構築する

Centos7にサーバー監視ツール Zabbix4.0を構築する

Centos7にサーバー監視ツール Zabbix4.0を構築した際の、構築手順

Centos7バージョン

# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

準備

## EPELリポジトリのインストール(rootで作業)
yum -y install epel-release
yum -y update

## Remiリポジトリのインストール
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

## mysql
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

Mysqlインストール

## mysql インストール
yum -y install mysql-community-devel
yum -y install mysql-community-server

## mysql設定変更
vi /etc/my.cnf

<変更箇所>
#default-authentication-plugin=mysql_native_password
↓
default-authentication-plugin=mysql_native_password

## 起動
systemctl start mysqld

## 自動起動
systemctl enable mysqld

## rootパスワード確認
grep password /var/log/mysqld.log

<出力結果>
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <パスワードが表示される>

## rootパスワード変更
mysql_secure_installation --use-default

<出力結果>
Securing the MySQL server deployment.

Enter password for user root:<rootパスワードを入力>

The existing password for the user account root has expired. Please set a new password.
 
New password: <新しいパスワードを入力> 
Re-enter new password: <新しいパスワードを入力>

Zabbix4.0インストール

## zabbix リポジトリ(現時点で最新のものを取得)
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

## zabbixインストール
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
yum -y install zabbix-agent
yum -y install zabbix-get

Zabbix用のデータベースとユーザーの作成

## mysqlログイン
mysql -u root -p

<mysql>
CREATE DATABASE zabbix character set utf8 collate utf8_bin;

CREATE USER zabbix@localhost IDENTIFIED BY '<パスワード>';

GRANT ALL ON zabbix.* TO zabbix@localhost;

quit;

## 移動
cd /usr/share/doc/zabbix-server-mysql-4.0.3/ 
mysql-4.0.3 → バージョンに合わせる

zcat create.sql.gz | mysql -u zabbix -p zabbix

Zabbix設定

## zabbix DBパスワード設定
vi /etc/zabbix/zabbix_server.conf

<変更箇所>
# DBPassword=
↓
DBPassword=<パスワード>

## apache 設定
vi /etc/httpd/conf.d/zabbix.conf

<変更箇所>
<IfModule mod_php5.c>
 ↓
<IfModule mod_php7.c>
 
# php_value date.timezone Europe/Riga
 ↓
php_value date.timezone Asia/Tokyo

## Zabbixの起動と自動起動
systemctl start zabbix-server
systemctl enable zabbix-server

## Apacheの起動と自動起動
systemctl start httpd
→ 起動せず

80番ポートを既に利用しているためポートを変更

## apache ポート変更
vi /etc/httpd/conf/httpd.conf

<変更箇所>
Listen 80
↓
Listen 81

## 再度Apacheの起動と自動起動
systemctl start httpd
systemctl enable httpd

## zabbixエージェント起動
systemctl start zabbix-agent
systemctl enable zabbix-agent

## zabbixバージョン確認
zabbix_get -s 127.0.0.1 -k agent.version

<出力結果>
4.0.12

firewall設定

## 81ポート開放
firewall-cmd --add-port=81/tcp --permanent

## 再起動
firewall-cmd --reload

Zabbix起動確認

ブラウザより http://IPアドレス:81/zabbix/にアクセス

起動しない。。。

## エラーログ確認
more /etc/httpd/logs/error_log

<出力結果>
PHP Fatal error:  Uncaught Exception: Cannot start session. in /usr/share/zabbix/include/classes/core/CSession.php:50\nStack trace:\n#0 /usr/share/zabbix/setup.php(60)

## 権限確認
ls -al /var/lib/php/
drwxr-xr-x   4 root root    38  9月 13 15:48 .
drwxr-xr-x. 34 root root  4096  9月 14 10:46 ..
drwxrwx---   2 root nginx    6  8月  4 18:07 session
drwxrwx---   2 root nginx    6  8月  4 18:07 wsdlcache

nginx 権限になっていたので変更

## 権限変更
chown root:apache /var/lib/php/*
drwxr-xr-x   4 root root     38  9月 13 15:48 .
drwxr-xr-x. 34 root root   4096  9月 14 10:46 ..
drwxrwx---   2 root apache    6  8月  4 18:07 session
drwxrwx---   2 root apache    6  8月  4 18:07 wsdlcache

## apache 再起動
systemctl restart httpd ; systemctl restart php-fpm

無事接続

Zabbix初期設定

状態確認。全てOKなので問題なし、次へ

設定したパスワードを入力し次へ

問題なので次へ

設定確認。問題なければ次へ

インストール完了

初期ユーザーでログイン
Username:Admin
Password:zabbix

Zabbix日本語化と初期パスワードの変更

人型のアイコンをクリックし、 初期パスワードの変更とLanguageに
「Japanese(ja_JP)」を選択