自治体ITのOSS活用

自治体情報システム担当者のためのZabbixによるサーバー監視入門:Ubuntu Serverへのインストールと基本設定

Tags: Zabbix, サーバー監視, OSS, Ubuntu Server, システム運用

はじめに

自治体の情報システム部門では、多岐にわたるサーバーやネットワーク機器の安定稼働が求められます。システムの停止やパフォーマンス低下は、住民サービスに直接影響を及ぼすため、継続的な監視体制の確立は不可欠です。しかし、既存の商用監視システムは高額な導入・運用コストがかかる場合があり、リソースが限られる自治体において課題となることがあります。

オープンソースソフトウェア(OSS)の監視ツールであるZabbixは、こうした課題に対する強力な解決策の一つです。Zabbixは、サーバー、ネットワーク機器、アプリケーションなど、幅広いITインフラストストラクチャのパフォーマンスと可用性を監視できる包括的な機能を備えています。商用ライセンス費用が不要であるためコストを抑えつつ、柔軟なカスタマイズ性により自治体固有の要件にも対応可能です。

本記事では、自治体情報システム部門の担当者向けに、Zabbixの基本的な概念から、Ubuntu Serverへのインストール手順、そして監視対象の追加と基本的な監視設定までを具体的に解説します。Windows Serverの運用経験がある担当者の方でもスムーズに導入できるよう、実践的な視点で進めてまいります。

Zabbixとは

Zabbixは、サーバー、仮想マシン、ネットワーク機器、アプリケーション、データベースなど、ITインフラストラクチャ全体を監視するために設計されたオープンソースの監視ソリューションです。データの収集、可視化、トレンド分析、アラート通知といった機能を統合的に提供します。

Zabbixの主なコンポーネントは以下の通りです。

これらのコンポーネントが連携することで、システムの健全性をリアルタイムで把握し、問題発生時には迅速に検知し対応することが可能となります。

導入前の準備

Zabbix Serverを導入する前に、いくつかの準備が必要です。

1. 必要なリソースの確認

Zabbix Serverの性能は、監視対象の数、収集するデータの頻度と量、保持期間によって大きく変動します。自治体の環境や将来の拡張計画に基づき、以下のリソースを検討してください。

2. オペレーティングシステム(OS)の選定

本記事では、長期サポート(LTS)版であるUbuntu Server 22.04 LTSを推奨します。Ubuntu Serverは、堅牢性、安定性、豊富なコミュニティサポート、そして最新のソフトウェアパッケージへのアクセスしやすさから、Zabbixの実行環境として広く利用されています。

3. ネットワーク設定と時刻同期

Ubuntu ServerへのZabbix Serverインストール手順

ここでは、Ubuntu Server 22.04 LTSにZabbix Server 6.4(LTS版の6.0も同様の手順で利用可能です)を、PostgreSQLデータベースとApache Webサーバーを組み合わせてインストールする手順を解説します。

1. 前提パッケージのインストール

まず、システムのパッケージリストを更新し、必要な前提パッケージをインストールします。

sudo apt update
sudo apt upgrade -y
sudo apt install apache2 php libapache2-mod-php php-xml php-bcmath php-mbstring php-gd php-ldap php-pgsql php-json php-cli -y

2. PostgreSQLのインストールと設定

Zabbixが使用するデータベースをインストールし、Zabbix用のデータベースとユーザーを作成します。

sudo apt install postgresql postgresql-contrib -y

# Zabbix用のデータベースユーザーを作成 (パスワードは任意で設定してください)
sudo -u postgres createuser --pwprompt zabbix

# Zabbix用のデータベースを作成し、所有者をzabbixユーザーに設定
sudo -u postgres createdb -O zabbix zabbix

3. Zabbixリポジトリの追加

Zabbixの公式リポジトリを追加し、Zabbixパッケージをインストールできるようにします。

# Zabbix 6.4リポジトリをダウンロード
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb

# リポジトリパッケージをインストール
sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb

# パッケージリストを更新
sudo apt update

4. Zabbix ServerおよびAgentのインストール

Zabbix Server本体、Webインターフェース、Zabbix Agent、Apache用の設定ファイルをインストールします。

