はじめに

こんにちは。あやかです。

前回の記事で、Synology NASのDocker上にZabbixを構築しました。 今回は、その続きとして初期設定から最初の監視対象を追加するまでの手順をまとめます。

Zabbixを初めて触る方でも分かるように、実際に私が設定した内容をベースに書いていきます。

環境情報

今回使用した環境は以下の通りです。

  • NAS: Synology DS923+
  • DSM: 7.3.2-86009
  • Zabbix: 7.4.6
  • 構成: Zabbix Web + Zabbix Server + PostgreSQL

Dockerで動かしているので、バージョン管理やアップデートも比較的やりやすい環境です。

初回ログインとパスワード変更

Zabbixをブラウザで開くと、ログイン画面が表示されます。

初期ログイン情報は以下の通りです。

  • Username: Admin
  • Password: zabbix

ログインできたら、まず最初にやるべきことはパスワード変更です。 デフォルトのままだとセキュリティ上よくないので、必ず変更しておきましょう。

パスワード変更手順

  1. 右下の「User settings」を選択
  2. 「Profile」を選択
  3. 「Change password」をクリック
  4. 現在のパスワードと新しいパスワードを入力
  5. 「Update」で保存
パスワード変更画面のスクリーンショット
パスワード変更画面のスクリーンショット

パスワードは、推測されにくい強固なものにしておくことをおすすめします。

基本設定(言語・タイムゾーン)

次に、Zabbixの基本設定を行います。

言語設定

Zabbixは多言語対応していますが、デフォルトは英語です。 日本語化しておくと、設定項目やメッセージが読みやすくなります。

  1. 右下の「User settings」を選択
  2. 「profile」を選択
  3. 「Language」で「Japanese (ja_JP)」を選択
  4. 「Update」で保存

画面がリロードされると、日本語表示に切り替わります。

タイムゾーン設定

前回のdocker-compose.ymlでPHP_TZ: Asia/Tokyoを設定していますが、Web UI側でもタイムゾーンを確認しておきます。

  1. 右上のユーザーアイコンをクリック
  2. 「ユーザー設定」を選択
  3. 「タイムゾーン」で「(UTC+09:00) Asia/Tokyo」を選択
  4. 「更新」で保存
タイムゾーン設定画面のスクリーンショット
タイムゾーン設定画面のスクリーンショット

これで、ログやグラフの時刻が日本時間で表示されるようになります。

ユーザー管理

セキュリティを考えると、デフォルトのAdminユーザーをそのまま使い続けるのは避けたいところです。 自分用のユーザーを作成して、Adminユーザーは無効化しておきます。

新規ユーザーの作成

  1. 左メニューから「ユーザー」→「ユーザー」を選択
  2. 右上の「ユーザーの作成」をクリック
  3. 必要な情報を入力
    • エイリアス: ログイン時に使用するユーザー名
    • 名前: 表示用の名前
    • グループ: 「Zabbix administrators」を選択
    • パスワード: 強固なパスワードを設定
  4. 「追加」で保存
新規ユーザー作成画面のスクリーンショット
新規ユーザー作成画面のスクリーンショット

Adminユーザーの無効化

新しいユーザーでログインできることを確認したら、Adminユーザーを無効化します。

  1. 「管理」→「ユーザー」でユーザー一覧を表示
  2. 「Admin」ユーザーを選択
  3. 「無効化」にチェックを入れる
  4. 「更新」で保存

注意点: Adminユーザーは削除できません。 内部的に依存関係があるため、削除しようとするとエラーになります。 無効化しておけば、ログインできなくなるので問題ありません。

最初の監視対象を追加

ここからは、実際に監視対象を追加していきます。 今回追加したのは以下の機器です。

  • MikroTikルーター: 1台
  • NEC IXシリーズルーター: 2台
  • Synology NAS: 2台

すべてSNMPで監視しています。

MikroTikルーターの追加

MikroTikには専用のテンプレートが用意されているので、それを使います。

  1. 「データ収集」→「ホスト」→「ホストの作成」を選択
  2. 必要な情報を入力
    • ホスト名: 分かりやすい名前(例: MikroTik-Router-01)
    • グループ: 適切なグループを選択
    • インターフェース: SNMPインターフェースを追加
      • IPアドレス: ルーターのIPアドレス
      • ポート: 161(SNMPのデフォルト)
      • SNMPコミュニティ: 設定したコミュニティ名
  3. 「テンプレート」タブで「MikroTik」テンプレートを追加
  4. 「追加」で保存
MikroTik追加画面のスクリーンショット
MikroTik追加画面のスクリーンショット

数分待つと、データの取得が始まります。

NEC IXシリーズとSynology NASの追加

NEC IXシリーズとSynology NASには専用テンプレートがないため、汎用的なLinuxテンプレートを使用しました。

手順はMikroTikとほぼ同じですが、テンプレートの選択が異なります。

  1. 「データ収集」→「ホスト」→「ホストの作成」を選択
  2. 必要な情報を入力
  3. 「テンプレート」タブで「Linux by SNMP」テンプレートを追加
  4. 「追加」で保存

監視項目の一部は機器に合わせて調整が必要ですが、基本的な死活監視やトラフィック監視はこれで動きます。

Dockerで動かす場合の注意点

Dockerで動かす場合、いくつか注意点があります。

NAS自身のSNMP監視は実IPを指定する

Zabbixをホストしているsynology NAS自身を監視する場合、127.0.0.1localhostでは接続できません。

Dockerコンテナから見ると、ホストのループバックアドレスは別物として扱われるためです。 NASの実際のIPアドレス(例: 192.168.1.100)を指定する必要があります。

これは、Dockerのネットワーク設計上の仕様なので、覚えておくと便利です。

Adminユーザーは削除できない

先ほども触れましたが、Adminユーザーは内部的に依存関係があるため削除できません。 無効化で対応しましょう。

データの永続化

前回のdocker-compose.ymlで、PostgreSQLのデータは./postgres-dataにマウントしています。 これにより、コンテナを削除してもデータは残ります。

念のため、定期的にバックアップを取っておくことをおすすめします。

おわりに

Zabbixの初期設定から監視対象の追加まで、一通りの流れを紹介しました。

今回はSNMPでの監視を中心に設定しましたが、次回はメール通知の設定についても書きたいと思っています。 監視システムは、異常を検知したときに通知できて初めて意味があるので、そこまで設定して一段落という感じです。

Zabbixは機能が豊富で、最初は戸惑うこともあるかもしれませんが、基本的な設定さえ押さえておけば、家庭内ネットワークの監視環境としては十分すぎるほど使えます。

次回もお楽しみに。