Zabbixは、サーバーのパフォーマンス、サーバーの可用性、ネットワークデバイス、およびその他のネットワークコンポーネントを監視するように設計されています。これを使用して、アプリケーション、システム、ネットワークデバイスのステータスを簡単に追跡できます。
この記事では、オープンソースの監視ツールであるZabbix3.4を最新のUbuntu18.04サーバーにインストールする方法と、監視用のリモートサーバーを追加する方法を説明します。
ZabbixのコアはJavaとCで組み込まれていますが、PHPで構築されたユーザーフレンドリーなフロントエンドインターフェースが付属しているため、システムの追跡と監視が容易になります。
前提条件
- rootユーザー権限を持つ新しくインストールされたUbuntu18.04サーバー。
- 適切に構成されたLAMPサーバー。
LAMPサーバーのインストール
Zabbixサーバーをインストールする前に、LAMPサーバーを適切に構成する必要があります。まず、以下のコマンドを使用して、必要なPHPモジュールのいくつかとともにApacheとPHPをインストールできます。
#apt update -y
#apt install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-bcmath php7.2-mbstring -y
すべてのコンポーネントをインストールしたら、MariaDBをインストールする必要があります。 Zabbixは、MySQL、Oracle、およびPostgreSQLを使用してデータを保存します。ここでは、MariaDBをインストールしてデータを保存します。このソフトウェアの最新バージョンは、デフォルトのUbuntu18.04リポジトリで入手できます。したがって、このコマンドを実行するだけでインストールできます。
#apt install mariadb-server -y
次に、起動時にすべてのサービスを開始して有効にすることができます:
#systemctl start apache2
#systemctl enable apache2
#systemctl start mysql
#systemctl enable mysql
したがって、LAMPサーバーはこれで完了です。次に、Zabbixのインストールを開始できます。
Zabbixサーバーのインストールと設定
OSプラットフォームと要件に応じて、サポートしている最新のZabbixリポジトリを選択してサーバーにインストールする必要があります。
ステップ1:MySQLを使用してZabbixリポジトリをダウンロードしてインストールする
以下のコマンドを使用して、Ubuntu18.04サーバー用の最新のZabbix3.4リポジトリをダウンロードしてインストールできます。
# wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
# dpkg -i zabbix-release_3.4-1+bionic_all.deb
# apt update
ステップ2:Zabbixサーバー、フロントエンド、Zabbix-Agentをインストールする
次に、インストールしたZabbixリポジトリからZabbixサーバー、フロントエンド、Zabbixエージェントをインストールする必要があります。このコマンドを実行して、以下のようにインストールしてください:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
ステップ3:初期Zabbixデータベースを作成する
上記のすべてのコンポーネントをインストールしたら、Zabbixユーザー用のデータベースを作成できます。
~# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 41
Server version: 10.1.29-MariaDB-6 Ubuntu 18.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
これで、最初のスキーマとデータを新しく作成したZabbixデータベースにインポートできます。インポートプロセス中にDBユーザーパスワードを入力するように求められます。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
ステップ4:Zabbixサーバー用のデータベースの設定
この段階では、 /etc/zabbix/zabbix_server.conf
にあるZabbix設定ファイルのデータベースパスワードを適切に更新する必要があります。 以下のように:
# grep -i DBpassword /etc/zabbix/zabbix_server.conf
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
### Option: DBPassword
DBPassword=password
DBパスワードオプションのコメントを解除し、必要に応じて正確なZabbixDBユーザーパスワードを提供する必要があります。
ステップ5:Zabbixフロントエンド用のPHPの設定
Zabbixフロントエンドのインストールをスムーズに実行するには、PHPを構成し、適切なタイムゾーンを設定する必要があります。まず、 /etc/php/7.2/apache2/php.ini
にあるPHP構成ファイルで適切なタイムゾーンを設定できます。 好みのタイムゾーンに合わせて変更します。以下のように更新しました:
# grep -i timezone /etc/php/7.2/apache2/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Riga
次に、 /etc/zabbix/apache.conf
にあるZabbix設定ファイルを更新する必要があります。 以下と同じタイムゾーンで:
# grep timezone /etc/zabbix/apache.conf
php_value date.timezone Europe/Riga
上記の構成ファイルのPHP7モジュールセクションでタイムゾーンのphp_valueのコメントを解除し、以前と同じように正確なタイムゾーンで更新します。
ステップ6:Zabbixサーバーとエージェントのプロセスを開始します
最後に、以下のコマンドを使用して、必要なすべてのZabbixサービスとApache2を起動して有効にすることができます。
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
それで全部です!これで、Zabbixサーバーが稼働します。 URL>>> http:// Server-IP / zabbix
にアクセスして、動作を確認できます。
Zabbixフロントエンドのインストール/設定
Zabbixサーバーを起動して実行すると、新しくインストールしたZabbixフロントエンドにURL>> http://Server-IPまたはhostname/zabbixでアクセスできます。
これにより、フロントエンドインストールウィザードが開きます。完全に機能させるには、Zabbixフロントエンドのセットアッププロセスを完了する必要があります。
各セットアッププロセスを1つずつナビゲートしてみましょう。 次のステップコード>をクリックできます 前提条件を確認します。この段階では、サーバーが以下にリストされているすべてのソフトウェアの前提条件を満たしていることを確認する必要があります。完了したら、[次のステップ]をクリックして続行できます。
この段階では、Zabbixデータベースに接続するための詳細を更新して、適切なDB接続を確保し、Zabbixサーバーの設定(宛先のホストとポート10051を含む)に進んでください。
最後に、インストール前の概要で上記の段階で行われたすべての設定をもう一度確認し、次のステップコード>をクリックします。 インストールを完了します。
すべてがうまくいけば、Zabbixフロントエンドのインストールが成功したことを示す上記のメッセージが表示されます。これで、[完了]タブをクリックして、インストールウィザードを終了できます。
Zabbixダッシュボードへのアクセス
やあ! Zabbixフロントエンドの準備が整いました。ユーザー名"Admin"
のデフォルトのZabbixログインクレデンシャルを使用してアクセスできます とパスワード"zabbix"
URL>>> http:// Server-IP/zabbix。
管理者パスワードの変更
デフォルトの管理者ログインクレデンシャルを使用してZabbixフロントエンドパネルに正常にログインしたら、セキュリティ上の理由から管理者クレデンシャルを変更する必要があります。 Administration>ユーザー>Admin>Password> Change Password
のパスをナビゲートして、管理者パスワードを変更できます。 以下のスクリーンショットのように:
監視ホストの追加
Zabbixサーバーを使用する準備ができているので、Zabbixサーバー自体である最初の監視ターゲットホストを追加することで、Zabbixサーバーが機能していることをテストできます。これを行うには、次のパスをナビゲートします: Configuration>> Hosts
スクリーンショットのように。
ご覧のとおり、ホストステータスはデフォルトで無効ステータスに設定されています。このサーバー上のZabbixエージェントがホストを監視できるようにするには、無効なボタンをクリックする必要があります。スクリーンショットに見られるように、 Status
有効
になっています サーバーは現在監視されています。
Zabbixサーバーがサーバーから監視データを取得してグラフを更新するまで数分待ちます。これで、パスをナビゲートしてホストグラフを表示できます:Monitoring>画面>サーバー名
スナップショットのように。
リモートホストの追加
まず、リモートホストにZabbixAgentをインストール/有効化する必要があります。 Zabbixエージェントの仕事は、デバイスからCPU、メモリ、ディスク、ネットワークインターフェイスの使用状況などのデータを収集することです。 Zabbixエージェントはパッシブ(ポーリング)とアクティブチェック(トラッピング)の両方を実行できます。これらのチェックは、間隔を置いて実行することも、特定のタイムスケジュールに基づいて実行することもできます。 Ubuntu18.04ノードにZabbixエージェントをインストール/有効化する方法を見てみましょう。
Zabbixエージェントのインストール
最初に、新しいホストサーバーにSSHで接続し、Ubuntu18.04ホストセットアップ用のZabbix3.4リポジトリをダウンロードして、そこからZabbixエージェントをインストールする必要があります。
#wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
#dpkg -i zabbix-release_3.4-1+bionic_all.deb
#apt install zabbix-agent
Zabbixエージェントの設定
これで、Zabbixサーバーとの適切な接続を開始するようにZabbixエージェントを設定できます。サーバーとエージェント間の接続を保護するために、事前共有キー(PSK)を使用します。 Zabbixエージェントの設定は/etc/zabbix/zabbix_agentd.conf
にあります 。
ステップ1:PSKキーを生成して構成します。
まず、PSKキーを生成する必要があります。これは、次のコマンドを実行することで取得できます:
#sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
エージェントの構成中に使用されるこのキーを保存できます。
# cat /etc/zabbix/zabbix_agentd.psk
abb6a14eace79044b9f3bab0c6cd26d50b4cfb3dc6fe2ef815b96216073b333b
ステップ2:Zabbixサーバーをエージェント構成に追加します。
次に、Zabbixエージェント設定ファイル /etc/zabbix/zabbix_agentd.conf
を開く必要があります。 サーバー間の安全な接続をセットアップするように構成します。まず、以下のようにZabbixサーバーIPで「95」と「136」の行番号を編集する必要があります。ここで172.104.210.183は私のZabbixサーバーIPです。
# sed -n '95 p' /etc/zabbix/zabbix_agentd.conf
Server=172.104.210.183
次に、Zabbixサーバー情報を使用して136行を編集する必要があります。
# sed -n '136 p' /etc/zabbix/zabbix_agentd.conf
ServerActive=172.104.210.183
ステップ3:PSKセキュア接続の構成と有効化
サーバー間の安全な接続を構成するために、PSKをサポートするTLS接続を有効にしています。それに応じて、Zabbixエージェント設定の次の行を編集して可能にする必要があります。
/etc/zabbix/zabbix_agentd.confの次の行を変更します:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
# TLSConnect=unencrypted
# TLSAccept=unencrypted
# TLSPSKIdentity=
# TLSPSKFile=
TO:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PKI 001
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
各セクションの定義:
-
TLSConnect =psk
*//これにより事前共有キーのサポートが有効になります//* -
TLSAccept =psk
* //これにより、PSKサポートを使用してすべての着信接続を受け入れることができます// * -
TLSPSKIdentity =PKI 001
*//エージェントの事前共有キーを識別するために一意の名前が付けられています//* -
TLSPSKFile =/etc/zabbix/zabbix_agentd.psk
* //これは、Zabbixエージェントが作成されたPSKファイルを識別するのに役立ちます。 // *
ステップ4:Zabbixエージェントを起動します
これで、これらの変更を保存してZabbixエージェントを起動し、以下のコマンドを使用して起動時に起動するように設定できます。
~# systemctl start zabbix-agent
# systemctl enable zabbix-agent
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
これで、ZabbixエージェントがZabbixサーバーにデータを送信する準備が整いました。ただし、これを使用するには、ZabbixサーバーのWebコンソールからこのエージェントをリンクする必要があります。
ステップ5:新しいホストをZabbixサーバーに追加する
新しいホストにZabbixAgentを正常にインストール/設定しました。次に、この新しいノードをWebコンソールからZabbixサーバーに登録する必要があります。 URL>> http:// Zabbix_ServerIP / zabbix /
を使用してZabbixサーバーのWebインターフェイスにログインできます。 管理者ログイン資格情報が作成されます。これで、パスをナビゲートできます: Configuration> Hosts> Create Host
これにより、ホスト構成ページが開き、新しいホストのホスト名、IPの詳細を追加できます。さらに、この新しいホストを追加するグループを選択できます。好みに応じて新しいグループを作成するか、既存のグループに追加することができます。好みに応じて、1つのホストを複数のグループに含めることができます。ここでは、新しいノードをデフォルトの Linux Servers
に追加しています。 グループ。
ホストを追加した後、[ホスト]リストから追加したノードを選択して設定を変更できます。デフォルトのテンプレートTemplateOS Linux
を選択しました 私のノードのために。テンプレートリストから任意のテンプレートを選択できます。
次に、[暗号化]タブに移動する必要があります。決定したので、ホストへの接続とホストからの接続の両方にPSKを選択する必要があります。次に、 PSK ID
を設定します PSK 001
へ 、これは TLSPSKIdentity
の値です 最初にZabbixエージェントで設定した設定。次に、PSK値をZabbixエージェント用に生成したキーに設定します。これは、ファイル /etc/zabbix/zabbix_agentd.psk
に保存されているものです。 エージェントマシン上で。
それで全部です!これで、すべてが正常に機能し、接続が暗号化されていることを示す緑色のラベルが付いた新しいホストが表示されます。
動作を確認するために、新しいホストをシャットダウンして、Zabbixが問題について警告しているかどうかを確認することもできます。その場合、スクリーンショットに示されているように問題が報告されます。
同様に、Zabbixエージェントをインストールして設定し、Zabbixサーバーに登録することで、Zabbixサーバーに新しいホストを追加できます。この記事がお役に立てば幸いです。これに関する貴重な提案やコメントを投稿してください。