Nagios設定 · 8 min read · Nov 09, 2025
Rocky Linux 9にNagiosをインストールして設定する方法

Nagiosは人気があり、最も強力なオープンソースの監視システムの1つです。ITインフラストラクチャを監視し、ネットワーク、サーバー、アプリケーション、プロセスがスムーズに動作するように保ちます。監視システムを使用することで、問題が発生する前に検出し、迅速に修正してコストとダウンタイムを節約できます。
このチュートリアルでは、Rocky Linux 9サーバーにNagiosをインストールして設定する方法を説明します。また、基本的な設定を行い、リモートホストを監視するためのNagios Remote Plugin Executor (NPRE)をインストールします。
前提条件
- Rocky Linux 9を実行しているサーバー。
- root権限を持つ非sudoユーザー。
- SELinuxが無効になっていること。このチュートリアルでは、SELinuxを有効にしていても問題なく動作しますが、使用するNagiosモニターによっては、SELinuxを設定する必要があるか、無効のままにしておく方が良いでしょう。
- 監視したい別のRocky Linux 9サーバー。
- すべてが更新されていることを確認してください。
$ sudo dnf update
ステップ1 - ファイアウォールの設定
最初のステップはファイアウォールの設定です。Rocky LinuxサーバーにはFirewalldファイアウォールが付属しています。
ファイアウォールが実行中かどうかを確認します。
$ sudo firewall-cmd --state
次の出力が得られるはずです。
running
現在許可されているサービス/ポートを確認します。
$ sudo firewall-cmd --permanent --list-services
次の出力が表示されるはずです。
dhcpv6-client mdns ssh
HTTPおよびHTTPSポートを許可します。
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
ファイアウォールの状態を再確認します。
$ sudo firewall-cmd --permanent --list-services
同様の出力が表示されるはずです。
dhcpv6-client http https mdns ssh
ファイアウォールを再読み込みします。
$ sudo firewall-cmd --reload
ステップ2 - ApacheとPHPのインストール
Nagiosを実行するには、ApacheとPHPをインストールする必要があります。
Apacheサービスをインストールして有効にします。
$ sudo dnf install httpd
$ sudo systemctl enable httpd
PHPをインストールするために、Remiリポジトリを使用します。Remi Repoをインストールし、PHP 8.1を有効にします。
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1 -y
PHPといくつかの一般的なPHPモジュールをインストールします。
$ sudo dnf install -y php php-gd php-curl
PHPのインストールを確認します。
$ php --version
PHP 8.1.16 (cli) (built: Feb 14 2023 18:59:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.16, Copyright (c) Zend Technologies
with Zend OPcache v8.1.16, Copyright (c), by Zend Technologies
PHPを有効にし、サービスを開始します。
$ sudo systemctl enable --now php-fpm
変更を適用するためにApacheサービスを再起動します。
$ sudo systemctl restart httpd
ApacheとPHPのインストールを確認するには、Apacheインストーラーによって作成された/var/www/htmlディレクトリにinfo.phpというファイルを作成します。
$ sudo nano /var/www/html/info.php
エディタに次のコードを貼り付けます。
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
ブラウザでhttp://のURLを開くと、次のページが表示されるはずです。

ステップ3 - Nagiosのインストール
このチュートリアルのほとんどは、メインサーバーでNagiosをインストールして作業する必要があります。
依存関係のインストール
このチュートリアルでは、Nagiosとそのプラグインをソースからビルドする必要があります。したがって、最初にいくつかの開発ライブラリをインストールする必要があります。EPELリポジトリも必要ですが、前のステップでRemiリポジトリと一緒に自動的にインストールされたため、ここではスキップできます。
$ sudo dnf install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel unzip wget gettext autoconf net-snmp-utils postfix automake perl-Net-SNMP
Nagiosのダウンロード
NagiosのGitHubリリースページから最新バージョンをダウンロードします。チュートリアルの時点で、4.4.10が最新バージョンです。異なるバージョンが必要な場合は、コマンドを修正してください。
$ cd ~
$ sudo wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.4.10/nagios-4.4.10.tar.gz
tarファイルを抽出します。
$ sudo tar zxf nagios.tar.gz
抽出したディレクトリを/usr/srcディレクトリに移動します。
sudo mv nagios-4.4.10 /usr/src/nagios
/usr/src/nagiosディレクトリに移動します。
$ cd /usr/src/nagios
Nagiosのコンパイル
次のステップは、ソースファイルからNagiosをコンパイルすることです。configureスクリプトを実行して、すべての依存関係が存在することを確認します。
$ sudo ./configure
スクリプトの成功した完了後、次のような出力が得られるはずです。
* Configuration summary for nagios 4.4.10 2023-01-17 *:
General Options:
-------------------------
Nagios executable: nagios
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/httpd/conf.d
Mail program: /usr/sbin/sendmail
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):
上記のオプションが正しいか確認してください。問題がなければ、`make all`を入力してメインプログラムとCGIをコンパイルします。
コンパイルを開始します。
$ sudo make all
Nagiosユーザーとグループの作成
Nagiosプロセスを実行する新しいユーザーとグループを作成します。
$ sudo make install-groups-users
次の出力が表示されるはずです。
groupadd -r nagios
useradd -g nagios nagios
apacheユーザーをnagiosグループに追加します。
$ sudo usermod -a -G nagios apache
Nagiosバイナリのインストール
次のコマンドを実行して、Nagiosバイナリ、CGI、およびHTMLファイルをインストールします。
$ sudo make install
外部コマンドディレクトリの作成
Nagiosは外部アプリケーションからのコマンドを処理できるため、それに必要なディレクトリを設定する必要があります。
$ sudo make install-commandmode
/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
* External command directory configured *
Nagios設定ファイルのインストール
サンプル設定ファイルをインストールします。
$ sudo make install-config
Apache設定ファイルのインストール
次のコマンドを実行して、Apache設定ファイルをインストールします。
$ sudo make install-webconf
設定を有効にするためにWebサーバーを再起動します。
$ sudo systemctl restart httpd
Systemdサービスファイルの作成
次のコマンドを実行して、systemdユニットファイルをインストールします。
$ sudo make install-daemoninit
HTTP認証の有効化
Nagios WebインターフェースをHTTP認証でロックできます。次のコマンドを実行して、htpasswdを使用してユーザーを作成します。パスワードの入力を求められます。
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
デフォルトのユーザー名はnagiosadminです。別のユーザー名を使用する場合は、/usr/local/nagios/etc/cgi.cfgファイル内のすべてのnagiosadminのインスタンスを希望のユーザー名に置き換えます。または、次のようにカンマを使用してユーザー名を追加できます。
authorized_for_system_information=nagiosadmin, username1
authorized_for_configuration_information=nagiosadmin, username1
authorized_for_system_commands=nagiosadmin, username1
authorized_for_all_services=nagiosadmin, username1
authorized_for_all_hosts=nagiosadmin, username1
authorized_for_all_service_commands=nagiosadmin, username1
authorized_for_all_host_commands=nagiosadmin, username1
読み取り専用アクセスを持つユーザーを追加するには、ファイル内の次の設定の前のハッシュ(#)を削除します。その後、ユーザー名でhtpasswdを実行します。
authorized_for_read_only=username2
設定を有効にするためにサーバーを再起動します。
$ sudo systemctl restart httpd
ステップ4 - Nagiosプラグインのインストール
Nagiosプラグインに必要な前提条件をインストールします。
$ sudo dnf install epel-release
$ sudo dnf install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils postgresql-devel openldap-devel bind-utils samba-client fping openssh-clients lm_sensors perl-Net-SNMP
NagiosプラグインのGitHubページから最新バージョンをダウンロードします。チュートリアルの時点で、2.4.3が最新バージョンです。異なるバージョンが必要な場合は、コマンドを修正してください。
$ cd ~
$ sudo wget -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.3/nagios-plugins-2.4.3.tar.gz
tarファイルを抽出します。
$ sudo tar zxf nagios-plugins.tar.gz
抽出したディレクトリを/usr/srcディレクトリに移動します。
$ sudo mv nagios-plugins-2.4.3 /usr/src/nagios-plugins
/usr/src/nagios-pluginsディレクトリに戻ります。
$ cd /usr/src/nagios-plugins
次のコマンドを実行してプラグインをコンパイルしてインストールします。
$ sudo ./configure
$ sudo make
$ sudo make install
ステップ5 - check_nrpeプラグインのインストール
NRPE GitHubリリースページから最新バージョンをダウンロードします。チュートリアル執筆時点で、最新バージョンは4.1.0です。異なるバージョンが必要な場合は、次のコマンドを修正してください。
$ cd ~
$ wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
アーカイブを抽出します。
$ tar zxf nrpe-*.tar.gz
抽出したディレクトリを/usr/srcディレクトリに移動します。
$ sudo mv nrpe-4.1.0 /usr/src/nrpe
/usr/src/nrpeディレクトリに移動します。
$ cd /usr/src/nrpe
プラグインを設定してインストールします。
$ sudo ./configure
$ sudo make check_nrpe
$ sudo make install-plugin
これにより、check_nrpeプラグインが/usr/local/nagios/libexec/ディレクトリに配置されます。
ステップ6 - Nagiosの起動
Nagiosとプラグインがインストールされたので、Nagiosサービスを起動する時が来ました。
$ sudo systemctl start nagios
サービスの状態を確認して、正常に実行されているかどうかを確認します。
$ sudo systemctl status nagios
Nagios Webインターフェース
ブラウザでhttp://のURLを開きます。ログインプロンプトが表示されるはずです。
HTTP認証メソッド中に作成した資格情報を入力すると、次の画面が表示されるはずです。

ステップ7 - ホストの監視
ホストを監視するには、ホストにNRPEデーモンとNagiosプラグインをインストールする必要があります。NagiosサーバーからRocky Linux 9サーバーを監視します。
ホストにログインします。
$ ssh user@monitored_server_ip
Nagiosプラグインのインストール
以前のステップ4を繰り返してNagiosプラグインをインストールします。
NRPEのインストール
NRPEデーモンに必要な前提条件をインストールします。
$ sudo dnf install -y gcc glibc glibc-common openssl openssl-devel perl wget
NRPEをダウンロードします。
$ cd ~
$ wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
アーカイブを抽出します。
$ tar zxf nrpe-*.tar.gz
抽出したディレクトリを/usr/srcディレクトリに移動します。
$ sudo mv nrpe-4.1.0 /usr/src/nrpe
NRPEディレクトリに移動します。
$ cd /usr/src/nrpe
NRPEを設定してインストールします。
$ sudo ./configure --enable-command-args
$ sudo make all
ユーザーとグループを作成します。
$ sudo make install-groups-users
NRPEバイナリ、NRPEデーモン、およびcheck_npreプラグインをインストールします。
$ sudo make install
設定ファイルをインストールします。
$ sudo make install-config
サービスファイルを更新します。/etc/servicesファイルは、サービス名をポート番号に変換するために使用されます。
$ sudo sh -c "echo >> /etc/services"
$ sudo sh -c "sudo echo '# Nagios services' >> /etc/services"
$ sudo sh -c "sudo echo 'nrpe 5666/tcp' >> /etc/services"
NPREサービスデーモンをインストールします。
$ sudo make install-init
$ sudo systemctl enable nrpe
/usr/local/nagios/etc/nrpe.cfgにあるNPRE設定ファイルを更新する必要があります。
ファイルを編集するために開きます。
$ sudo nano /usr/local/nagios/etc/nrpe.cfg
デフォルトでは、NPREはローカルホスト(127.0.0.1)からのリクエストのみをリッスンします。NagiosサーバーのIPアドレスをファイルに追加する必要があります。
allowed_hosts=127.0.0.1,10.25.5.2
次のオプションは、NPREデーモンがクライアントにコマンド引数を指定することを許可するかどうかを決定します。このオプションを有効にするには、値を1に設定します。これにより、高度なNPRE設定が有効になります。
dont_blame_nrpe=1
次に、下にスクロールすると、定義されたNRPEコマンドのリストが表示されます。すべてコメントアウトされています。Nagiosがそれらを使用できるようにするために、コメントを解除する必要があります。
各コマンドには引数を渡すことができます。一部のコマンドには、前にハードコーディングされた引数がありますが、一部はユーザーからの引数を受け入れることができます。各コマンドには次の通知オプションがあります。
- Wは警告サービス状態を表します
- Cはクリティカルサービス状態を表します
- Rはサービスの回復(OK状態)を通知します
したがって、コマンドが送信できる通知のレベルを指定できます。各コマンドの詳細な説明と機能については、このチュートリアルの範囲を超えているため、詳しくは説明しません。
# The following examples use hardcoded command arguments...
# This is by far the most secure method of using NRPE
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -c .30,.25,.20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
# The following examples allow user-supplied arguments and can
# only be used if the NRPE daemon was compiled with support for
# command arguments *AND* the dont_blame_nrpe directive in this
# config file is set to '1'. This poses a potential security risk, so
# make sure you read the SECURITY file before doing this.
### MISC SYSTEM METRICS ###
command[check_users]=/usr/local/nagios/libexec/check_users $ARG1$
command[check_load]=/usr/local/nagios/libexec/check_load $ARG1$
command[check_disk]=/usr/local/nagios/libexec/check_disk $ARG1$
command[check_swap]=/usr/local/nagios/libexec/check_swap $ARG1$
command[check_cpu_stats]=/usr/local/nagios/libexec/check_cpu_stats.sh $ARG1$
command[check_mem]=/usr/local/nagios/libexec/custom_check_mem -n $ARG1$
### GENERIC SERVICES ###
command[check_init_service]=sudo /usr/local/nagios/libexec/check_init_service $ARG1$
command[check_services]=/usr/local/nagios/libexec/check_services -p $ARG1$
### SYSTEM UPDATES ###
command[check_yum]=/usr/local/nagios/libexec/check_yum
#command[check_apt]=/usr/local/nagios/libexec/check_apt
### PROCESSES ###
command[check_all_procs]=/usr/local/nagios/libexec/custom_check_procs
command[check_procs]=/usr/local/nagios/libexec/check_procs $ARG1$
### OPEN FILES ###
command[check_open_files]=/usr/local/nagios/libexec/check_open_files.pl $ARG1$
### NETWORK CONNECTIONS ###
command[check_netstat]=/usr/local/nagios/libexec/check_netstat.pl -p $ARG1$ $ARG2$
上記のコマンドのコメントを解除するには、前の#記号を削除します。必要なだけ多くのコマンドのコメントを解除できます。
ルートディスクスペースをチェックするための次のコマンドを追加します。
command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
完了したら、Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
NPREプラグインで使用されるポート5666を許可します。
$ sudo firewall-cmd --permanent --add-port=5666/tcp
ファイアウォールを再読み込みします。
$ sudo firewall-cmd --reload
NPREを起動します。
$ sudo systemctl start nrpe
ここから先のすべてのコマンドは、特に指定しない限り、メインのNagiosサーバーで実行されます。
メインのNagiosサーバーで次のコマンドを実行して、NRPEが機能しているかどうかを確認します。
$ /usr/local/nagios/libexec/check_nrpe -H monitored_server_ip
次の出力が表示されるはずです。
NRPE v4.1.0
ホストを監視するには、監視したい各ホストの設定ファイルを作成する必要があります。これらのホストは、Nagios Webインターフェースを介してアクセスできるようになります。
設定ファイルを保存するためのディレクトリを作成し、適切な権限を付与します。
$ sudo mkdir /usr/local/nagios/etc/servers
$ sudo chown -R nagios:nagios /usr/local/nagios/etc/servers
$ sudo chmod g+w /usr/local/nagios/etc/servers
Nagios設定ファイル/usr/local/nagios/etc/nagios.cfgを編集するために開きます。
$ sudo nano /usr/local/nagios/etc/nagios.cfg
次のファイルを見つけて、前の#を削除してコメントを解除します。
cfg_dir=/usr/local/nagios/etc/servers
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
次のステップは、ホストを監視するためにcheck_nrpeコマンドを/usr/local/nagios/etc/objects/commands.cfgファイルに追加することです。
ファイル/usr/local/nagios/etc/objects/commands.cfgを編集するために開きます。
$ sudo nano /usr/local/nagios/etc/objects/commands.cfg
次のコードをファイルの最後に貼り付けます。
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ $ARG2$
}
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
リモートホストの新しい設定ファイルを/usr/local/nagios/etc/servers/ディレクトリに作成します。
$ sudo nano /usr/local/nagios/etc/servers/yourhost.cfg
リモートホストのホスト名、説明、IPアドレスで次のコードを追加します。
define host {
use linux-server
host_name monitored_server_host_name
alias My client server
address monitored_server_private_ip
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
この設定により、Nagiosはホストがアップまたはダウンしていると通知します。追加のものを監視するには、さらにサービスを追加する必要があります。
ホストの接続統計をチェックするための次のブロックを追加します。
define service {
use generic-service
host_name monitored_server_host_name
service_description PING
check_command check_ping!200.0,20%!400.0,90%
}
サーバーの負荷平均を監視するための次のブロックを追加します。
define service {
use generic-service
host_name monitored_server_host_name
service_description Load average
check_command check_nrpe!check_load!-a '-w 0.7,0.6,0.5 -c 0.9,0.8,0.7'
}
use generic-serviceディレクティブは、Nagiosが事前定義されたgeneric-serviceというテンプレートから継承することを示します。
次に、ディスク使用量を監視するためのブロックを追加します。コマンドを適切なディスクラベルで修正します。
define service {
use generic-service
host_name monitored_server_host_name
service_description /dev/vda1 free space
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /dev/vda1'
}
次のブロックを使用してSSHを監視します。次のブロックはSSHサーバーをチェックし、サーバーが5秒以内に応答しない場合にアラートを生成します。
define service {
use generic-service
host_name monitored_server_host_name
service_description SSH Version Check
check_command check_ssh!-t 5
}
実行中のプロセスの合計数を確認します。
define service{
use generic-service
host_name monitored_server_host_name
service_description Total Processes
check_command check_nrpe!check_total_procs
}
現在ログインしているユーザーを確認します。
define service{
use generic-service
host_name monitored_server_host_name
service_description Current Users
check_command check_nrpe!check_users!-a '-w 5 -c 10'
}
SWAPディスク使用量を確認します。
define service{
use generic-service
host_name monitored_server_host_name
service_description SWAP Usage
check_command check_nrpe!check_swap!-a '-w 40% -c 20%'
}
ルートパーティションとそのディスク使用量を確認します。
define service{
use generic-service
host_name nagiosclient
service_description Root / Partition
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /'
}
HTTPサーバーがインストールされているかどうかを確認します。
define service {
use generic-service
host_name nagiosclient
service_description HTTP
check_command check_http
}
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
Nagiosを再起動します。
$ sudo systemctl restart nagios
モニターの確認
Nagiosダッシュボードを開き、左側のサイドバーからホストオプションをクリックします。新しく設定したホストがlocalhostとともにページに表示されるはずです。

新しく設定したホスト(nagiosclient)をクリックすると、すべてが正しく設定されていれば、そのステータスが表示されるはずです。ステータスが表示されるまでに1分ほどかかることがあります。

設定したサービスやモニターを確認するには、このホストのステータス詳細を表示オプションをクリックすると、次のページが表示されるはずです。

これにより、ホストの動作状況が正確に把握できます。
ステップ8 - Nginxのインストール
NagiosをサーバーIP経由で直接実行するか、ドメイン名でホストすることができます。NagiosにはすでにApache設定ファイルが付属していますが、Nginxを使用して実行します。NginxをApacheウェブサーバーの前にリバースプロキシとして使用します。
Apacheはすでにポート80で実行されています。したがって、最初にそれを変更する必要があります。その後、Nginxをプロキシとして実行できます。
/etc/httpd/conf/httpd.confファイルを編集するために開きます。
$ sudo nano /etc/httpd/conf/httpd.conf
Listen 80の行をListen 8080に変更します。Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。Nagiosにアクセスするためにドメイン名を使用するため、パブリックアクセス用にポート8080を開く必要はありません。
Apacheサーバーを再起動します。
$ sudo systemctl restart httpd
次に、Nginxをインストールします。
Rocky Linux 9には古いバージョンのNginxが付属しています。最新バージョンをインストールするために公式のNginxリポジトリをダウンロードする必要があります。
公式のNginxリポジトリを作成して開くために、/etc/yum.repos.d/nginx.repoファイルを作成します。
$ sudo nano /etc/yum.repos.d/nginx.repo
次のコードを貼り付けます。
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
Nginxサーバーをインストールします。
$ sudo dnf install nginx
インストールを確認します。
$ nginx -v
nginx version: nginx/1.22.1
Nginxサーバーを有効にして起動します。
$ sudo systemctl enable nginx --now
ステップ9 - SSLのインストールと設定
Nginxを設定する前に、Nagiosで使用するドメインのSSL証明書を設定して構成します。この場合、http://nagios.example.comを使用します。
Snapdパッケージインストーラーを使用します。Rocky Linuxには付属していないため、Snapdインストーラーをインストールします。EPELリポジトリが必要ですが、すでにインストールされているため、ここではスキップできます。
Snapdをインストールします。
$ sudo dnf install -y snapd
Snapサービスを有効にして開始します。
$ sudo systemctl enable snapd --now
Snapコアパッケージをインストールし、Snapdのバージョンが最新であることを確認します。
$ sudo snap install core && sudo snap refresh core
Snapdが動作するために必要なリンクを作成します。
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
次のコマンドを実行してCertbotをインストールします。
$ sudo snap install --classic certbot
次のコマンドを使用して、Certbotコマンドが/usr/binディレクトリで実行できるようにシンボリックリンクを作成します。
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
インストールを確認します。
$ certbot --version
certbot 2.3.0
次のコマンドを実行してSSL証明書を生成します。
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d nagios.example.com
上記のコマンドは、サーバーの/etc/letsencrypt/live/nagios.example.comディレクトリに証明書をダウンロードします。
Diffie-Hellmanグループ証明書を生成します。
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
SSL更新が正常に機能しているかどうかを確認するために、プロセスのドライランを実行します。
$ sudo certbot renew --dry-run
エラーが表示されない場合は、すべて設定完了です。証明書は自動的に更新されます。
ステップ10 - Nginxの設定
Nginxを設定する前に、もう1つ変更する必要があります。デフォルトでは、ApacheはNagiosをhttp://で提供します。直接Nagiosをプロキシとして設定できますが、https://nagios.example.com/nagiosで提供されます。NginxでルートURLにリダイレクトを行うと複雑になります。そのため、ApacheとNagiosで直接変更を行います。
最初に、/usr/local/nagios/etc/cgi.cfgファイルを編集するために開きます。
$ sudo nano /usr/local/nagios/etc/cgi.cfg
url_html_path=/nagiosをurl_html_path=/に変更します。
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
次に、/etc/httpd/conf.d/nagios.confを編集するために開きます。
$ sudo nano /etc/httpd/conf.d/nagios.conf
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"をScriptAlias /cgi-bin "/usr/local/nagios/sbin"に変更します。
Alias /nagios "/usr/local/nagios/share"の行をコメントアウトします。
#Alias /nagios "/usr/local/nagios/share"
その下に次の行を追加します。
DocumentRoot /usr/local/nagios/share
ファイルの先頭に次の行を追加します。
ファイルの最後に次の行を追加します。
完了したら、Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
最後に、/usr/local/nagios/share/config.inc.phpファイルを編集するために開きます。
$ sudo nano /usr/local/nagios/share/config.inc.php
$cfg['cgi_base_url']='/nagios/cgi-bin';を$cfg['cgi_base_url']='/cgi-bin';に変更します。
Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
ApacheとNagiosの両方を再起動します。
$ sudo systemctl restart httpd
$ sudo systemctl restart nagios
すべてが正しく機能することを確認するために、ブラウザでhttp://のURLを開くと、Nagiosが正常に動作しているはずです。また、ホストのデータが受信されていることを確認してください。
すべてが正常に動作している場合は、Nginxの設定ファイルを作成できます。
/etc/nginx/conf.dディレクトリにNagiosの設定ファイルを作成します。
$ sudo nano /etc/nginx/conf.d/nagios.conf
次のコードを貼り付けます。
server {
listen 80; listen [::]:80;
server_name nagios.example.com;
return 301 https://$host$request_uri;
}
server {
server_name nagios.example.com;
listen 443 ssl http2;
listen [::]:443 ssl http2;
access_log /var/log/nginx/nagios.access.log;
error_log /var/log/nginx/nagios.error.log;
ssl_certificate /etc/letsencrypt/live/nagios.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nagios.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/nagios.example.com/chain.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
完了したら、Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。
設定ファイルを検証します。
$ sudo nginx -t
次のエラーが表示された場合は、/etc/nginx/nginx.confファイルを編集して、server_names_hash_bucket_sizeのサイズを追加または調整する必要があります。
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size
/etc/nginx/nginx.confファイルを編集するために開きます。
$ sudo nano /etc/nginx/nginx.conf
次の行を追加します。
server_names_hash_bucket_size 64;
完了したら、Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。再度Nginxを検証します。
問題がなければ、Nginxサーバーを再起動します。
$ sudo systemctl restart nginx
SELinuxの設定
SELinuxを有効にしている場合は、次のコマンドを実行してNginxがネットワークに接続できるようにします。
$ sudo setsebool -P httpd_can_network_connect on
ブラウザでhttps://nagios.example.comドメインを開くと、Nagiosのホームページが表示されるはずです。
結論
Rocky Linux 9サーバーにNagiosをインストールして設定し、負荷、ディスク/スワップ使用量、ユーザー、プロセスの合計、HTTP、SSHなどのいくつかのサービスを監視するようにしました。これでチュートリアルは終了です。詳細を学ぶには、監視やさまざまなコマンドに関する公式のNagiosドキュメントを確認してください。質問がある場合は、下のコメントに投稿してください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。