zabbix

【入門】Zabbix サーバ (仮想アプライアンス 5.0 LTS) のInstall,Setup手順

仮想アプライアンス OVF のダウンロード&仮想マシンへインポート

以下サイトから仮想アプライアンス LTS 5.0 をダウンロードします。LTS は Long Term Support (ロングタームサポート) の略で、バグフィックスやセキュリティアップデート等が行われる期間の長い、安定バージョンです。

Download Zabbix appliance
Download and install the pre-compiled Zabbix appliance.
zabbix-sv-install-00
zabbix-sv-install-01
zabbix-sv-install-02
zabbix-sv-install-03
zabbix-sv-install-04
zabbix-sv-install-05
previous arrow
next arrow
zabbix-sv-install-00
zabbix-sv-install-01
zabbix-sv-install-02
zabbix-sv-install-03
zabbix-sv-install-04
zabbix-sv-install-05
previous arrow
next arrow

手順は以下の通りです。上記スライドショーと対比して見てください。(AMP ページではスライドショーが見えません。通常ページへ移動。)

  • ダウンロードした .tar.gz を Lhaplus 等で解凍します ( .ovf と .vmdk の 2 つのファイルを含むフォルダが展開されます)
  • .ovf を仮想環境へインポートします。例えば今回は VirtualBOX へインポートします。(スライド 2 枚目以降)

仮想マシンの起動、日本語環境セットアップ、日本語キーボード配列への変更

仮想マシンを起動し、root でログインします。初期パスワードは zabbix です。

日本語環境パッケージのインストール

# dnf -y install glibc-locale-source glibc-langpack-ja zabbix-web-japanese

キーボード配列変更

[状態確認]

# localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us

[設定変更]

# localectl set-locale LANG=ja_JP.utf8
# localectl set-keymap jp106

[再度状態確認]

# localectl
   System Locale: LANG=ja_JP.utf8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp

タイムゾーン変更

[状態確認]

# timedatectl
               Local time: Wed 2021-09-01 06:20:20 UTC
           Universal time: Wed 2021-09-01 06:20:20 UTC
                 RTC time: Wed 2021-09-01 15:20:17
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: n/a
          RTC in local TZ: no

[設定変更]

# timedatectl set-timezone Asia/Tokyo

[再度状態確認]

# timedatectl
               Local time: Wed 2021-09-01 15:21:54 JST
           Universal time: Wed 2021-09-01 06:21:54 UTC
                 RTC time: Wed 2021-09-01 15:21:52
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: n/a
          RTC in local TZ: no

また、php 関連のファイル 2 つを変更します。

# vi /etc/php.ini
~~~
;date.timezone=
date.timezone=Asia/Tokyo  # 追記
~~~
  [Esc -> :wq]
# vi /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Europe/Riga Asia/Tokyo
~~~
  [Esc -> :wq]

NW設定変更

この仮想アプライアンスでは NetworkManager が無効化されているので、nmcli や nmtui は使えません。ifcfg-eth0 を直接編集します。

DHCP から固定 IP に変更したい場合は以下のようにします。(固定 IP として 192.168.1.40/24, デフォルトゲートウェイとして 192.168.1.1, DNS サーバとして 192.168.1.1 を設定する場合の例)

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcpnone
IPADDR=192.168.1.40
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
~~~
  [ESC -> :wq]

その後、ネットワークサービスを再起動します。

# systemctl restart network

Web UI の https 化 (自己署名)

デフォルトでは Web UI (nginx) のアクセスは http になっていますが、これを https に変更します。

プリインストールされている openssl を使って www.example.com 用の証明書を作成します。

[秘密鍵生成]

# cd /etc/pki
# mkdir -p nginx/private
# cd nginx/private
# openssl genrsa -out server.key 2048

[CSR 生成]

# openssl req -new -key server.key -out ../server.csr
~~~
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:www.example.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

[証明書生成]

# cd ..
# vi sans.txt
subjectAltName = DNS:www.example.com  # 追記
 [Esc -> :wq]
# openssl x509 -req -days 380 -in server.csr -signkey private/server.key -out server.crt -extfile sans.txt

最近では証明書の期限を 400 日以上にするとブラウザ側で警告となるため、380 日としています。また、最近はコモンネームは無視され、SANs (サブジェクト代替名) で URL チェックが行われるため、SANs にも www.example.com を追記しています。

[nginx の https 化設定]

# cd /etc/nginx/conf.d/
# cp -p zabbix.conf zabbix.conf_org
# vi zabbix.conf
    server {

	listen     80  443 ssl http2 default_server;
	server_name  www.example.com;

        ssl_certificate "/etc/pki/nginx/server.crt";
        ssl_certificate_key "/etc/pki/nginx/private/server.key";
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA";
        ssl_prefer_server_ciphers off;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 10m;
~~~
	[Esc -> :wq]

サービス再起動

# systemctl restart nginx
# systemctl status nginx

Zabbix GUI 上のセットアップ

ブラウザで https://[IP address] へアクセスします。(もちろん、DNS 等で名前解決できるようにして www.example.com 等の FQDN でアクセスするのでもよい。)

初期状態では ID= Admin , PW= zabbix です。

まずは GUI 上での日本語化、タイムゾーン修正を行います。

左ペインの「User Settings」をクリックし、中央ペインで「Language」から「Japanese (ja_JP)」を選択します。もしここがグレーアウトしていたら、このページ冒頭の「glibc-langpack-ja」がインストールされていません。

そして Update ボタンをクリックすると、GUI が日本語化されます。

以上で Zabbix サーバ側のセットアップは完了です。

次の記事では監視対象側のセットアップを紹介します。

コメント

タイトルとURLをコピーしました