CentOS 8にNagiosをインストールして設定する方法
CentOS 8にNagiosをインストールして設定する方法
このページで
- 前提条件
- ステップ1 - ファイアウォールを設定する
- ステップ2 - ApacheとPHPをインストールする
ステップ3 - Nagiosをインストールする
- 依存関係をインストールする
- Nagiosをダウンロード
- Nagiosをコンパイルする
- Nagiosユーザーとグループを作成する
- Nagiosバイナリをインストールする
- 外部コマンドディレクトリを作成する
- Nagiosの設定ファイルをインストールする
- Apacheの設定ファイルをインストールする
- Systemd サービスファイルを作成する
- HTTP認証を有効にする
ステップ6 - Nagiosを開始する
ステップ7 - ホストの監視
ステップ8 - Nginxをインストールして構成する
Nagiosは人気があり、最も強力なオープンソースのコンピュータ監視システムの1つです。これは、ITインフラストラクチャを監視し、ネットワーク、サーバー、アプリケーション、プロセスがスムーズに動作していることを確認します。監視システムを使用することで、問題が発生する前に特定し、迅速に修正を展開できるため、コストやダウンタイムの節約につながります。
このチュートリアルでは、CentOS 8 ベースのサーバーに Nagios をインストールおよび構成する方法を学びます。また、基本的な設定を行い、Nagios Remote Plugin Executor (NPRE) をインストールします。これにより、リモートホストを監視できるようになります。
前提条件
- CentOS 8を実行しているサーバー
- ルート権限を持つ非sudoユーザー。
- SELinuxが無効化されています
- 監視したい別のCentOS 8を実行しているサーバー。
- すべてが最新であることを確認してください。
sudo dnf update
ステップ1 - ファイアウォールを設定する
最初のステップはファイアウォールを設定することです。Fedoraサーバーには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 systemctl reload firewalld
ステップ2 - ApacheとPHPをインストールする
Nagiosを実行するには、ApacheとPHPがインストールされている必要があります。
Apacheサービスをインストールして有効にしてください。
sudo dnf install httpd
sudo systemctl enable --now httpd
PHPをインストールするために、Remiリポジトリを使用します。Remiリポジトリをインストールし、PHP 7.4を有効にします。
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
PHPといくつかの一般的なPHPモジュールをインストールします。
sudo dnf install php php-gd php-curl
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
エディタに次のコードを貼り付けてください。
<?php phpinfo();
Ctrl + X を押してファイルを保存し、プロンプトが表示されたら Y を入力します。
ブラウザでURL http://<yourserverip>/info.php を開くと、次のページが表示されるはずです。
ステップ3 - Nagiosをインストールする
このチュートリアルのほとんどは、あなたがメインサーバーにインストールして作業することを必要とします。
依存関係をインストールする
このチュートリアルでは、Nagiosとそのプラグインをソースからビルドする必要があります。したがって、最初にいくつかの開発ライブラリをインストールする必要があります。
sudo dnf install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip wget gettext autoconf net-snmp-utils epel-release postfix automake
sudo dnf config-manager --enable powertools
sudo dnf install perl-Net-SNMP
Nagiosをダウンロード
/usr/srcディレクトリに切り替えて、そこにダウンロードしたNagiosのソースファイルを置きます。
cd /usr/src
Nagiosの最新バージョンをGithubページからダウンロードしてください。チュートリアルの時点で、4.4.6が利用可能な最新バージョンです。異なるバージョンが必要な場合は、コマンドを修正してください。
sudo wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
tarファイルを抽出する。
sudo tar zxf nagios-*.tar.gz
Nagiosのソースディレクトリに切り替えてください。
cd nagioscore-nagios-*/
Nagiosをコンパイルする
次のステップは、ソースファイルからNagiosをコンパイルすることです。configureスクリプトを実行して、すべての依存関係が揃っていることを確認します。
sudo ./configure
スクリプトの成功した実行後、類似の出力を得るべきです。
*** Configuration summary for nagios 4.4.6 2020-04-28 ***:
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: /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):
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.
コンパイルを開始します。
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
設定を有効にするためにウェブサーバーを再起動してください。
sudo systemctl restart httpd
Systemd サービスファイルを作成する
次のコマンドを実行して、systemdユニットファイルをインストールしてください。
sudo make install-daemoninit
HTTP認証を有効にする
Nagiosのウェブインターフェースは、HTTP認証を介してロックすることができます。そのために、nagiosadminという名前の管理者ユーザーを作成してください。
htpasswdを使用してユーザーを作成するには、次のコマンドを実行してください。パスワードの入力を求められます。
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
設定を有効にするには、サーバーを再起動してください。
sudo systemctl restart httpd
ステップ4 - Nagiosプラグインをインストールする
Nagiosプラグインに必要な前提条件をインストールしてください。
sudo dnf install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release postgresql-devel libdbi-devel openldap-devel mysql-devel mysql-libs bind-utils samba-client fping openssh-clients lm_sensors
sudo dnf config-manager --enable powertools
sudo dnf install -y perl-Net-SNMP
/usr/src ディレクトリに戻ります。
cd /usr/src
Nagiosの最新バージョンをGithubページからダウンロードしてください。チュートリアルの時点で、2.3.3が利用可能な最新バージョンです。異なるバージョンが必要な場合は、コマンドを修正してください。
sudo wget -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar.gz
tarファイルを抽出する。
sudo tar zxf nagios-plugins.tar.gz
プラグインディレクトリに変更してください。
cd nagios-plugins-*
プラグインをコンパイルしてインストールするために、以下のコマンドを順番に実行してください。
sudo ./configure
sudo make
sudo make install
ステップ5 - check_nrpeプラグインをインストールする
/usr/srcディレクトリに切り替えます。
cd /usr/src
NPREの最新バージョンをそのGithubページからダウンロードしてください。このチュートリアルを書いている時点で、利用可能な最新バージョンは4.0.3です。別のバージョンが必要な場合は、以下のコマンドを変更してください。
sudo wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
アーカイブを抽出してください。
sudo tar zxf nrpe-*.tar.gz
NPREディレクトリに変更してください。
cd nrpe-4.0.3
プラグインを設定してインストールします。
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ウェブインターフェース
ブラウザでURL http://<domain_or_ip_address>/nagios を開いてください。ログインプロンプトが表示されるはずです。
HTTP認証方式で作成した資格情報を入力してください。そうすれば、次の画面が表示されるはずです。
ステップ7 - ホストの監視
ホストを監視するには、ホストにNRPEデーモンとNagiosプラグインをインストールする必要があります。私たちは、NagiosサーバーからCentOS 8ベースのサーバーを監視します。
ホストにログインしてください。
ssh user@monitored_server_ip
Nagiosプラグインをインストールする
以前のステップ4を繰り返してNagiosプラグインをインストールします。
NRPEをインストールする
NRPEデーモンに必要な前提条件をインストールしてください。
sudo dnf install -y gcc glibc glibc-common openssl openssl-devel perl wget
/usr/srcディレクトリに切り替えます。
cd /usr/src
NRPEをダウンロードします。
sudo wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
アーカイブを抽出してください。
sudo tar zxf nrpe-*.tar.gz
NPREディレクトリに変更してください。
cd nrpe-4.0.3
NPREを設定してインストールします。
sudo ./configure --enable-command-args
sudo make all
ユーザーとグループを作成します。
sudo make install-groups-users
NPREバイナリ、NPREデーモン、および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
次の場所にある NPRE 設定ファイルを更新する必要があります: /usr/local/nagios/etc/nrpe.cfg.
ファイルを編集のために開いてください。
sudo nano /usr/local/nagios/etc/nrpe.cfg
デフォルトでは、NPREはリクエストをlocalhost(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=サービス回復(正常状態)時に通知することを意味します
したがって、どのレベルでどのタイプの通知をコマンドが送信できるかを指定できます。このチュートリアルの範囲を超えているため、各コマンドの詳細な説明と機能には深入りしません。
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$
上記のコマンドの前にある#記号を削除して、コマンドのコメントを解除してください。必要に応じて、任意のコマンドのコメントを解除できます。
完了したら、Ctrl + Xを押してファイルを保存し、求められたときにYを入力してください。
NPREプラグインで使用されているポート5666を許可してください。
sudo firewall-cmd --permanent --add-port=5666/tcp
ファイアウォールを再読み込みしてください。
sudo systemctl reload firewalld
NPREを開始します。
sudo systemctl start nrpe
ここからのすべてのコマンドは、特に指定がない限り、メインのNagiosサーバーで実行されます。
メインのNagiosサーバーで次のコマンドを実行して、NRPEが動作しているか確認してください。
/usr/local/nagios/libexec/check_nrpe -H monitored_server_ip
次の出力が表示されるはずです。
NRPE v4.0.3
ホストを監視するためには、監視したい各ホストのために設定ファイルを作成する必要があります。これらのホストは、Nagiosのウェブインターフェースを通じてアクセス可能になります。
設定ファイルを保存するためのディレクトリを作成し、適切な権限を付与してください。
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を編集のために開きます。次のファイルを探して、前についている#を削除してコメントアウトを解除します。
#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
次のコードを追加し、host_nameの値をリモートホスト名に置き換え、aliasの値をホストの説明に置き換え、addressの値をリモートホストの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 client01
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がNagiosによって事前に定義された generic-service というテンプレートを継承することを指示します。
次に、ディスク使用量を監視するためのブロックを追加します。
define service {
use generic-service
host_name monitored_server_host_name
service_description /dev/sda1 free space
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /dev/sda1'
}
次に、以下のコードブロックを使用してHTTPサービスを監視できます。
define service {
use generic-service
host_name monitored_server_host_name
service_description HTTP
check_command check_http
}
次のブロックを使用してSSHを監視します。このブロックはSSHサーバーをチェックし、サーバーが5秒以内に応答しない場合は警告を生成します。
define service {
use generic-service
host_name nagiosclient
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'
}
ルートパーティションとそのディスク使用量を確認してください。
define service{
use generic-service
host_name monitored_server_host_name
service_description Root / Partition
check_command check_nrpe!check_root
}
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%'
}
Ctrl + X を押してファイルを保存し、促されたらYと入力します。
Nagiosを再起動します。
sudo systemctl restart nagios
モニターをチェックする
Nagiosダッシュボードを開き、左のサイドバーから「ホスト」オプションをクリックしてください。ページにlocalhostとともに新しく構成されたホストが表示されるはずです。
新しく設定されたホスト(nagiosclient)をクリックし、すべてが正しく設定されていれば、そのステータスが表示されるはずです。ステータスが表示されるまでに約1分ほどかかる場合があります。
設定したサービスやモニターを見るには、このホストのステータス詳細を表示というオプションをクリックしてください。そうすれば、次のページが表示されるはずです。
私たちの場合、スワップメモリが設定されていないため、スワップスペースが0になっており、サービスのクリティカルステータスが表示されています。これにより、あなたのホストがどのように動作しているかの正確なアイデアを得ることができるはずです。
ステップ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と入力します。
新しいIPアドレスをファイアウォールに追加してください。
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo systemctl reload firewalld
Apacheサーバーを再起動してください。
sudo systemctl restart httpd
次に、Nginxをインストールします。
CentOS 8はデフォルトでNginx 1.14を搭載していますが、これは古いバージョンです。最新のバージョンを有効にすることもできます。
sudo dnf module enable nginx:1.20
sudo dnf install nginx
Nginxサーバーを有効にします。
sudo systemctl enable nginx
ステップ8a - SSLをインストールして構成する
Nginxを設定する前に、Nagiosで使用するドメインのSSL証明書を設定および構成します。私たちの場合、http://nagios.example.comを使用します。
Let's Encryptを使用してSSL証明書をインストールするためには、Certbotツールをダウンロードする必要があります。Certbotは、すでにチュートリアルで追加したCentOSのEPELリポジトリから入手可能です。
sudo dnf install certbot python3-certbot-nginx
Nginxサービスを停止してください。
sudo systemctl stop nginx
SSL証明書を生成する。
sudo certbot certonly --standalone --preferred-challenges --agree-tos --email [email http -d nagios.example.com
上記のコマンドは、サーバーの/etc/letsencrypt/live/nagios.example.comディレクトリに証明書をダウンロードします。
SSLを更新するためにCronジョブを作成します。これは毎日実行され、証明書を確認して必要に応じて更新します。それに先立って、まずはファイル/etc/cron.daily/certbot-renewを作成し、編集のために開きます。
sudo nano /etc/cron.daily/certbot-renew
次のコードを貼り付けてください。
#!/bin/sh
certbot renew --cert-name nagios.example.com --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"
Ctrl + X を押してファイルを保存し、促されたらYと入力します。
タスクファイルの権限を変更して、実行可能にします。
sudo chmod +x /etc/cron.daily/certbot-renew
ディフィー・ヘルマン群証明書を生成します。
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Nginxを設定する前に、もう一つの変更を行う必要があります。デフォルトでは、ApacheはNagiosをhttp://<serverIP>:8080/nagiosで提供します。現在、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
ファイルの先頭に次の行を追加してください。
<VirtualHost *:1080>
ファイルの下部に次の行を追加してください。
</VirtualHost>
完了したら、Ctrl + Xを押してファイルを保存し、求められたときにYを入力してください。
そして最後に、ファイル /usr/local/nagios/share/config.inc.php を編集のために開きます。
sudo nano /usr/local/nagios/share/config.inc.php
$cfg['cgi_base_url']='/cgi-bin';に変更します。
Ctrl + X を押してファイルを保存し、促されたらYと入力します。
ApacheとNagiosの両方を再起動します。
sudo systemctl restart httpd
sudo systemctl restart nagios
すべてが正しく機能していることを確認するために、ブラウザでURL http:// を開いて、Nagiosが正常に動作していることを確認してください。また、ホストのデータが受信されていることを確認してください。
すべてが正常に動作するようになったら、Nginxの設定ファイルを作成することができます。
Nagios用の設定ファイルを/etc/nginx/conf.dディレクトリに作成してください。
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 X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
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 start nginx
ブラウザでドメインhttps://nagios.example.comを開くと、Nagiosのホームページが表示されるはずです。
結論
あなたは、CentOS 8 ベースのサーバーに Nagios をインストールし、ロード、ディスク/スワップの使用状況、ユーザー、プロセスの合計、HTTP、SSH などの複数のサービスを監視するように構成しました。これで私たちのチュートリアルは終了です。もっと学びたい場合は、監視やさまざまなコマンドに関する公式の Nagios ドキュメントを確認するべきです。質問がある場合は、下のコメントに投稿してください。




