Contents
オープンソースの統合監視ソフトウェア「Zabbix」
Zabbix とは、サーバー、ネットワーク、アプリケーションを集中監視するためのオープンソースの統合監視ソフトウェアです。統合監視に必要な監視、障害検知、通知機能を備えています。多数のプラットフォームに対応した Zabbix エージェントと SNMP に対応しているため、システム全体を Zabbix ひとつで監視することが可能です。
Zabbixを実行するにはPHPプログラミング言語、データベースサーバーとしてはMySQL、ApacheやNginxなどのWebサーバーが必要です。今回はこれらすべてが構成済みという前提で進めます。
1. Zabbixインストール
1.1 Zabbixリポジトリを設定
Zabbix公式チームは、Debianベースのシステム用のAptパッケージリポジトリを提供しています。 Ubuntuシステムにリポジトリを追加するには、次のコマンドを使用します。
1 |
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb |
1 |
# dpkg -i zabbix-release_5.0-1+focal_all.deb |
1.2 Zabbixサーバーのインストール
Aptリポジトリを追加したら、次のコマンドを使用してZabbixサーバーパッケージをインストールします。
zabbix-server-mysqlパッケージには、MySQLをサポートするZabbixサーバーが含まれています。
zabbix-frontend-phpパッケージは、ZabbixサーバーのWebインターフェイスを提供します。
1 2 |
# apt update # apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent zabbix-apache-conf |
1.3 Zabbixデータベースとユーザーを作成する
Zabbixサーバーのデータベーススキーマを作成します。
rootアカウントでMySQLサーバーにログインし、MySQLデータベース(例:my_zabbix_db)とユーザー(例:zabbix_user)を作成します。
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 '?28W82uzuuh'; >GRANT ALL PRIVILEGES ON my_zabbix_db.* TO 'zabbix_user'@'localhost' WITH GRANT OPTION; >FLUSH PRIVILEGES; >exit; |
データベースのZabbixのデフォルトスキーマをロードする
1 2 3 |
# cd /usr/share/doc/zabbix-server-mysql # zcat create.sql.gz | mysql -u zabbix_user -p my_zabbix_db Enter Password: |
1.4 Zabbix構成を更新
Zabbixサーバーがデータベースに接続するためにZabbixサーバー設定ファイル/etc/zabbix/zabbix_server.confを編集し、データベース設定を更新する
1 2 3 4 5 6 7 8 9 10 |
# vi /etc/zabbix/zabbix_server.conf 91行目 #削除してコメント解除 DBHost=localhost 100行目変更 DBName=my_zabbix_db 116行目変更 DBUser=zabbix_user 124行目変更 DBPassword=[zabbix_userのpassword] |
Zabbixサービスがシステムの起動時に起動するよう設定する。
1 2 |
# systemctl enable zabbix-server # systemctl restart zabbix-server |
1.5 Zabbix サーバー自身も監視する
Zabbix Agent を設定して起動する
1 2 3 4 |
# vi /etc/zabbix/zabbix_agentd.conf 171行目:自身のホスト名に変更 Hostname=[hostname] |
1 |
# systemctl restart zabbix-agent |
1.6 Zabbixのファイアウォールを設定
Zabbixポート10050(Zabbixサーバー側)および10051(zabbix agent側)を許可する必要があります。
1 2 3 4 |
# ufw allow http # ufw allow 10050 # ufw allow 10051 # ufw reload |
2. Zabbix Webインストーラーの実行
Zabbix Webインストーラは、「サーバーのIP/zabbix」または「ドメイン/zabbix」でアクセスできます。
Webブラウザーを開き、「http://[your-server-IP_Address]/zabbix」を入力します。
次の画面になる。
すべての要件を確認後、[ Next step ]ボタンをクリックします。次のページが表示されます。
上記で作成したデータベース資格情報を入力し、[ Next step ]ボタンをクリックします。次のページが表示されます。
「Host localhost」「Port 10051」を確認
「Name」は任意の名前を入力し(なくてもよい)「 Next step」ボタンをクリックします。
今まで設定した内容が表示されますので、確認後「 Next step」ボタンをクリック
インストールが正常に完了すると、次のページが表示されます。
次の資格情報を使用してログインします。
ユーザー名:Admin
パスワード:zabbix
ログインに成功すると次の画面(Zabbixダッシュボード)になる。
3. 管理者パスワード変更, 管理者のメールアドレス設定
セキュリティ上、デフォルトの管理者パスワードを変更しておきます
また管理者のメールアドレスも設定しておきます
上記ダッシュボードが表示されれば、続いて
①左ペインで [Administration] - [Users] を選択して、右ペインで [Admin] をクリックします
②[Change password] をクリック
③変更したいパスワードを入力して [Update] をクリックする
④再び [Users] の画面に戻ってきて [Media] タブに移動し、[Add] リンクをクリック
⑤[Type] フィールドで [Email] を選択し、[Send to] に管理者のメールアドレスを入力して、[Add] ボタンをクリック
⑥[Update] ボタンをクリックして登録を完了
4. 監視ホストの設定
①Zabbix の管理サイトにログインし、左ペインで [Configuration] - [Hosts] を選択します。 右ペインで Zabbix Agent インストール済みのローカルホストが表示された状態となっているので、 チェックを入れ [Enable] ボタンをクリックします。(現状ではzabbixサーバー自身が表示されていると思います)
②[Status] が [enabled] に変わり、監視状態になります。 Linux 用のテンプレートがデフォルトで設定されるので、これだけで CPU 使用率等の主要な項目は監視の対象にすることができます。
③しばらく時間が経つと各種データが収集され、以下のようにサーバーの状態が確認できるようになります。
左側 Monitoring Hosts クリック
④Zabbix serverをクリック Graphsを選択する
以上Zabbixのインストールと初期設定でした。Zabbixは高度な監視ソフトで設定も多岐にわたりますので徐々に掲載したいと思います。