sudo apt install zabbix-server-pgsql zabbix-frontend-php zabbix-apache-conf zabbix-agent -y

5. データベーススキーマのインポート

Zabbix Serverが使用するデータベースのスキーマと初期データをインポートします。これは一度だけ実行します。

sudo zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix

6. Zabbix Serverの設定

Zabbix Serverの設定ファイル /etc/zabbix/zabbix_server.conf を編集し、データベースのパスワードを設定します。

sudo nano /etc/zabbix/zabbix_server.conf

以下の行を見つけ、データベースユーザー zabbix のパスワードを追記してください。

DBPassword=あなたの設定したzabbixユーザーのパスワード

設定ファイルを保存してエディタを終了します。

7. Apacheの設定

Zabbix Webインターフェースのタイムゾーン設定をApacheの設定ファイル /etc/apache2/conf-enabled/zabbix.conf で行います。

sudo nano /etc/apache2/conf-enabled/zabbix.conf

以下の行を見つけ、適切なタイムゾーンに設定してください。日本国内であれば Asia/Tokyo を設定します。

php_value date.timezone Asia/Tokyo

変更を適用するためにApacheサービスを再起動します。

sudo systemctl restart apache2

8. Zabbixサービスの起動と自動起動設定

Zabbix ServerとZabbix Agentのサービスを起動し、システムの起動時に自動的に起動するように設定します。

sudo systemctl enable zabbix-server zabbix-agent
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl status zabbix-server zabbix-agent

status コマンドで、両サービスが active (running) と表示されていれば、正常に起動しています。

Zabbix Webインターフェースへのアクセスと初期設定

インストールが完了したら、WebブラウザからZabbix Webインターフェースにアクセスし、初期設定を行います。

  1. Webブラウザを開き、Zabbix ServerのIPアドレスまたはホスト名に /zabbix を加えてアクセスします。例: http://192.168.1.100/zabbix
  2. Zabbixのセットアップウィザードが表示されます。「Next step」をクリックして進みます。
  3. 前提条件のチェック画面が表示されます。すべて「OK」であることを確認し、「Next step」をクリックします。
  4. データベース接続情報の設定画面が表示されます。
    • Database type: PostgreSQLを選択します。
    • Host: localhost または 127.0.0.1
    • Port: 5432
    • Database name: zabbix
    • User: zabbix
    • Password: Zabbixデータベースユーザーに設定したパスワードを入力します。
    • 「Next step」をクリックします。
  5. Zabbix Serverの情報を設定します。
    • Name: 任意のZabbix Server名を指定します。これはZabbixのWebインターフェースで表示されます。
    • 「Next step」をクリックします。
  6. 最終確認画面が表示されます。「Next step」をクリックしてインストールを完了します。
  7. ログイン画面が表示されます。デフォルトのユーザー名 Admin、パスワード zabbix でログインしてください。
  8. ログイン後、セキュリティのため、速やかにデフォルトパスワードを変更することを強く推奨します。

監視対象(Windows Server)の追加

Zabbix Serverが起動し、Webインターフェースにアクセスできるようになったら、既存のWindows Serverを監視対象として追加します。

1. Zabbix Agent for Windowsのインストール

