Contents
オープンソースの統合監視ソフトウェア「Zabbix」
Zabbix とは、サーバー、ネットワーク、アプリケーションを集中監視するためのオープンソースの統合監視ソフトウェアです。統合監視に必要な監視、障害検知、通知機能を備えています。多数のプラットフォームに対応した Zabbix エージェントと SNMP に対応しているため、システム全体を Zabbix ひとつで監視することが可能です。
Zabbixを実行するにはPHPプログラミング言語、データベースサーバーとしてはMySQL、ApacheやNginxなどのWebサーバーが必要です。今回はこれらすべてが構成済みという前提で進めます。
1. Zabbixインストール
1.1 Zabbixリポジトリを設定
Zabbix公式チームは、Debianベースのシステム用のAptパッケージリポジトリを提供しています。 Debianシステムにリポジトリを追加するには、次のコマンドを使用します。
1 |
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-4+debian$(cut -d"." -f1 /etc/debian_version)_all.deb |
1 |
# dpkg -i zabbix-release_6.0-4+debian$(cut -d"." -f1 /etc/debian_version)_all.deb |
1.2 Zabbixサーバーのインストール
Aptリポジトリを追加したら、次のコマンドを使用してZabbixサーバーパッケージをインストールします。
zabbix-server-mysqlパッケージには、MySQLをサポートするZabbixサーバーが含まれています。
zabbix-frontend-phpパッケージは、ZabbixサーバーのWebインターフェイスを提供します。
1 2 |
# apt update # apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent |
1.3 Zabbixデータベースとユーザーを作成する
Zabbixサーバーのデータベーススキーマを作成します。
rootアカウントでMySQLサーバーにログインし、MySQLデータベース(例:my_zabbix_db)とユーザー(例:zabbix_user)、パスワード(例:?WWabcd123)を作成します。
1 2 3 4 5 6 7 |
# mysql -u root -p Password: > CREATE DATABASE my_zabbix_db character set utf8 collate utf8_bin; >CREATE USER 'zabbix_user'@'localhost' IDENTIFIED BY '?WWabcd123'; >GRANT ALL PRIVILEGES ON my_zabbix_db.* TO 'zabbix_user'@'localhost' WITH GRANT OPTION; >FLUSH PRIVILEGES; >exit; |
データベースのZabbixのデフォルトスキーマをロードする
1 |
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix_user -p'?WWabcd123' my_zabbix_db |
1.4 Zabbix構成を更新
Zabbixサーバーがデータベースに接続するためにZabbixサーバー設定ファイル/etc/zabbix/zabbix_server.confを編集し、データベース設定を更新する
1 2 3 4 5 6 7 8 9 |
# vi /etc/zabbix/zabbix_server.conf 93行目 #削除してコメント解除 DBHost=localhost 105行目変更 DBName=my_zabbix_db 121行目変更 DBUser=zabbix_user 129行目変更 DBPassword=[zabbix_userのpassword] |
Zabbixサービスがシステムの起動時に起動するよう設定する。
1 2 |
# systemctl enable zabbix-server # systemctl restart zabbix-server |
1.5 Zabbix サーバー自身も監視する
1 2 |
# systemctl enable zabbix-agent # systemctl restart zabbix-agent |
1.6 Zabbix frontendを設定
1 2 3 4 |
# vi /etc/zabbix/apache.conf 30行目 # php_value date.timezone Europe/Riga" コメントを解除し、あなたの国に合ったタイムゾーンを設定してください。例では日本 php_value date.timezone Asia/Tokyo |
1 2 |
# systemctl restart apache2 # systemctl enable apache2 |
1.7 Zabbixのファイアウォールを設定
Zabbixポート10050(Zabbixサーバー側)および10051(zabbix agent側)を許可する必要があります。
1 2 3 |
# ufw allow 10050/tcp # ufw allow 10051/tcp # ufw reload |
2. Zabbix Webインストーラーの実行
Zabbix Webインストーラは、「サーバーのIP/zabbix」または「ドメイン/zabbix」でアクセスできます。
Webブラウザーを開き、「http://[your-server-IP_Address]/zabbix」を入力します。
次の画面になる。
[ Next step ]をクリック。
すべての要件がOKになっていることを確認後、[ Next step ]ボタンをクリック
「Database name」「User」「Password」欄には、設定した情報を入力する
タイムゾーン確認 自身のタイムゾーンになっているか確認する
設定の再確認 情報が正しければ「Next step」クリック
インストールが正常に完了すると、次のページが表示されます。「Finish」クリック
Zabbixログインページにリダイレクトされます
次の資格情報を使用してログインします。
ユーザー名:Admin
パスワード:zabbix
ログインに成功すると次の画面(Zabbixダッシュボード)になる。
左ペイン「General」「GUI」で言語を日本語にする
3. 管理者パスワード変更, 管理者のメールアドレス設定
セキュリティ上、デフォルトの管理者パスワードを変更しておきます
また管理者のメールアドレスも設定しておきます
上記ダッシュボードが表示されれば、続いて
①左ペインで [管理] - [ユーザー] を選択して、右ペインで [Admin] をクリックします
②[パスワード変更] をクリック
③変更したいパスワードを入力して [更新] をクリックする
④再び [ユーザー] の画面に戻ってきて [メディア] タブに移動し、[追加] リンクをクリック
⑤[タイプ] フィールドで [送信先] を選択し、管理者のメールアドレスを入力して、[追加] ボタンをクリック
⑥[更新] ボタンをクリックして登録を完了
4. 監視ホストの設定
①Zabbix の管理サイトにログインし、左ペインで [設定] - [ホスト] を選択します。 右ペインで Zabbix Agent インストール済みのローカルホストが表示された状態となっているので、 チェックを入れ [有効] ボタンをクリックします。(現状ではzabbixサーバー自身が表示されていると思います)
②[ステータス] が [有効] に変わり、監視状態になります。 Linux 用のテンプレートがデフォルトで設定されるので、これだけで CPU 使用率等の主要な項目は監視の対象にすることができます。
③しばらく時間が経つと各種データが収集され、以下のようにサーバーの状態が確認できるようになります。
左側 監視データ ホスト クリック
④Zabbix serverをクリック グラフを選択する
次のような監視状況画面になる
以上Zabbixのインストールと初期設定でした。Zabbixは高度な監視ソフトで設定も多岐にわたりますので徐々に掲載したいと思います。