LoginSignup
9
15

More than 5 years have passed since last update.

Zabbix 3.2をCentOS 7にインストールする

Last updated at Posted at 2016-10-24

Zabbixを本番運用するために、CentOS 7へとインストールします。
簡易的にするために、MySQLもすべて同じEC2上にインストールします。

環境

  • CentOS Linux release 7.2.1511 (Core)
  • Zabbix: 3.2.1
  • MySQL: 5.7.16

各種下準備

タイムゾーンの変更

timedatectl set-timezone Asia/Tokyo

必要パッケージのインストール

yum install -y wget

MySQLのインストール

ここを参考に適宜インストールします。
以下、参考として書いておきます。

cd /var/tmp
wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum localinstall mysql57-community-release-el7-9.noarch.rpm 
yum install mysql-community-server

# 起動
service mysqld start

# パスワードの確認
grep "temporary password" /var/log/mysqld.log

# 設定
mysql_secure_installation

# ログインの確認
mysql -uroot -p

つぎに文字コードを設定します。正しく設定しないと日本語を含んだ設定をZabbixで行おうとするとエラーになります。
以下を /etc/my.cnf に追加します。その後、再起動します。

[client]
default-character-set = utf8

[mysqld]

init-connect='SET NAMES utf8'
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci

[mysql]
default-character-set = utf8

Zabbixのインストール

パッケージのインストールとデータ作成

# リポジトリのインストール
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

# MySQL用にインストール
yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese 

# MySQLにzabbixデータベースを作成しておく
mysql -uroot -p -e 'create database zabbix'

# データベースがutf8で作られているか確認
mysql> SHOW CREATE DATABASE zabbix;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

# 初期データの作成
zcat /usr/share/doc/zabbix-server-mysql-3.2.1/create.sql.gz | mysql -uroot -p zabbix

Zabbixの設定

サーバ側のMySQL用設定を編集する。なおパスワードなどは適宜かえる。

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

PHP側のタイムゾーンを変える

vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone "Asia/Tokyo"

デフォルトでは http://example.com/zabbix でアクセスされるが、 http://example.com/ でアクセスさせるために以下の設定を行う

vi /etc/httpd/conf.d/zabbix.conf
Alias / /usr/share/zabbix/

Zabbixサーバを起動と自動起動設定

systemctl start zabbix-server
systemctl enable zabbix-server
systemctl restart httpd
systemctl enable zabbix-agent.service

Zabbix UI側での設定

http://example.com/ にアクセス後、以下のような画面がでれば正しくインストールできている。
Next stepでつぎに進み、各種設定する。
なお初期アカウントとパスワードはAdmin/zabbixである。

image

Zabbixエージェントのインストール、起動、自動起動設定

yum install zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent

上記の後、Zabbixサーバ側のWeb UIの[設定]=>[ホスト]で該当ステータスを有効にする。

image

しばらくすると、以下のように監視できていることがわかる。

image

Slack通知の設定

以下を参考に行う。 /usr/lib/zabbix/alertscripts/ にスクリプトを配置する

その他設定

以下はMacでのやり方だが、CentOSでも多少異なるだけで、設定可能。

エラー対処

cannot recreate Zabbix semaphores for IPC keyのエラーがでてZabbixエージェントが起動しない

以下を参考に解決できる。
* http://qphoney.hatenadiary.com/entry/2011/11/10/165704

Zabbix server is not running: the information displayed may not be currentのエラーがWeb UIで出る。

以下を参考に解決できる。
* http://qiita.com/atanaka7/items/294a639effdb804cfdaa

setsebool -P httpd_can_connect_zabbix on
setsebool -P zabbix_can_network on

Lack of free swap space on ... の警告が出る

swapが無いため出るが、必要ない場合はオフにする。

image

追記: ALBを入れてSSL通信し、HTTPで接続に来た場合はHTTPSにリダイレクトする

以下を想定する

User ==> ALB:443 ==> Zabbix:80

Apacheの設定ファイルに以下を追記すればよい。その後、Apacheを再起動する

vi /etc/httpd/conf.d/zabbix.conf 

以下を追記する
# force https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]

追記: サーバのホスト名を変える場合は以下

hostnamectl set-hostname zabbix.example.com

参考

9
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
15