監視対象のWindows ServerにZabbix Agentをインストールします。

  1. Zabbixの公式サイト(https://www.zabbix.com/download_agents)から、監視対象のWindows Serverのアーキテクチャ(32-bitまたは64-bit)とZabbix Serverのバージョンに合ったZabbix AgentのMSIインストーラをダウンロードします。
  2. ダウンロードしたMSIファイルをWindows Server上で実行し、インストールウィザードに従います。
  3. インストール中に、以下の情報を入力します。
    • Zabbix Agent Name: 監視対象のWindows Serverのホスト名または任意の識別名。
    • Zabbix Server IP address: Zabbix ServerのIPアドレス。
    • Zabbix Server port: 10050 (デフォルト)。
    • Hostname: Zabbix Agent Nameと同じ値を入力することを推奨します。

2. Zabbix Agentの設定ファイル編集(必要に応じて)

インストーラで設定できない場合や、追加設定が必要な場合は、C:\Program Files\Zabbix Agent\zabbix_agentd.conf をテキストエディタで編集します。

3. Zabbix Agentサービスの起動

設定後、Windowsのサービス管理ツールから「Zabbix Agent」サービスを開始します。自動起動が設定されていることを確認してください。

4. Zabbix Webインターフェースでのホスト追加

Zabbix WebインターフェースからWindows Serverをホストとして追加します。

  1. Zabbix Webインターフェースにログインします。
  2. 左側のメニューから「設定」>「ホスト」を選択し、「ホストの作成」ボタンをクリックします。
  3. 以下の情報を入力します。
    • ホスト名: Windows Serverのホスト名を入力します。これはZabbix Agentの設定ファイルで Hostname に設定した値と一致させる必要があります。
    • 表示名: Zabbixインターフェース上で表示される任意の名前です。
    • グループ: 既存のグループを選択するか、「新しいグループを作成」で「Windows Servers」などのグループを作成し追加します。
    • インターフェース: 「エージェント」タブで「追加」をクリックし、Windows ServerのIPアドレスを入力します。ポートはデフォルトの 10050 です。
    • 「テンプレート」タブに移動し、「選択」をクリックして「Template OS Windows by Zabbix agent」などの適切なテンプレートを選択し、「追加」をクリックします。
    • 右下の「追加」ボタンをクリックしてホストを保存します。

しばらくすると、追加したホストの「ステータス」列が「有効」になり、「エージェントの可用性」のアイコンが緑色に変わります。これでZabbix ServerとAgent間の通信が確立され、監視が開始されます。

基本的な監視項目の設定

Zabbixでは、ホストを追加し適切なテンプレートを適用することで、CPU使用率、ディスク容量、ネットワークトラフィック、メモリ使用量など、一般的な監視項目が自動的に設定されます。

ZabbixのWebインターフェースで「監視」>「ホスト」に進み、追加したWindows Serverの名前をクリックすると、収集されたデータやグラフを確認できます。「最新データ」タブでは個々のアイテムの値が、「グラフ」タブでは時系列データがグラフで表示されます。

アラート通知設定の概要

Zabbixの強みの一つは、監視データに基づいてアラートを生成し、管理者へ通知する機能です。

  1. メディアタイプの設定: メール、Slack、LINEなどの通知方法を設定します。「管理」>「メディアタイプ」から設定できます。自治体環境では、既存のメールシステムとの連携が一般的です。
  2. ユーザーへのメディア設定: 通知を受け取りたいZabbixユーザーに、設定したメディアタイプと通知先(メールアドレスなど)を紐付けます。「管理」>「ユーザー」からユーザーを選択し、「メディア」タブで設定します。
  3. アクションの作成: 特定のトリガー(例: CPU使用率が長時間90%を超える)が発生した場合に、誰にどのメディアで通知するかを定義します。「設定」>「アクション」>「トリガーアクション」から設定します。

これらの設定により、システムに異常が発生した際に自動的に担当者へ通知が届くようになり、迅速な対応が可能となります。

自治体システムにおけるZabbix活用の考慮事項

Zabbixを自治体システムに導入・運用する際には、特有の環境要因を考慮することが重要です。

1. セキュリティ

2. 既存システムとの連携

3. 長期運用とメンテナンス

4. コストとリソース管理

まとめ

本記事では、自治体情報システム部門の担当者向けに、オープンソースの監視ツールZabbixの導入から基本的な設定までを具体的に解説しました。Zabbixは、その多機能性、柔軟性、そしてライセンス費用が不要という点で、限られた予算内でシステム監視の質を高めたい自治体にとって非常に有効な選択肢となります。

Zabbixを導入することで、システムの安定稼働を可視化し、問題発生時の迅速な検知と対応が可能になります。これにより、住民サービスの安定提供に貢献できるだけでなく、情報システム部門の業務効率化にも繋がるでしょう。

今回解説した内容はZabbixの基本的な機能に留まりますが、Zabbixにはさらに高度な機能(分散監視、カスタムスクリプト、API連携など)が多数存在します。本記事を足がかりに、貴自治体のシステム環境に合わせた最適な監視体制を構築し、さらなる情報システムの安定運用を目指していただければ幸いです。