監視システム(NMS) 目次

概要

GCP環境にZabbix Serverを構築する際の手順。
ComputeEngineとCloudSQLを用いた構築を行う。

環境情報

ソフトウェア構成

ZabbixZabbix 6.0 LTS
OSRocky Linux 8.7
DBMySQL 8.0

GCP

以下の環境を用いる。

  • ComputeEngine
    マシンタイプe2-small
    vCPU0.5〜2 vCPU(1 個の共有コア)
    Memory2 GB
    OSRocky Linux 8.7
    ブートディスク30 GB
  • CloudSQL
    マシンタイプ軽量
    vCPU1 vCPU
    Memory3.75 GB
    ストレージ10 GB
    DB のバージョンMySQL 8.0

インストール手順

SELinuxの無効化

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
  • 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

データベースの作成

log_bin_trust_function_creatorを有効化

MySQLのlog_bin_trust_function_creatorフラグを有効化する

  • 1. CloudSQLのインスタンス設定を開き、[編集]を選択
  • 2. [フラグ]セクションを開き、[フラグの追加]を押下
  • 3. 「log_bin_trust_function_creators」をオンに変更して保存

アカウントの作成

  • 1. CloudSQLのインスタンス設定を開き、[ユーザ]を選択
  • 2. [ユーザアカウントを追加]を選択し、以下を作成
    ユーザ名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アドレス]

Zabbixの設定

最低限動作させるためには以下の設定が必要。

vi /etc/zabbix/zabbix_server.conf
  • DB関連設定
    DBHost=[CloudSQL IPアドレス]
    DBName=[DB名]
    DBUser=[ユーザ名]
    DBPassword=[パスワード]

Zabbix Agentの設定

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関連設定

BASIC認証の付与

インターネットに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

ページリダイレクト

サーバの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>

サービス機能と自動起動有効化

以下のコマンドを実行し、サービスを起動する。

  • サービスの起動
    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の設定

Webブラウザから以下のURLへアクセスを行い、以下の作業を行う。

http://[サーバIP]/zabbix/
  • 1. BASIC認証の確認
  • 2. Zabbix Web UIの初期設定

初期設定の完了後、ログイン画面が表示される。

ユーザAdmin
パスワードzabbix

ログイン後、Adminユーザのパスワードは必ず変更すること。

自己監視設定の調整

Zabbix Agentのホスト名設定を変更しているため、初期状態で登録されている自己監視の設定を変更する必要がある。

  • 1. [設定]→[ホスト]を開く
  • 2. 「Zabbix Server」のホスト設定を開く
  • 3. [ホスト名]欄にサーバのホスト名を設定(hostnameコマンドの出力値)
  • 4. [表示名]に「Zabbix server」を入力
  • 5. [更新]を押下して、設定を反映する

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-06-13 (火) 00:09:16 (315d)