Contents
オープンソースの統合監視ソフトウェア「Zabbix」インストール
Zabbix とは、サーバー、ネットワーク、アプリケーションを集中監視するためのオープンソースの統合監視ソフトウェアです。統合監視に必要な監視、障害検知、通知機能を備えています。多数のプラットフォームに対応した Zabbix エージェントと SNMP に対応しているため、システム全体を Zabbix ひとつで監視することが可能です。
Zabbixを実行するにはPHPプログラミング言語、データベースサーバーとしてはMySQL/MariaDB、ApacheやNginxなどのWebサーバーが必要です。
今回は次の条件がすべてが構成済みという前提で進めます。
Zabbix 6.x サーバ、フロントエンド、エージェントをインストール
①リポジトリをインストール
Zabbix 6.x リポジトリを設定して、Zabbix サーバーをインストール。
Zabbix サーバー自身も監視できるよう、監視対象ホストに必要な Zabbix Agent も同時にインストール。
1 |
# wget https://repo.zabbix.com/zabbix/6.5/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.5-1%2Bubuntu22.04_all.deb |
1 |
# dpkg -i zabbix-release_6.5-1+ubuntu22.04_all.deb |
1 |
# apt update |
1 |
# apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 php-mysql php-gd php-bcmath php-net-socket |
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 |
Zabbix構成を更新
Zabbixサーバーがデータベースに接続するためにZabbixサーバー設定ファイル/etc/zabbix/zabbix_server.confを編集し、データベース設定を更新する
1 2 3 4 5 6 7 8 9 |
# vi /etc/zabbix/zabbix_server.conf 95行目 #削除してコメント解除し、変更 DBHost=127.0.0.1 107行目変更 DBName=my_zabbix_db 123行目変更 DBUser=zabbix_user 131行目コメント解除して追記 DBPassword='zabbix_userのpassword' |
Zabbix サーバー自身も監視する
1 2 3 4 5 6 7 |
# vi /etc/zabbix/zabbix_agent2.conf # 80行目 : Zabbix サーバーを指定 Server=127.0.0.1 # 132行目 : Zabbix サーバーを指定 ServerActive=127.0.0.1 # 144行目 : 自身のホスト名に変更 Hostname=Lepard |
Zabbixサーバ、エージェントディーモンを再起動し、システム起動時に実行できるようにします。
1 2 |
# systemctl enable zabbix-server zabbix-agent2 apache2 # systemctl restart zabbix-server zabbix-agent2 apache2 |
PHP の設定
1 2 3 4 5 6 7 8 9 10 |
# vi /etc/php/8.1/fpm/pool.d/www.conf # 最終行に追記 php_value[max_execution_time] = 300 php_value[memory_limit] = 128M php_value[post_max_size] = 16M php_value[upload_max_filesize] = 2M php_value[max_input_time] = 300 php_value[max_input_vars] = 10000 php_value[always_populate_raw_post_data] = -1 php_value[date.timezone] = Asia/Tokyo |
設定反映
1 |
# systemctl restart apache2 php8.1-fpm |
Zabbixのファイアウォールを設定
Zabbixポート10050(Zabbixサーバー側)および10051(zabbix agent側)を許可する必要があります。
1 2 3 4 5 |
# ufw allow 10050:10051/tcp # ufw allow http # ufw allow https # ufw reload |
Zabbix Webインストーラーの実行
Zabbix Webインストーラは、「サーバーのIP/zabbix」または「ドメイン/zabbix」でアクセスできます。
Webブラウザーを開き、「http://[your-server-IP_Address]/zabbix」を入力します。
次の画面になる。[ Next step]をクリック。 なぜかZabbix7.0が立ち上がるがよくわからないのて゛、こののまま進める
すべての要件がOKになっていることを確認後、[ Next step ]をクリック
「Database name」「User」「Password」欄には、設定した情報を入力し、[ Next step ]をクリック
「Zabbix server names」は任意の名称を入力し、タイムゾーンにはAsia/Tokyoを選択する
自身のタイムゾーンになっているか確認後、[ Next step ]をクリック
設定の再確認 情報が正しければ[Next step ]をクリック
インストールが正常に完了すると、次のページが表示されます。「Finish」クリック
Zabbixログインページにリダイレクトされます
次のデフォルト資格情報を使用してログインします。
ユーザー名:Admin
パスワード:zabbix
ログインに成功すると次の画面(Zabbixダッシュボード)になる。
Zabbixの各種設定
管理者パスワード変更
セキュリティ上、デフォルトの管理者パスワードを変更しておきます
上記ダッシュボードが表示されれば、続いて
①左ペインで [Users] - [Users] を選択して、右ペインで [Admin] をクリックします
②[Change paddword] をクリック
③Current password : デフォルトのパスワード zabbixを入力
変更したいパスワードを入力して [Update] をクリックする
下記が表示され「OK」クリックすると再度ログイン認証画面になるので変更したパスワードでログインする
監視ホストの設定
①Zabbix の管理サイトにログインし、左ペインで [Data collection] - [Hosts] を選択します。 右ペインで Zabbix Agent インストール済みのローカルホストが表示された状態となっているので、 チェックを入れ [Enable] ボタンをクリックします。(現状ではzabbixサーバー自身のみが表示されていると思います)
②[Status] が [Enabled] に変わり、監視状態になります。 Linux 用のテンプレートがデフォルトで設定されるので、これだけで CPU 使用率等の主要な項目は監視の対象にすることができます。
③Host nameはデフォルトでZabbix serverで登録されますが、 これは/etc/zabbix/zabbix_agent2.confで設定した[Hostname=***] と合わせる必要があります。 [Zabbix server] のクリックして変更して[Update] ボタンをクリック。
Host nameがLepardに変わっています
④しばらく時間が経つと各種データが収集され、以下のようにサーバーの状態が確認できるようになります。
左側 Monitoring > Hosts クリック Lepardをクリック [Grahs]を選択する
次のような監視状況画面になる
監視対象ホストを追加する
下記サーバーを対象に追加
OS : Debian12
IPアドレス : 192.168.11.100
1.監視対象としたいサーバーでの設定
1.1 監視対象としたいサーバーに Zabbix Agent をインストール
1 |
# wget https://repo.zabbix.com/zabbix/6.5/debian/pool/main/z/zabbix-release/zabbix-release_6.5-1%2Bdebian12_all.deb |
1 |
# dpkg -I zabbix-release_6.5-1+debian12_all.deb |
1 |
# apt update |
1 |
# apt -y install zabbix-agent2 |
1.2.zabbix-agent 設定ファイル編集
1 2 3 4 5 6 7 8 |
# vi /etc/zabbix/zabbix_agent2.conf # 78行目 : Zabbix サーバーを指定(今回は192.168.11.83) Server=192.168.11.83 # 131行目 : Zabbix サーバーを指定(今回は192.168.11.83) ServerActive=192.168.11.83 # 142行目 : 自身のホスト名に変更(今回はdebian) Hostname=debian |
1 |
# systemctl restart zabbix-agent2 |
1.3 Zabbix-agent側のファイアウォールを設定
Zabbixポート10050(Zabbixサーバー側)および10051(zabbix agent側)を許可する必要があります。
1 2 |
# ufw allow 10050:10051/tcp # ufw reload |
2. Zabbix WEB UIでの設定
Zabbix の管理サイトにログインし、左ペインで [Datacollection] - [Hosts] を選択し、右ペイン上部の [Create Host] ボタンをクリック
[Hostname] にはホスト名を入力
[Templates] の項目右の [Select] ボタンをクリック
[Select]をクリック
[Templates/Operating systems] を選択
[Linux by Zabbix agent active] を選択
[Host groups] で[Select]をクリック
[Linux servers]を選択
[Interfaces]で[Add] [Agent]をクリック
監視対象サーバーの [IP address]と[DNS name]を入力し[Update]をクリック
新しく監視対象サーバーが登録されている