GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04にZabbixをインストールして設定する方法

Zabbixは、最も人気のあるオープンソースの監視ソフトウェアツールの1つです。 Zabbixは、ネットワークデバイス、システム、およびアプリケーションからメトリックを収集し、それらが稼働していることを確認します。問題が発生した場合、Zabbixはさまざまな方法で通知アラートを送信します。

Zabbixは、エージェントベースおよびエージェントレスのモニタリング用にデプロイできます。 Zabbixエージェントはフットプリントが小さく、Linux、UNIX、macOS、Windowsなどのさまざまなプラットフォームで実行できます。

このチュートリアルでは、MySQLをデータベースバックエンドとして使用して、Ubuntu18.04サーバーに最新バージョンのZabbix4.0をインストールして設定する方法について説明します。また、リモートホストにZabbixエージェントをインストールし、ホストをZabbixサーバーに追加する方法についても説明します。

前提条件#

このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。

MySQLデータベースの作成#

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 updatesudo 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のコメントを解除します ディレクティブを使用してデータベースパスワードを追加します。

/etc/zabbix/zabbix_server.conf
...
### 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-agentsudo 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.debsudo apt install ./zabbix-release_4.0-2+bionic_all.deb

パッケージインデックスを更新し、Zabbixエージェントパッケージをインストールします:

sudo apt updatesudo 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に変更します:

/etc/zabbix/zabbix_agentd.conf
...
### 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に設定します :

/etc/zabbix/zabbix_agentd.conf
...
### 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に設定します :

/etc/zabbix/zabbix_agentd.conf
...
### 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に設定します 値は一意の文字列である必要があります:

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...

最後に、 TLSPSKFileを見つけます オプションで、コメントを外し、以前に作成した事前共有キーを指すように設定します:

/etc/zabbix/zabbix_agentd.conf
...
### 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-agentsudo 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エージェント用に生成したキーを追加します ファイル。

最後に、ホストを追加するには、青い[追加]ボタンをクリックします 。


Ubuntu
  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu20.04にRedisをインストールして構成する方法

  2. CentOS7にZabbixをインストールして設定する方法

  3. Ubuntu20.04にJenkinsをインストールして構成する方法

  1. Ubuntu16.04にAskbotをインストールして構成する方法

  2. Ubuntu14.04にMongoDBをインストールして構成する方法

  3. Ubuntu16.04にSolr6をインストールして構成する方法