はじめに
zabbixの最新版(現時点で4.2.1)をインストールしたので備忘録。
以下のページを参考にしています。
環境
- OS: CentOS 7.6
- Zabbix
- Version: 4.2.1
- WEB: apache
- DB: mariadb
なお、firewalld
とSELinux
はどちらもdisable。
インストール
今回はyum
にてインストール。
Zabbix Official Repositoryからダウンロード。
rpm -ivh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
yum install -y zabbix-server-mysql zabbix-web-mysql
yum install -y zabbix-agent
yum install -y mariadb mariadb-server
yum install -y httpd httpd-devel
指摘があったので追記(2019/7/6)
日本語のUIも使用する場合は以下もインストール。
yum install -y zabbix-web-japanese
ユーザ追加
zabbix用のユーザを登録する。
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
DBの設定
mariadbを起動
systemctl enable mariadb.service
systemctl start mariadb.service
zabbix用のデータベースを作成。(パスワードはzabbix)
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
quit;
サーバーの初期スキーマとデータをインポート。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
zabbix_server.confの編集
/etc/zabbix/zabbix_server.conf
の84行目あたりからDBの設定が記載されているため、自身の環境に合わせて編集。
(DBPasswordはコメントアウトされているため、追記。)
DBHost = localhost
DBName = <DB_name>
DBUser = <DB_user>
DBPassword = <DB_password>
WebUIの設定
WebUI用のApache設定ファイル(/etc/httpd/conf.d/zabbix.conf
)を編集する。
タイムゾーンの設定がコメントアウトされているため、Asia/Tokyo
に設定する。
# php_value date.timezone Europe/Riga
↓
php_value date.timezone Asia/Tokyo
zabbix-serverの起動
自動起動を有効化し、zabbix-serverを起動する。
systemctl enable zabbix-server
systemctl start zabbix-server
systemctl start httpd
Installation
zabbixを起動後にブラウザからzabbixサーバのURL(http://<server_ip_address>/zabbix/
)へアクセスすると、以下のような画面が表示される。
2つ目の"Check of pre-requisites"の"Next step"をクリックしても次の画面に遷移しなかったため、以下を参考にして、設定を追加。
/etc/zabbix/web/zabbix.conf.php
というファイルを作成し、以下の内容を記載。
<?php
// Zabbix GUI configuration file
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = '<DB_name>';
$DB['USER'] = '<DB_user>';
$DB['PASSWORD'] = '<DB_password>';
// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
再度zabbixサーバのURLにアクセスすることでログイン画面が表示される。
あとがき
ここが間違っている。とかあればコメントもらえるとありがたいです。
これをAnsibleで自動化することが今後の課題。。。