Nagiosは、無料のオープンソースの強力な監視ツールであり、ITインフラストラクチャ、サーバー、サービス、およびアプリケーション全体を中央の場所から監視するのに役立ちます。これは、クライアントサーバーアーキテクチャに基づいています。
そのため、クライアントシステムにNagiosエージェントをインストールし、監視のためにNagiosサーバーに追加する必要があります。監視ソリューションをお探しの場合、Nagiosはあらゆる実稼働サーバー環境に不可欠なツールです。
自分でやる方法はありますか?もちろんあります。このチュートリアルでは、Nagios 4をインストールし、Ubuntu20.04でサーバーを監視する方法を説明します。
- 2つのUbuntu20.04VPS 1つはNagiosサーバー用、もう1つはNagiosクライアント用です。
- rootユーザーアカウントへのアクセス(またはroot権限を持つ管理者アカウントへのアクセス)
ステップ1:サーバーにログインしてサーバーOSパッケージを更新する
まず、rootユーザーとしてSSH経由でUbuntu20.04サーバーにログインします。
ssh root@IP_Address -p Port_number
「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。さらに、必要に応じて「root」を管理者アカウントのユーザー名に置き換えます。
開始する前に、サーバーにインストールされているすべてのUbuntuOSパッケージが最新であることを確認する必要があります。これを行うには、次のコマンドを実行します。
apt-get update -y apt-get upgrade -y
ステップ2:必要な依存関係をインストールする
開始する前に、システムにNagiosをインストールするために必要ないくつかの依存関係をインストールする必要があります。次のコマンドですべてをインストールできます:
apt-get install autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext -y
すべての依存関係がインストールされたら、Nagios4コアのダウンロードに進むことができます。
ステップ3:Nagios4をダウンロードしてインストールする
まず、次のコマンドを使用して、公式WebサイトからNagios4の最新バージョンをダウンロードします。
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。
tar -xvzf nagios-4.4.6.tar.gz
次に、ディレクトリを抽出したディレクトリに変更し、次のコマンドで構成します。
cd nagios-4.4.6 ./configure --with-httpd-conf=/etc/apache2/sites-enabled
次の出力が得られるはずです:
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Install ${includedir}: /usr/local/nagios/include/nagios
Lock file: /run/nagios.lock
Check result directory: /usr/local/nagios/var/spool/checkresults
Init directory: /lib/systemd/system
Apache conf.d directory: /etc/apache2/sites-enabled
Mail program: /bin/mail
Host OS: linux-gnu
IOBroker Method: epoll
Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.
次に、次のコマンドを使用してNagiosをビルドします。
make all
次に、Nagiosユーザーとグループを作成し、次のコマンドを使用してwww-dataグループに追加します。
make install-groups-users usermod -a -G nagios www-data
次に、次のコマンドを実行して、Nagiosバイナリ、デーモン、およびコマンドモードをインストールします。
make install make install-daemoninit make install-commandmode
次に、次のコマンドを使用して、サンプルスクリプト構成とApacheWeb構成をインストールします。
make install-config make install-webconf
次に、次のコマンドを使用してrewriteおよびcgiモジュールを有効にします。
a2enmod rewrite cgi
次に、Apacheサービスを再起動して、変更を適用します。
systemctl restart apache2
ステップ4:Nagios管理者ユーザーを作成する
次に、NagiosWebインターフェイスにアクセスするためのNagiosユーザーを作成する必要があります。次のコマンドで作成できます:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
以下に示すように、パスワードを設定するように求められます。
New password: Re-type new password: Adding password for user nagiosadmin
ステップ5:Nagiosを構成する
Nagiosを設定する前に、NagiosプラグインとNRPEプラグインをインストールする必要があります。次のコマンドでインストールできます:
apt-get install monitoring-plugins nagios-nrpe-plugin -y
すべてのパッケージがインストールされたら、すべての構成を保存するディレクトリを作成します。
mkdir -p /usr/local/nagios/etc/servers
次に、Nagios構成ファイルを編集し、サーバーディレクトリを定義します。
nano /usr/local/nagios/etc/nagios.cfg
次の行を変更します:
cfg_dir=/usr/local/nagios/etc/servers
次に、Nagios resource.cfgを編集し、Nagiosプラグインパスを定義します。
nano /usr/local/nagios/etc/resource.cfg
次の行を変更します:
$USER1$=/usr/lib/nagios/plugins
ファイルを保存して閉じてから、contacts.cfgを編集し、連絡先の名前とメールアドレスを定義します。
nano /usr/local/nagios/etc/objects/contacts.cfg
必要に応じて、次の行を変更します。
define contact {
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
ファイルを保存して閉じてから、commands.cfgを編集し、nrpeチェックコマンドを定義します。
nano /usr/local/nagios/etc/objects/commands.cfg
ファイルの最後に次の行を追加します。
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
ファイルを保存して閉じてから、Nagiosサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start nagios systemctl enable nagios
次のコマンドを使用して、Nagiosサービスのステータスを確認することもできます。
systemctl status nagios
出力:
● nagios.service - Nagios Core 4.4.6
Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-02-06 13:37:33 UTC; 19s ago
Docs: https://www.nagios.org/documentation
Main PID: 25820 (nagios)
Tasks: 6 (limit: 2353)
Memory: 2.7M
CGroup: /system.slice/nagios.service
├─25820 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
├─25821 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─25822 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─25823 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─25824 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
└─25840 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
Feb 06 13:37:33 nagiosserver nagios[25820]: qh: Socket '/usr/local/nagios/var/rw/nagios.qh' successfully init
最後に、Apacheサービスを再起動して、変更を適用します。
systemctl restart apache2
ステップ6:NagiosWebUIにアクセスする
次に、Webブラウザーを開き、URL http:// nagios-server-ip /nagios/を使用してNagiosWebインターフェースにアクセスします。以下に示すように、管理者のユーザー名とパスワードを入力するように求められます。
Nagios管理者のユーザー名とパスワードを入力し、署名をクリックします で ボタン。次のページにNagiosダッシュボードが表示されます:
サービスをクリックします 左側のペインに、次のページにすべてのサービスが表示されます。
ステップ7:Nagiosサーバーに監視ホストを追加する
次に、クライアントシステムにNagiosエージェントをインストールし、Nagiosサーバーに追加する必要があります。
まず、次のコマンドを使用して、NagiosおよびNRPEパッケージをクライアントシステムにインストールします。
apt-get install nagios-nrpe-server monitoring-plugins -y
インストールしたら、nrpe.cfgファイルを編集し、NagiosサーバーのIPとCLientIPを定義します。
nano /etc/nagios/nrpe.cfg
サーバーとクライアントのIPに一致する次の行を変更します。
server_address=client-ip-address allowed_hosts=127.0.0.1,::1,server-ip-address
ファイルを保存して閉じます。次に、nrpe_local.cfgを編集します:
nano /etc/nagios/nrpe_local.cfg
次の行を追加または変更します。
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p / command[check_ping]=/usr/lib/nagios/plugins/check_ping -H client-ip-address -w 100.0,20% -c 500.0,60% -p 5 command[check_http]=/usr/lib/nagios/plugins/check_http -I client-ip-address command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 client-ip-address
ファイルを保存して閉じてから、Nagios NRPEサービスを再起動し、システムの再起動時に開始できるようにします。
systemctl restart nagios-nrpe-server systemctl enable nagios-nrpe-server
次のコマンドを使用して、サービスのステータスを確認できます。
systemctl status nagios-nrpe-server
出力:
● nagios-nrpe-server.service - Nagios Remote Plugin Executor
Loaded: loaded (/lib/systemd/system/nagios-nrpe-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-02-06 13:51:40 UTC; 16s ago
Docs: http://www.nagios.org/documentation
Main PID: 5966 (nrpe)
Tasks: 1 (limit: 1145)
Memory: 688.0K
CGroup: /system.slice/nagios-nrpe-server.service
└─5966 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -f
Feb 06 13:51:40 nagiosclient systemd[1]: Started Nagios Remote Plugin Executor.
Feb 06 13:51:40 nagiosclient nrpe[5966]: Starting up daemon
Feb 06 13:51:40 nagiosclient nrpe[5966]: Server listening on 104.245.33.71 port 5666.
Feb 06 13:51:40 nagiosclient nrpe[5966]: Listening for connections on port 5666
Feb 06 13:51:40 nagiosclient nrpe[5966]: Allowing connections from: 127.0.0.1,::1,nagios-server-ip
ステップ8:クライアントホストをNagiosサーバーに追加する
次に、クライアントホストをNagiosサーバーに追加し、監視するサービスを定義する必要があります。
Nagiosサーバーで、nagiosclient.cfgという名前の新しいファイルを作成します。
nano /usr/local/nagios/etc/servers/nagiosclient.cfg
次の行を追加します:
define host {
use linux-server
host_name nagiosclient
alias Ubuntu Host
address client-ip-address
register 1
}
define service {
host_name nagiosclient
service_description PING
check_command check_nrpe!check_ping
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check Users
check_command check_nrpe!check_users
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check SSH
check_command check_nrpe!check_ssh
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check Root / Disk
check_command check_nrpe!check_root
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check HTTP
check_command check_nrpe!check_http
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
ファイルを保存して閉じてから、Nagiosサービスを再起動して変更を適用します。
systemctl restart nagios
この時点で、Nagiosサーバーとクライアントがインストールおよび構成されています。
ステップ9:Nagiosを確認する
ここで、Nagios Webインターフェースに戻り、左側のペインでホストをクリックすると、次のページに新しく追加されたすべてのクライアントホストが表示されます。
次に、サービスをクリックします 左側のペインのタブに、次のページにすべてのサービスが表示されます。
もちろん、マネージドホスティングサービスのいずれかを使用している場合は、UbuntuにNagiosをインストールする必要はありません。その場合は、専門のLinux管理者にインストールを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。 UbuntuにNagiosをインストールする方法に関するこの投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。