Zabbixは、最も人気のあるオープンソースの監視ソフトウェアツールの1つです。 Zabbixは、ネットワークデバイス、システム、およびアプリケーションからメトリックを収集し、それらが稼働していることを確認します。問題が発生した場合、Zabbixはさまざまな方法で通知アラートを送信します。
Zabbixは、エージェントベースおよびエージェントレスのモニタリング用にデプロイできます。 Zabbixエージェントはフットプリントが小さく、Linux、UNIX、macOS、Windowsなどのさまざまなプラットフォームで実行できます。
このチュートリアルでは、MySQLをデータベースバックエンドとして使用して、Ubuntu18.04サーバーに最新バージョンのZabbix4.0をインストールして設定する方法について説明します。また、リモートホストにZabbixエージェントをインストールし、ホストをZabbixサーバーに追加する方法についても説明します。
前提条件#
このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
ZabbixはMySQL/MariaDBとPostgreSQLの両方をサポートしています。このチュートリアルでは、MySQLをデータベースのバックエンドとして使用します。
UbuntuサーバーにMySQLがまだインストールされていない場合は、次の手順に従ってインストールできます。
次のコマンドを入力して、MySQLシェルにログインします。
sudo mysql
MySQLシェル内から、次のSQLステートメントを実行して新しいデータベースを作成します。
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
次に、MySQLユーザーアカウントを作成し、データベースへのアクセスを許可します。
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
必ずchange-with-strong-password
を変更してください 強力なパスワードを使用します。 完了したら、次のように入力してmysqlコンソールを終了します。
EXIT;
UbuntuへのZabbixのインストール#
この記事を書いている時点で、Zabbixの最新の安定バージョンはバージョン4.0です。 Ubuntuリポジトリで利用可能なZabbixパッケージは古くなっていることが多いため、公式のZabbixリポジトリを使用します。
1。 Zabbixのインストール#
最新のZabbixリポジトリをダウンロードする.deb
次のwgetコマンドを含むパッケージ:
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
ファイルがダウンロードされたら、次のように入力して、ZabbixリポジトリをUbuntu18.04システムに追加します。
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
パッケージインデックスを更新し、Zabbixサーバー、MySQLデータベースをサポートするWebフロントエンド、およびZabbixエージェントをインストールします。
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
上記のコマンドは、Apache、PHP、および必要なすべてのPHPモジュールもインストールします。
2。 Zabbixフロントエンド用のPHPの設定#
インストール中に、必要なすべてのApacheおよびPHP設定を含むApache構成ファイルが作成されます。小さな変更を加えて適切なタイムゾーンを設定するだけです。
構成ファイルを開き、タイムゾーンの行のコメントを解除して、自分のタイムゾーンに変更します。 PHPでサポートされているタイムゾーンの完全なリストはここにあります。
/etc/apache2/conf-enabled/zabbix.conf...
<IfModule mod_php7.c>
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 America/Denver
</IfModule>
...
完了したら、構成ファイルを保存し、Apacheサービスを再起動して、変更を有効にします。
sudo systemctl restart apache2
3。 Zabbixサーバー用のMySQLデータベースの設定#
Zabbixインストールパッケージは、MySQLを使用するZabbixサーバーの初期スキーマとデータを含むダンプファイルを提供します。
次のコマンドを実行して、MySQLダンプファイルをインポートします。
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
プロンプトが表示されたら、前に作成したユーザーパスワードを入力します。成功すると、出力は表示されません。
次に、Zabbix構成を編集し、データベースパスワードを設定する必要があります。
エディターで構成ファイルを開きます:
sudo nano /etc/zabbix/zabbix_server.conf
次のセクションを検索し、 DBPassword
のコメントを解除します ディレクティブを使用してデータベースパスワードを追加します。
...
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
ファイルを保存して閉じます。
Zabbixサーバーとエージェントサービスを再起動し、システムの起動時に開始させます:
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Zabbixサーバーが実行されているかどうかを確認するには、次のように入力します。
sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-11-29 03:30:44 PST; 43s ago
Main PID: 14293 (zabbix_server)
Tasks: 34 (limit: 2319)
CGroup: /system.slice/zabbix-server.service
...
Zabbixフロントエンドのインストールと設定#
Zabbix WebインターフェースはPHPで記述されており、サーバーの構成、収集されたデータの表示、監視するホストの追加が可能です。
Webインターフェースの使用を開始する前に、それをインストールする必要があります。
お気に入りのブラウザを開き、サーバーのドメイン名またはパブリックIPアドレスに続けて / zabbix
を入力します :
http(s)://your_domain_or_ip_address/zabbix
最初の画面に、ウェルカムメッセージが表示されます。 次のステップコード>をクリックします 続行します。
次に、Zabbixフロントエンドを実行するために必要なすべてのPHP前提条件を一覧表示する次の情報ページが表示されます。このテーブルのすべての値はOK
である必要があります 、下にスクロールして、すべてが正しく設定されていることを確認します。確認したら、次のステップ
をクリックします 続行します。
次の画面で、セットアップウィザードはデータベース接続の詳細を入力するように求めます。以前に作成したMySQLユーザーとデータベースの詳細を入力します。
サーバーの名前の入力はオプションです。複数のZabbixモニタリングサーバーがある場合は、これを入力してください。提供されている場合は、メニューバーとページタイトルに表示されます。
次のステップコード>をクリックします 続行します。
次の画面に、インストール前の概要が表示されます。
次のステップコード>をクリックします インストールが完了すると、ZabbixWebインターフェイスがインストールされたことを通知するページが表示されます。 Zabbixログインページにアクセスするには、
Finish
をクリックします ボタン。
デフォルトのユーザーは「Admin」で、パスワードは「zabbix」です。ユーザー名とパスワードを入力し、ログイン
をクリックします ボタン。
ログインすると、Zabbix管理ダッシュボードにリダイレクトされます。
ここから、Zabbixインストールのカスタマイズと新しいホストの追加を開始できます。最初のステップは、現在のパスワードを変更することです。これを行うには、上部のナビゲーションにあるプロファイルアイコンをクリックして、ユーザープロファイルページに移動します。
Zabbixサーバーへの新しいホストの追加#
監視用の新しいホストをZabbixサーバーに追加する手順には、2つのステップが含まれます。
まず、リモートホストにZabbixエージェントをインストールしてから、Webインターフェイスを介してホストをZabbixサーバーに追加する必要があります。
Zabbixエージェントのインストール#
このチュートリアルでは、ホストマシンもUbuntu18.04を使用していることを前提としています。
Zabbixサーバーをインストールするときと同じように、次のコマンドを実行してZabbixリポジトリを有効にします。
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
パッケージインデックスを更新し、Zabbixエージェントパッケージをインストールします:
sudo apt update
sudo apt install zabbix-agent
Zabbixは、サーバークライアント通信の暗号化に、事前共有キー(PSK)と証明書ベースの暗号化の2つの方法をサポートしています。このチュートリアルでは、事前共有キー(PSK)方式を使用して、サーバーとエージェント間の接続を保護します。
次のコマンドを使用して事前共有キーを生成し、ファイルに保存します。
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
PSKキーは次のようになります:
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
Zabbixエージェント設定ファイルを開きます:
sudo nano /etc/zabbix/zabbix_agentd.conf
サーバー
を検索します IPアドレスをデフォルト値からZabbixサーバーのIPに変更します:
...
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
...
次に、 TSLConnect
を見つけます オプションで、コメントを外し、 psk
に設定します :
...
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
TLSAccept
を見つけます オプションで、コメントを外し、 psk
に設定します :
...
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
次に、 TLSPSKIdentity
を見つけます オプションで、コメントを外して PSK 001
に設定します 値は一意の文字列である必要があります:
...
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
最後に、 TLSPSKFile
を見つけます オプションで、コメントを外し、以前に作成した事前共有キーを指すように設定します:
...
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
完了したら、ファイルを保存して閉じます。
Zabbixエージェントサービスを開始し、起動時に開始するように設定します:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
次に、TCPポート 10050
でZabbixサーバーからのトラフィックを有効にするファイアウォールルールを追加する必要があります 。
UFW
を使用していると仮定します ファイアウォールを管理し、 192.168.121.70
からのアクセスを許可したい 次のコマンドを実行するIPアドレス:
sudo ufw allow proto tcp from 192.168.121.70 to any port 10050
新しいホストを設定する#
これで、監視するリモートホスト上のエージェントがインストールおよび設定されました。次のステップは、Zabbixサーバーにホストを登録することです。
管理者ユーザーとしてZabbixサーバーのWebインターフェースにログインします。
http(s)://your_domain_or_ip_address/zabbix
中に入ると、上部のナビゲーションバーで Configuration
をクリックします 、次に Hosts
次に、青い Create host
をクリックします 画面の右上隅にあるボタンをクリックすると、ホスト構成ページが開きます:
監視するリモートホストマシンのホスト名とIPアドレスを入力します。リストからグループを選択してホストを1つまたは複数のグループに追加するか、存在しないグループ名を入力して新しいグループを作成します。 Linuxサーバー
グループは良い選択です。
完了したら、テンプレート
をクリックします タブ。 Template OS Linux
を選択します Add
をクリックします テンプレートをホストに追加するためのリンク。
次に、暗号化
をクリックします タブ。両方のホストへの接続
にPSKを選択します およびホストからの接続
。
PSK ID
を設定します PSK 001
の値 、 TLSPSKIdentity
の値 前の手順で設定したZabbixエージェントのオプション。
PSK値
/etc/zabbix/zabbix_agentd.psk
に保存されているZabbixエージェント用に生成したキーを追加します ファイル。
最後に、ホストを追加するには、青い[追加]ボタン
をクリックします 。