監視システム(NMS)
目次
GCP環境にZabbix Serverを構築する際の手順。
ComputeEngineとCloudSQLを用いた構築を行う。
| Zabbix | Zabbix 6.0 LTS |
| OS | Rocky Linux 8.7 |
| DB | MySQL 8.0 |
以下の環境を用いる。
| マシンタイプ | e2-small |
| vCPU | 0.5〜2 vCPU(1 個の共有コア) |
| Memory | 2 GB |
| OS | Rocky Linux 8.7 |
| ブートディスク | 30 GB |
| マシンタイプ | 軽量 |
| vCPU | 1 vCPU |
| Memory | 3.75 GB |
| ストレージ | 10 GB |
| DB のバージョン | MySQL 8.0 |
SELinuxが有効化されているとCloudSQLとの接続に失敗するため、無効に設定を変更する。
vi /etc/selinux/config SELINUX=disabled
SELinuxの設定を反映するため、再起動を行う。
reboot
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
dnf clean all
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
MySQLのlog_bin_trust_function_creatorフラグを有効化する
| ユーザ名 | zabbix |
| パスワード | zabbix |
| ホスト名 | 全てのホストを許可する |
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アドレス]
最低限動作させるためには以下の設定が必要。
vi /etc/zabbix/zabbix_server.conf
DBHost=[CloudSQL IPアドレス] DBName=[DB名] DBUser=[ユーザ名] DBPassword=[パスワード]
vi /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1 ServerActive=127.0.0.1 # Hostname=Zabbix Server HostnameItem=system.hostname
インターネットにZabbixのログイン画面を晒すことはセキュリティ上のリスクを生む可能性があるため、最低限の対策としてBASIC認証の設定を行う。
mkdir /etc/httpd/auth cd /etc/httpd/auth htpasswd -c .htpasswd [USER]
vi /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サーバのURLにアクセスした直後にZabbixのパスへリダイレクトさせるための設定。
vi /var/www/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>以下のコマンドを実行し、サービスを起動する。
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 |
Webブラウザから以下のURLへアクセスを行い、以下の作業を行う。
http://[サーバIP]/zabbix/
初期設定の完了後、ログイン画面が表示される。
| ユーザ | Admin |
| パスワード | zabbix |
ログイン後、Adminユーザのパスワードは必ず変更すること。
Zabbix Agentのホスト名設定を変更しているため、初期状態で登録されている自己監視の設定を変更する必要がある。