ステータス:非推奨

この記事では、サポートされなくなったバージョンのCentOSについて説明します。 現在CentOS6を実行しているサーバーを運用している場合は、サポートされているバージョンのCentOSにアップグレードまたは移行することを強くお勧めします。

理由: CentOS 6は2020年11月30日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このため、このガイドは維持されなくなりました。

代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のCentOSリリースでは機能しない場合があります。 可能な場合は、使用しているCentOSのバージョン用に作成されたガイドを使用することを強くお勧めします。

次のDigitalOceanチュートリアルは、CentOS 7サーバーへのNagiosのインストールの概要を示しているため、すぐに役立つ可能性があります。

ステップ1-監視サーバーにパッケージをインストールする

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install nagios nagios-plugins-all nagios-plugins-nrpe nrpe php httpd
chkconfig httpd on && chkconfig nagios on
service httpd start && service nagios start

また、このドロップレットで少なくとも2GBのSWAPメモリを有効にする必要があります。

dd if=/dev/zero of=/swap bs=1024 count=2097152
mkswap /swap && chown root. /swap && chmod 0600 /swap && swapon /swap
echo /swap swap swap defaults 0 0 >> /etc/fstab
echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

ステップ2-パスワード保護を設定する

Nagios管理パネルのパスワードを設定します。

htpasswd -c /etc/nagios/passwd nagiosadmin

このユーザー名は必ず「nagiosadmin」のままにしてください。そうしないと、/ etc / nagios / cgi.cfgを変更して、許可された管理者を再定義する必要があります。

これで、ドロップレットのIPアドレス http:// IP /nagiosに移動してログインできます。

手順2で設定したパスワードの入力を求められます。

Nagios管理パネルは次のようになります。

これは新規インストールであるため、現在監視されているホストはありません。

次に、Nagiosによって監視されるホストを追加する必要があります。 たとえば、cloudmail.tk(198.211.107.218)とemailocean.tk(198.211.112.99)を使用します。

パブリックポートから、ping、Webサーバー、電子メールサーバーなどの開いているポートを監視できます。

MySQL、memcached、システムサービスなど、ローカルホストでリッスンしている内部サービスの場合、NRPEを使用する必要があります。

ステップ4-クライアントにNRPEをインストールする

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install nagios nagios-plugins-all nrpe
chkconfig nrpe on

この次のステップでは、監視サーバーがNRPEを介してこれらのクライアントホストに送信できる手動コマンドを指定します。

必ずallowed_hostsを独自の値に変更してください。

/etc/nagios/nrpe.cfgを編集します

log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=198.211.117.251
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nrpe.d/
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda
command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

ノート:

上記のcheck_diskでは、チェックされるパーティションは/ dev/vdaです。df-h / を実行して、ドロップレットが同じパーティションになっていることを確認してください。警告またはクリティカルアラートをトリガーするタイミングを変更することもできます-上記の構成セット警告残りの20% freeディスクスペース、および残り10% freeスペースでのクリティカルアラート。

また、監視サーバーからそれらのクライアントへの接続を許可し、他のすべてのユーザーを削除するようにファイアウォールルールを設定する必要があります。

iptables -N NRPE
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE
iptables -I NRPE -s 198.211.117.251 -j ACCEPT
iptables -A NRPE -s 0/0 -j DROP
/etc/init.d/iptables save

これで、すべてのクライアントホストでNRPEを開始できます。

service nrpe start

手順5-監視サーバーにサーバー構成を追加する

監視サーバーに戻ると、クライアントサーバーごとに構成ファイルを作成する必要があります。

echo "cfg_dir=/etc/nagios/servers" >> /etc/nagios/nagios.cfg
cd /etc/nagios/servers
touch cloudmail.tk.cfg
touch emailocean.tk.cfg

各クライアントの構成ファイルを編集し、監視するサービスを定義します。

nano /etc/nagios/servers/cloudmail.tk.cfg

次の行を追加します。

define host {
        use                     linux-server
        host_name               cloudmail.tk
        alias                   cloudmail.tk
        address                 198.211.107.218
        }

define service {
        use                             generic-service
        host_name                       cloudmail.tk
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }

define service {
        use                             generic-service
        host_name                       cloudmail.tk
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }

define service {
        use                             generic-service
        host_name                       cloudmail.tk
        service_description             Current Load
        check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }

必要に応じて、監視するサービスをさらに追加できます。 IPアドレスとhost_nameが異なる2番目のクライアントemailocean.tkにも同じ構成を追加する必要があります。

これは/etc/nagios/servers/emailocean.tk.cfgのスニペットです。

define host {
        use                     linux-server
        host_name               emailocean.tk
        alias                   emailocean.tk
        address                 198.211.112.99
        }

...

監視対象のクライアントを/etc/nagios/servers/AnotherHostName.cfgとして追加できます。

最後に、すべてのクライアント構成の追加が完了したら、フォルダーのアクセス許可を正しく設定し、監視サーバーでNagiosを再起動する必要があります。

chown -R nagios. /etc/nagios
service nagios restart

ステップ6-Nagiosでホストを監視する

監視サーバーのIPアドレスhttp:// IP / nagiosに移動し、手順2で設定したパスワードを入力します。

これで、すべてのホストとサービスを表示できるようになります。

そして、あなたはすべて完了です!

BulatKhamitov著