QNAPにZabbixを載せてみるテスト(その2:パッケージ編)

QNAPにZabbixパッケージ(バージョン4.4)を入れてみました(アプライアンス編については別記事とします)。
一部嵌まった箇所(シャットダウン時にZabbixエンジンが停止出来ず、ハングアップしたように見える)があったので、記録として残しておきます。

手順

    1. Ubuntu 18.04 LTS インストール
      snmp関係パッケージはインストール不要です。
      (Web検索で入れるように書かれているものもありますが)

    2. Ubuntu起動時のスプラッシュ画面は不要なので、grub を変更します

      vi /etc/default/grub
      GRUB_CMDLINE_LINUX_DEFAULT=”インストーラが入れた文字列”
      行を
      GRUB_CMDLINE_LINUX_DEFAULT=””
      に変更、保存、update-grub2 にて反映させます

    3. 一旦再起動

      shutdown -r now
    4. 仮想支援エージェントの導入

      apt update
      apt install -y qemu-guest-agent
    5. Apache用日本語環境の導入

      apt install -y language-pack-ja-base language-pack-ja
      localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
    6. タイムゾーン変更
      timedatectl set-timezone Asia/Tokyo
    7. 色々更新して再起動
      apt -y upgrade
      shutdown -r now
    8. Apache2の設定
      apt install -y apache2
      vi /etc/apache2/conf-enabled/security.conf
      # 25行目:変更
      ServerTokens Prod
      
      vi /etc/apache2/apache2.conf
      # 70行目:サーバー名追記
      ServerName www.example.com
      
      vi /etc/apache2/sites-enabled/000-default.conf
      # 11行目:管理者アドレス変更
      ServerAdmin webmaster@example.com
      
      # Apache2変更反映
      systemctl restart apache2
    9. Zabbixパッケージインストール
      cd ~
      wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
      dpkg -i zabbix-release_4.4-1+bionic_all.deb
      apt update
      apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
    10. データベース初期化
      mysql -uroot -p
      password
      create database zabbix character set utf8 collate utf8_bin;
      grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
      quit;
      
      zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
      password
      #(数分~十数分かかります)
    11. Zabbixにデータベースアクセス用パスワードを設定
      vi /etc/zabbix/zabbix_server.conf
      DBPassword=password
    12. Zabbixサーバへのタイムゾーン設定
      vi /etc/zabbix/apache.conf
      # php_value date.timezone Europe/Riga
      ↓
      php_value date.timezone Asia/Tokyo
      # ※2箇所あります
    13. グラフの文字化け対策
      日本語フォントをIPAゴシックにします
      cd ~
      apt-get install -y unzip
      wget https://ipafont.ipa.go.jp/IPAfont/ipag00303.zip
      cd /usr/share/fonts
      unzip ~/ipag00303.zip
      rm /etc/alternatives/zabbix-frontend-font
      ln -s /usr/share/fonts/ipag00303/ipag.ttf /etc/alternatives/zabbix-frontend-font
      cd ~
    14. Zabbixの起動および自動起動設定
      systemctl restart zabbix-server zabbix-agent apache2
      systemctl enable zabbix-server zabbix-agent apache2
    15. シャットダウン時のハングアップ対策(ZBX-15602/ZBX-16708)
      vi /etc/systemd/system/multi-user.target.wants/zabbix-server.service
      # [Unit]ブロックのAfterを変更
      After=syslog.target
      After=network.target
      ↓
      After=syslog.target network.target mariadb.service
      # 保存終了
      systemctl daemon-reload
      systemctl restart zabbix-server
    16. ZABBIXのGUIにログインして初期設定
      データベースのパスワードは password です。
    17. Zabbiサーバーが動作していません対策

      vi /etc/zabbix/web/zabbix.conf.php
      $ZBX_SERVER = 'localhost';
      ↓
      $ZBX_SERVER = '127.0.0.1';
      # 保存終了
      systemctl stop zabbix-server
      shutdown -r now
    18. IPアドレスを変更する場合の例

      vi /etc/netplan/50-cloud-init.yaml
      
      network:
          ethernets:
              ens3:
                  dhcp4: true
      ↓
      network:
          ethernets:
              ens3:
                  dhcp4: no
                  addresses: [192.168.200.50/24]
                  gateway4: 192.168.200.1
                  nameservers:
                      addresses: [8.8.8.8, 1.1.1.1]
      # 保存終了
      vi /etc/resolf.conf
      # 適当に編集
      # 保存終了 # 設定反映 netplan apply
    19. GUIログイン
      ブラウザから http://[IPアドレス]/zabbix/ でログインします。
      ログインID/PWは admin / zabbix です。

    20. 機器監視テスト
      機器監視用のテンプレートは Template Module ICMP Ping を使って下さい。

    21. トラフィック量グラフ生成テスト
      テンプレートは Template Net Network Generic Device SNMPv1 が良いと思います。
      ホストを追加してからグラフに値が載ってくるまでは、ある程度時間がかかります(設定→ホスト、の一覧の『グラフ』に、検出されたグラフ数が出ます)。

    22. メール発報設定
      1. 管理→メディアタイプ→Emailを更新
      2. 管理→ユーザー→対象ユーザ名→メディア→追加で追加
      3. 設定→アクション→Report problems to Zabbix administrators→新規条件を追加し、有効をクリックし、更新メール発報の設定

その他

  • Zabbixシャットダウン時
    VMに入って shutdown -h now するか、VirtualizationStationからシャットダウン信号を送って下さい。
    オペレーション時、時間的余裕があるなら、OSを落とす前に systemctl stop zabbix-server をしてもよいと思います。

  • Zabbix本体のデータ収集を有効にしているときの不具合
    VM起動時にシステムからZabbixサーバに渡される時刻の関係で、Zabbix起動時のデータは『9時間未来』となります。
    次にZabbixサーバがJSTな時刻を取得した時点で、巻き戻りが発生するため、見かけ上いまいまのデータは9時間後まで欠落します。
    Zabbix本体は『無効』にしておくか、データが繋がるまで数時間待って下さい。

  • データ収集が途切れた場合
    systemctl stop zabbix-agent
    systemctl restart zabbix-server
    systemctl start zabbix-agent

    して下さい。

以上です。