現在SoftLayer環境で、OSSの検証をすすめているのですが、Zabbixも合わせて行うことになりました。
今回は、CentOS 7.3にすでにApache2.4.6.45、PostgreSQL9.6.2が導入されている環境に、Zabbix3.2を導入することに(サーバー兼エージェント)。
手順は、基本的に、公式マニュアルのZabbix Documentation 3.2に従ってインストールするとします。
1. 環境
項目 | バージョン |
---|---|
OS | CentOS 7.3 |
HTTP | Apache 2.4.6.45 |
DB | PostgreSQL 9.6.2 |
監視 | Zabbix 3.2 |
2. ユーザー作成
事前にzabbixのグループ/ユーザーを作成する。
[root@test01 ~]# grep zabbix /etc/group
zabbix:x:9500:zabbix
[root@test01 ~]# grep zabbix /etc/passwd
zabbix:x:9500:9500:Zabbix User:/home/zabbix:/bin/bash
3. Zabbixインストール
3.1 リポジトリーの登録
RHEL/CentOS用の登録します。
[root@test01 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
Retrieving http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.mIkL1q: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-release-3.2-1.el7 ################################# [100%]
[root@test01 ~]#
3.2 ZabbixサーバーとPostgreSQLの導入
ZabbixサーバーとPostgreSQLを導入します。
[root@test01 ~]# yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-web-japanese
(実行ログは省略)
※すでにPostgreSQLは稼動している環境のため、データベースの初期化は行わない
3.3 PostgreSQLのzabbix用ユーザーの作成
Zabbix用のPostgreSQLのユーザーを作成します。
今回は、zabbixユーザーとします。
[root@test01 pgsql]# su - postgres
Last login: Mon May 8 21:20:45 JST 2017 on pts/0
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? ntp-a3.nict.go.jp 0 10 0 10y +0ns[ +0ns] +/- 0ns
[postgres@test01 ~]$ createuser zabbix -P -S -R -D
Enter password for new role:
Enter it again:
[postgres@sistest01 ~]$
3.4 Zabbix用DBを作成
Zabbix用のDBを作成します。
今回はzabbixという名のDBとします。
[postgres@test01 ~]$ createdb -O zabbix -E UTF8 zabbix
[postgres@test01 ~]$ psql -l | grep zabbix
zabbix | zabbix | UTF8 | C | C |
[postgres@sistest01 ~]$
3.5 初期DBの作成
初期DB作成用のSQL文(圧縮ファイル)から初期DBを作成します。
[root@test01 pgsql]# zcat /usr/share/doc/zabbix-server-pgsql-3.2.*/create.sql.gz | psql -U zabbix zabbix
~省略~
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
COMMIT
[postgres@test01 ~]$ psql -U zabbix zabbix -c "\dt"
List of relations
Schema | Name | Type | Owner
--------+----------------------------+-------+--------
public | acknowledges | table | zabbix
public | actions | table | zabbix
public | alerts | table | zabbix
~省略~
public | valuemaps | table | zabbix
(127 rows)
3.6 ZabbixサーバーのDB構成ファイルの確認
/etc/zabbix/zabbix_server.confファイルで、以下の内容を確認する。
DBHost=
DBName=zabbix
DBUser=zabbix
DBPassword=<username_password>
※今回は、DBPasswordはコメントアウトのまま
3.7 Zabbixサーバーを起動
Zabbixサーバーを起動します。
[root@test01 zabbix]# systemctl start zabbix-server
[root@test01 zabbix]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@sistest01 zabbix]# ps -ef | grep zabbix
zabbix 3121 1 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix 3125 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: configuration syncer [waiting 60 sec for processes]
zabbix 3126 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.182777 sec, idle 60 sec]
zabbix 3127 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000005 sec, idle 5 sec]
zabbix 3128 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000003 sec, idle 5 sec]
zabbix 3129 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000004 sec, idle 5 sec]
zabbix 3130 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000005 sec, idle 5 sec]
zabbix 3131 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000003 sec, idle 5 sec]
zabbix 3132 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000004 sec, idle 5 sec]
zabbix 3133 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
zabbix 3134 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]
zabbix 3135 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection]
zabbix 3136 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]
zabbix 3137 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection]
zabbix 3138 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000004 sec, idle 5 sec]
zabbix 3139 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: alerter [sent alerts: 0 success, 0 fail in 0.000851 sec, idle 30 sec]
zabbix 3140 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
zabbix 3141 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 events in 0.000014 sec, 0 maintenances in 0.002796 sec, idle 30 sec]
zabbix 3142 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000864 sec, idle 5 sec]
zabbix 3143 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.001875 sec, idle 60 sec]
zabbix 3144 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items in 0.000003 sec, idle 1 sec]
zabbix 3145 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items in 0.000002 sec, idle 1 sec]
zabbix 3146 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items in 0.000002 sec, idle 1 sec]
zabbix 3147 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items in 0.000002 sec, idle 1 sec]
zabbix 3148 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.000860 sec, idle 3 sec]
zabbix 3149 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000003 sec, idle 5 sec]
zabbix 3150 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000005 sec, idle 1 sec]
zabbix 3151 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.000282 sec, idle 5 sec]
postgres 3152 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45020) idle
postgres 3153 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45022) idle
postgres 3154 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45024) idle
postgres 3155 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45026) idle
postgres 3161 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45030) idle
postgres 3162 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45032) idle
postgres 3163 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45034) idle
postgres 3164 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45036) idle
postgres 3165 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45038) idle
postgres 3166 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45040) idle
postgres 3167 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45042) idle
postgres 3168 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45044) idle
postgres 3169 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45046) idle
postgres 3170 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45048) idle
postgres 3171 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45050) idle
postgres 3172 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45052) idle
postgres 3173 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45054) idle
postgres 3174 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45056) idle
postgres 3175 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45058) idle
postgres 3176 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45060) idle
postgres 3177 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45062) idle
postgres 3178 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45064) idle
root 3349 1231 0 21:40 pts/0 00:00:00 grep --color=auto zabbix
3.8 ZabbixのPHP構成ファイルの編集
/etc/httpd/conf.d/zabbix.confについて、以下の内容を確認します。またタイムゾーンは日本なので、Asia/Tokyo に変更します。
[root@test01 conf.d]# ls
autoindex.conf php.conf README ssl.conf userdir.conf welcome.conf zabbix.conf zabbix.conf.org
[root@sistest01 conf.d]#[root@test01 conf.d]# grep php_value zabbix.conf
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 Europe/Riga
php_value date.timezone Asia/Tokyo
3.9 ZabbixサーバーとApacheの再起動
Zabbixサーバーとすでに稼動しているApacheも合わせて再起動します。
[root@test01 conf.d]# systemctl restart zabbix-server
[root@test01 conf.d]# systemctl restart httpd
3.10 Zabbixエージェントのインストール
Zabbixのエージェントをインストールします。
[root@test01 conf.d]# yum install zabbix-agent
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package zabbix-agent.x86_64 0:3.2.6-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================================================================
Package Arch Version Repository Size
================================================================================================================================================
Installing:
zabbix-agent x86_64 3.2.6-1.el7 zabbix 344 k
Transaction Summary
================================================================================================================================================
Install 1 Package
Total download size: 344 k
Installed size: 1.3 M
Is this ok [y/d/N]: y
Downloading packages:
zabbix-agent-3.2.6-1.el7.x86_64.rpm | 344 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : zabbix-agent-3.2.6-1.el7.x86_64 1/1
Verifying : zabbix-agent-3.2.6-1.el7.x86_64 1/1
Installed:
zabbix-agent.x86_64 0:3.2.6-1.el7
Complete!
3.11 エージェントの起動
Zabbixエージェントを起動します。
[root@test01 conf.d]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@test01 conf.d]# systemctl start zabbix-agent
[root@sistest01 conf.d]# ps -ef |grep zabbix
zabbix 3121 1 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix 3125 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.008431 sec, idle 60 sec]
zabbix 3126 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.008737 sec, idle 60 sec]
zabbix 3127 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000005 sec, idle 5 sec]
zabbix 3128 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000005 sec, idle 5 sec]
zabbix 3129 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000004 sec, idle 5 sec]
zabbix 3130 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000005 sec, idle 5 sec]
zabbix 3131 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000003 sec, idle 5 sec]
zabbix 3132 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000005 sec, idle 5 sec]
zabbix 3133 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
zabbix 3134 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]
zabbix 3135 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.002929 sec, waiting for connection]
zabbix 3136 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]
zabbix 3137 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection]
zabbix 3138 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000004 sec, idle 5 sec]
zabbix 3139 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: alerter [sent alerts: 0 success, 0 fail in 0.000699 sec, idle 30 sec]
zabbix 3140 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
zabbix 3141 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 events in 0.000014 sec, 0 maintenances in 0.000000 sec, idle 30 sec]
zabbix 3142 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000750 sec, idle 5 sec]
zabbix 3143 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000601 sec, idle 60 sec]
zabbix 3144 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items in 0.000001 sec, idle 1 sec]
zabbix 3145 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items in 0.000002 sec, idle 1 sec]
zabbix 3146 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items in 0.000001 sec, idle 1 sec]
zabbix 3147 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items in 0.000003 sec, idle 1 sec]
zabbix 3148 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.001167 sec, idle 3 sec]
zabbix 3149 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000004 sec, idle 5 sec]
zabbix 3150 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000006 sec, idle 1 sec]
zabbix 3151 3121 0 21:39 ? 00:00:00 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.000438 sec, idle 5 sec]
postgres 3152 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45020) idle
postgres 3153 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45022) idle
postgres 3154 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45024) idle
postgres 3155 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45026) idle
postgres 3161 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45030) idle
postgres 3162 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45032) idle
postgres 3163 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45034) idle
postgres 3164 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45036) idle
postgres 3165 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45038) idle
postgres 3166 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45040) idle
postgres 3167 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45042) idle
postgres 3168 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45044) idle
postgres 3169 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45046) idle
postgres 3170 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45048) idle
postgres 3171 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45050) idle
postgres 3172 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45052) idle
postgres 3173 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45054) idle
postgres 3174 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45056) idle
postgres 3175 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45058) idle
postgres 3176 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45060) idle
postgres 3177 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45062) idle
postgres 3178 2582 0 21:39 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45064) idle
postgres 3351 2582 0 21:40 ? 00:00:00 postgres: zabbix zabbix 127.0.0.1(45066) idle
zabbix 3759 1 0 21:46 ? 00:00:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 3760 3759 0 21:46 ? 00:00:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 3761 3759 0 21:46 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 3762 3759 0 21:46 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 3763 3759 0 21:46 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 3764 3759 0 21:46 ? 00:00:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 3769 1231 0 21:46 pts/0 00:00:00 grep --color=auto zabbix
4. ブラウザからアクセス
4.1 ブラウザの起動
Webブラウザから、Zabbixへ接続します。
※この環境はApacheは10080portで起動している
4.2 pre-requisitesの確認
Check of pre-requisitesを確認し、すべてOKであれば、Next stepをクリックします。
4.3 DB接続の構成
PostgreSQLに接続するための、ポート番号、DB名、ユーザー、パスワードを入力します。
4.4 Zabbixサーバーの詳細設定
特に何も入れることなく、次へ進みます。
4.5 設定内容の確認
内容を確認し、次へ進みます。
4.6 設定完了
設定が完了したら、Finishをクリックします。
4.7 ログイン
ログイン画面が表示されるため、管理者ユーザーであるAdmin(パスワードはzabbix)でログインします。
ログインすると以下の画面が表示されます。
5. 日本語に変更
Languageの項目をJapanese(ja_JP)に変更し、Updateをクリックします。
※Themaでは画面の色を変更できます。
画面が日本語になりました。
6. Zabbixサーバーの監視
トップ画面の設定⇒ホストをクリックします。
Zabbix Serverのチェックボックスにチェックをいれ、有効をクリックします。
これでZabbixサーバーの監視ができます。