[[監視システム(NMS)]]
目次~
#contents
*概要 [#e24f21f6]
GCP環境にZabbix Serverを構築する際の手順。~
ComputeEngineとCloudSQLを用いた構築を行う。~
**環境情報 [#rf33ed36]
***ソフトウェア構成 [#u9f0b2a4]
|Zabbix|Zabbix 6.0 LTS|
|OS|Rocky Linux 8.7|
|DB|MySQL 8.0|
***GCP [#acec76ee]
以下の環境を用いる。~
-ComputeEngine
|マシンタイプ|e2-small|
|vCPU|0.5〜2 vCPU(1 個の共有コア)|
|Memory|2 GB|
|OS|Rocky Linux 8.7|
|ブートディスク|30 GB|
-CloudSQL
|マシンタイプ|軽量|
|vCPU|1 vCPU|
|Memory|3.75 GB|
|ストレージ|100 GB|
|DB のバージョン|MySQL 8.0|
*インストール手順 [#qc6aa51d]
**SELinuxの無効化 [#z7fdbd4f]
SELinuxが有効化されているとCloudSQLとの接続に失敗するため、無効に設定を変更する。~
vi /etc/selinux/config
SELINUX=disabled
SELinuxの設定を反映するため、再起動を行う。
reboot
**パッケージ導入 [#ra1f1c3b]
-リポジトリのインストール
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
~
dnf clean all
-Zabbixのインストール
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-web-japanese zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get zabbix-sender zabbix-web-service
-インストールされるパッケージ一覧~
================================================================================================================
Package Arch Version Repository Size
==============================================================================================================
Installing:
zabbix-agent x86_64 6.0.17-release1.el8 zabbix 556 k
zabbix-apache-conf noarch 6.0.17-release1.el8 zabbix 25 k
zabbix-get x86_64 6.0.17-release1.el8 zabbix 393 k
zabbix-selinux-policy x86_64 6.0.17-release1.el8 zabbix 297 k
zabbix-sender x86_64 6.0.17-release1.el8 zabbix 435 k
zabbix-server-mysql x86_64 6.0.17-release1.el8 zabbix 1.7 M
zabbix-sql-scripts noarch 6.0.17-release1.el8 zabbix 7.3 M
zabbix-web-japanese noarch 6.0.17-release1.el8 zabbix 25 k
zabbix-web-mysql noarch 6.0.17-release1.el8 zabbix 24 k
zabbix-web-service x86_64 6.0.17-release1.el8 zabbix 3.2 M
Installing dependencies:
OpenIPMI-libs x86_64 2.0.31-3.el8 baseos 508 k
apr x86_64 1.6.3-12.el8 appstream 128 k
apr-util x86_64 1.6.1-6.el8.1 appstream 104 k
dejavu-fonts-common noarch 2.35-7.el8 baseos 73 k
dejavu-sans-fonts noarch 2.35-7.el8 baseos 1.5 M
fontconfig x86_64 2.13.1-4.el8 baseos 273 k
fontpackages-filesystem noarch 1.44-22.el8 baseos 15 k
fping x86_64 3.16-1.el8 zabbix-non-supported 51 k
gd x86_64 2.2.5-7.el8 appstream 143 k
glibc-langpack-ja x86_64 2.28-211.el8 baseos 338 k
google-noto-cjk-fonts-common noarch 20190416-1.el8 appstream 19 k
google-noto-sans-cjk-ttc-fonts noarch 20190416-1.el8 appstream 85 M
httpd x86_64 2.4.37-51.module+el8.7.0+1182+86a6cd60.5 appstream 1.4 M
httpd-filesystem noarch 2.4.37-51.module+el8.7.0+1182+86a6cd60.5 appstream 42 k
httpd-tools x86_64 2.4.37-51.module+el8.7.0+1182+86a6cd60.5 appstream 109 k
jbigkit-libs x86_64 2.1-14.el8 appstream 54 k
libX11 x86_64 1.6.8-5.el8 appstream 610 k
libX11-common noarch 1.6.8-5.el8 appstream 157 k
libXau x86_64 1.0.9-3.el8 appstream 36 k
libXpm x86_64 3.5.12-9.el8_7 appstream 57 k
libjpeg-turbo x86_64 1.5.3-12.el8 appstream 156 k
libtiff x86_64 4.0.9-26.el8_7 appstream 188 k
libtool-ltdl x86_64 2.4.6-25.el8 baseos 57 k
libwebp x86_64 1.0.0-8.el8_7 appstream 272 k
libxcb x86_64 1.13.1-1.el8 appstream 228 k
libxslt x86_64 1.1.32-6.el8 baseos 249 k
mailcap noarch 2.1.48-3.el8 baseos 38 k
mariadb-connector-c x86_64 3.1.11-2.el8_3 appstream 199 k
mariadb-connector-c-config noarch 3.1.11-2.el8_3 appstream 14 k
mod_http2 x86_64 1.15.7-5.module+el8.7.0+1182+86a6cd60.4 appstream 154 k
net-snmp-libs x86_64 1:5.8-25.el8_7.1 baseos 826 k
nginx-filesystem noarch 1:1.14.1-9.module+el8.4.0+542+81547229 appstream 23 k
php-bcmath x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 78 k
php-common x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 660 k
php-fpm x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 1.6 M
php-gd x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 83 k
php-json x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 72 k
php-ldap x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 78 k
php-mbstring x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 579 k
php-mysqlnd x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 189 k
php-pdo x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 121 k
php-xml x86_64 7.2.24-1.module+el8.4.0+413+c9202dda appstream 187 k
rocky-logos-httpd noarch 86.3-1.el8 baseos 24 k
unixODBC x86_64 2.3.7-1.el8 appstream 453 k
zabbix-web noarch 6.0.17-release1.el8 zabbix 8.2 M
zabbix-web-deps noarch 6.0.17-release1.el8 zabbix 25 k
Installing weak dependencies:
apr-util-bdb x86_64 1.6.1-6.el8.1 appstream 23 k
apr-util-openssl x86_64 1.6.1-6.el8.1 appstream 26 k
Enabling module streams:
httpd 2.4
nginx 1.14
php 7.2
-依存関係外の関連パッケージをインストール
dnf install php php-cli net-snmp net-snmp-utils mysql
-運用上必要なコマンドをインストール
dnf install nmap telnet wget
**データベースの作成 [#k3178de4]
***log_bin_trust_function_creatorを有効化 [#sd66cc9a]
MySQLのlog_bin_trust_function_creatorフラグを有効化する~
-1. CloudSQLのインスタンス設定を開き、[編集]を選択
-2. [フラグ]セクションを開き、[フラグの追加]を押下
-3. 「log_bin_trust_function_creators」をオンに変更して保存
***アカウントの作成 [#k9ee469a]
-1. CloudSQLのインスタンス設定を開き、[ユーザ]を選択
-2. [ユーザアカウントを追加]を選択し、以下を作成~
|ユーザ名|zabbix|
|パスワード|zabbix|
|ホスト名|全てのホストを許可する|
***データベースの作成 [#f466d923]
-データベースへのログイン
mysql -u root -p -h [IPアドレス]
-データベースの作成と権限の付与
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> grant all privileges on zabbix.* to zabbix;
mysql> quit
-スキーマとデータの投入
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix -h [IPアドレス]
**Zabbixの設定 [#waddda83]
最低限動作させるためには以下の設定が必要。~
vi /etc/zabbix/zabbix_server.conf
-DB関連設定
DBHost=[CloudSQL IPアドレス]
DBName=[DB名]
DBUser=[ユーザ名]
DBPassword=[パスワード]
**Zabbix Agentの設定 [#v635b27e]
vi /etc/zabbix/zabbix_agentd.conf
-ZabbixAgent監視用設定
Server=127.0.0.1
ServerActive=127.0.0.1
# Hostname=Zabbix Server
HostnameItem=system.hostname
**Web UI関連設定 [#y22fac1d]
***BASIC認証の付与 [#u6ee1751]
インターネットにZabbixのログイン画面を晒すことはセキュリティ上のリスクを生む可能性があるため、最低限の対策としてBASIC認証の設定を行う。~
-パスワードファイルの作成
mkdir /etc/httpd/auth
cd /etc/httpd/auth
htpasswd -c .htpasswd [USER]
-BASIC認証の設定
vi /etc/httpd/conf.d/zabbix.conf
-/etc/httpd/conf.d/zabbix.conf
AuthType Basic
AuthName "Please enter your password"
AuthUserfile /etc/httpd/auth/.htpasswd
Require ip 127.0.0.1
Require valid-user
# Require all granted
***ページリダイレクト [#a5de6f18]
サーバのURLにアクセスした直後にZabbixのパスへリダイレクトさせるための設定。~
-index.htmlを作成
vi /var/www/html/index.html
-index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="uft-8">
<script>
setTimeout("location.href='/zabbix/'",0);
</script>
<title>redirect</title>
</head>
<body>
</body>
</html>
**サービス機能と自動起動有効化 [#z13fa225]
以下のコマンドを実行し、サービスを起動する。
-サービスの起動
systemctl restart zabbix-server zabbix-agent httpd php-fpm
-サービスの自動起動設定
systemctl enable zabbix-server zabbix-agent httpd php-fpm
起動後、各サービスの正常性は以下のログから確認を行う。~
|Zabbix Server|/var/log/zabbix/zabbix_server.log|
|Zabbix Agent|/var/log/zabbix/zabbix_agentd.log|
|httpd|/var/log/httpd/error_log|
|php-fpm|/var/log/php-fpm/error.log |
**Zabbix Web UIの設定 [#y2d12d1e]
Webブラウザから以下のURLへアクセスを行い、以下の作業を行う。~
http://[サーバIP]/zabbix/
-1. BASIC認証の確認
-2. Zabbix Web UIの初期設定
初期設定の完了後、ログイン画面が表示される。~
|ユーザ|Admin|
|パスワード|zabbix|
ログイン後、Adminユーザのパスワードは必ず変更すること。~
**自己監視設定の調整 [#qffbadfe]
Zabbix Agentのホスト名設定を変更しているため、初期状態で登録されている自己監視の設定を変更する必要がある。~
-1. [設定]→[ホスト]を開く
-2. 「Zabbix Server」のホスト設定を開く
-3. [ホスト名]欄にサーバのホスト名を設定(hostnameコマンドの出力値)
-4. [表示名]に「Zabbix server」を入力
-5. [更新]を押下して、設定を反映する