Nagiosチュートリアル–Nagiosによる継続的な監視



Nagiosチュートリアル:Nagiosは、ITインフラストラクチャ全体を監視して、システム、アプリケーション、サービス、およびビジネスプロセスが適切に機能していることを確認します。

Nagiosチュートリアル:

Nagiosへの投稿は非常に少なく、インターネット上で入手できる関連情報はあまりないと思います。したがって、この投稿により、この監視ツールが明確になります。 Nagiosは、ITインフラストラクチャ全体を監視して、システム、アプリケーション、サービス、およびビジネスプロセスが適切に機能していることを確認します。これはDevOpsライフサイクルに不可欠であり、 このNagiosチュートリアルでは、以下のトピックについて説明します。

  1. なぜ継続的な監視が必要なのですか?
  2. 継続的な監視とは何ですか?
  3. Nagiosとは何ですか?
  4. Nagiosをインストールする方法は?
  5. NRPE(Nagios Remote Plugin Executor)を使用してリモートサーバーを追加する方法。

すべてが理由で存在するために継続的な監視が必要な理由を理解することから、このNagiosチュートリアルを始めましょう。それでは、その理由を見つけてみましょう。





なぜ継続的な監視が必要なのですか?

継続的監視ツールは、ビジネスの生産性に悪影響を与える前に、システムエラー(メモリ不足、サーバーに到達できないなど)を解決します。

監視ツールを使用する重要な理由は次のとおりです。



  • ネットワークまたはサーバーの問題を検出します
  • 問題の根本原因を特定します
  • サービスのセキュリティと可用性を維持します
  • サーバーのパフォーマンスの問題を監視およびトラブルシューティングします
  • これにより、古いシステムで障害が発生する前にインフラストラクチャのアップグレードを計画できます。
  • 問題の最初の兆候で問題に対応できます
  • 問題が検出されたときに自動的に修正するために使用できます
  • ITインフラストラクチャの停止による組織の純利益への影響を最小限に抑えることができます。
  • インフラストラクチャ全体とビジネスプロセスを監視できます

ええ、それはたくさんのクールな仕事をします、しかしそれは何ですか?

継続的な監視とは何ですか?

まず、継続的モニタリングがDevOpsライフサイクルのどこにあるかを説明します。次の図を検討してください。

DevOpsLife-Cyce-Nagiosチュートリアル-Edureka



図を見ると、これがDevOpsライフサイクルの最後の段階であると考えているはずですが、そうではありません。 DevOpsのライフサイクルに終わりはありません。それが無限大記号の理由です。アプリケーションが運用サーバーにデプロイされると、継続的な監視が実現します。

継続的な監視とは、組織のインフラストラクチャで発生する攻撃を検出、報告、対応、封じ込め、軽減する能力に関するものです。

継続的な監視は実際には新しいものではなく、しばらく前から存在しています。何年もの間、セキュリティの専門家は、システムログ、ファイアウォールログ、IDSログ、IPSログなどから静的分析を実行してきました。しかし、適切な分析と応答は提供されませんでした。今日の継続的監視アプローチにより、上記で説明したすべてのイベントを集約し、それらを相互に関連付け、比較し、組織のリスク態勢を推定することができます。

これらすべてのピースを取り、それらの間の相互リンクを確認する場合。これが継続的な監視の核心です。

これをユースケースで説明しましょう。次の図を検討してください。

ここで、上の図について説明します。

  1. ファイアウォール、IDS、エンドポイント保護などのさまざまなセキュリティツールがあり、それらは「セキュリティ情報およびイベント管理システム」に接続されています。
  2. 継続的な監視を実現するためには、すべての部分が相互に通信する必要があります。それについて説明します。
  3. そのため、セキュリティツールと一連の「エンドポイント」があります。これには、クライアントとサーバー、ルーター、スイッチ、モバイルデバイスなどが含まれます。
  4. これらの2つのグループは、共通の言語を使用して、より自動化された方法で、セキュリティ情報およびイベント管理システム(SIEM)と通信できます。
  5. このSIEMに接続されているのは、2つの重要なコンポーネントです。1つはデータウェアハウスです。次に、このデータウェアハウスに、「分析」と「セキュリティインテリジェンス」を接続します。
  6. セキュリティインテリジェンス(SI)は、外部および内部の脅威から組織を保護することに関連する情報であり、その情報を収集および分析するために設計されたプロセス、ポリシー、およびツールです。
  7. このSIEMは、基本的にダッシュボードを提供する「ガバナンスリスクおよびコンプライアンスシステム」にも接続されています。
  8. この「ガバナンスリスクとコンプライアンスシステム」に、リスクデータベースを添付します。これにより、「実用的なインテリジェンス」が得られます。
  9. 実用的なインテリジェンスは、行動を起こすことができる情報に他なりません。 すべき 取られます。

そのため、ここでは、継続的にイベントを監視し、発生しているリスクのレベルを判断しています。これにより、SIEMでのイベントを相互に関連付けることができます。 「分析エンジン」でネットワークの動作と異常検出を実行できます。これが継続的監視のすべてです。

組織の統合セキュリティツール、集計、正規化とセキュリティツールによって生成されるデータの相関関係。組織のリスク目標と脅威に関する知識に基づいたそのデータの分析、および特定されたリスクへのほぼリアルタイムの対応。

「それを測定できなければ、それを管理することはできません」。私が話していることをあなたが知っていることを願っています。

このNagiosチュートリアルの次は、最も有名な監視ツール「Nagios」の1つを紹介します。

Nagiosとは何ですか?

Nagiosは、DevOpsカルチャーのシステム、アプリケーション、サービス、ビジネスプロセスなどの継続的な監視に使用されます。障害が発生した場合、Nagiosは技術スタッフに問題を警告し、停止がビジネスプロセス、エンドユーザー、または顧客に影響を与える前に修復プロセスを開始できるようにします。 Nagiosを使用すると、目に見えないインフラストラクチャの停止が組織の純利益に影響を与える理由を説明する必要はありません。

Nagiosがどのように機能するかを説明しましょう。次の図を検討してください。

Nagiosは、通常はデーモンまたはサービスとしてサーバー上で実行されます。

同じサーバー上にあるプラグインを定期的に実行し、ネットワークまたはインターネット上のホストまたはサーバーに接続します。 Webインターフェイスを使用してステータス情報を表示できます。何かが起こった場合、電子メールまたはSMS通知を受け取ることもできます。
Nagiosデーモンは、特定の瞬間に特定のスクリプトを実行するスケジューラーのように動作します。これらのスクリプトの結果を保存し、これらの結果が変更された場合は他のスクリプトを実行します。

プラグイン: これらコンパイルされた実行可能ファイルまたはスクリプト(Perlスクリプト、シェルスクリプトなど)であり、コマンドラインから実行してステータスまたはホストまたはサービスを確認できます。 Nagiosはプラグインの結果を使用して、ネットワーク上のホストとサービスの現在のステータスを判断します。

それでは、そのアーキテクチャについて説明しましょう。

Nagiosアーキテクチャ:

  • Nagiosはサーバー/エージェントアーキテクチャ上に構築されています。
  • 通常、ネットワークでは、Nagiosサーバーがホスト上で実行されており、プラグインは、監視が必要なローカルホストおよびすべてのリモートホストと対話します。
  • これらのプラグインは情報をスケジューラーに送信し、スケジューラーはそれをGUIに表示します。

また、NRPE(Nagios Remote Plugin Executor)についても説明する必要があります。

NRPEアドオンは、リモートLinux / UnixマシンでNagiosプラグインを実行できるように設計されています。これを行う主な理由は、Nagiosがリモートマシン上の「ローカル」リソース(CPU負荷、メモリ使用量など)を監視できるようにするためです。これらのパブリックリソースは通常、外部マシンに公開されないため、NRPEなどのエージェントをリモートのLinux / Unixマシンにインストールする必要があります。

次の図を検討してください。

  • check_nrpeプラグインは、ローカルの監視マシンにあります。
  • NRPEデーモンは、リモートのLinux / Unixマシンで実行されます。
  • 上の図に示すように、監視ホストとリモートホストの間にはSSL(Secure Socket Layer)接続があります。

さて、このNagiosチュートリアルでは、いくつかの時間です ハンズオン

NagiosCoreをインストールすることから始めましょう

NagiosCoreをインストールします。

Nagiosをインストールするための完全なプロセスは、次の4つのステップに要約できます。

  1. 監視サーバーに必要なパッケージをインストールする
  2. Nagios Core、Nagiosプラグイン、NRPE(Nagios Remote Plugin Executor)をインストールします
  3. WebインターフェイスにアクセスするためのNagiosパスワードの設定
  4. クライアントにNRPEをインストールする

手順– 1:監視サーバーに必要なパッケージをインストールします。

Webサイトにアクセスします。 http://dl.fedoraproject.org/pub/epel/6/

i386をクリックすると、ページにリダイレクトされます。

CentOS 6を使用しているので、右クリックして「」のリンク位置をコピーします。 epel-release-6-8.noarch.rpm ‘、上のスクリーンショットに示されているように。

ターミナルを開いて使用する rpm -Uvh コマンドを実行してリンクを貼り付けます。

もう1つのリポジトリをダウンロードする必要があります。そのためには、ウェブサイトにアクセスしてください。 http://rpms.famillecollet.com/enterprise/ '

右クリックして、「 remi-release-6.rpm '

再度ターミナルを開いて使用してください rpm -Uvh コマンドを実行してリンクを貼り付けます。

結構ですので、前提条件は完了です。次のステップに進みましょう。

ステップ– 2:Nagios Core、Nagiosプラグイン、およびNRPE(Nagios Remote Plugin Executor)をインストールします。

ターミナルで以下のコマンドを実行します。

yum -y install nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php

これにより、Nagios、Nagiosプラグイン、NRPE、NRPE、Apache、PHP用のプラグインがインストールされます

現在のWebサーバーのステータスを監視するには、ApacheWebサーバーが必要です。

PHPは、サイト日付の動的コンテンツを処理するために使用されます。

次に、ApacheおよびNagiosサービスを有効にする必要があります。

chkconfig httpd on && chkconfig nagios on

次のステップは、NagiosとApacheを起動することです。

service httpd start && service nagios start

ここで、少なくとも1GBのスワップメモリ​​を有効にします。 ddコマンドを使用してスワップファイル自体を作成します。

dd if = / dev / zero of = / swap bs = 1024 count = 2097152

スワップは基本的に、あまり頻繁にアクセスされない情報の一部をRAMから解放し、それをハードドライブの特定のパーティションに移動するために使用されます。

スワップパーティションを作成したので、次のコマンドを使用します mkswap スワップパーティションを設定します。これにより、Linuxスワップ領域を作成してスワップファイルを準備します。

mkswap / swap

ファイルが誰でも読み取り可能になるのを防ぐには、スワップファイルに正しいアクセス許可を設定する必要があります。

チャウンルート。 / swap chmod 0600 / swap

エラーが表示されない場合は、スワップスペースを使用する準備ができています。すぐにアクティブにするには、次のように入力します。

スワップオン/スワップ

このファイルは、マシンが再起動するまで仮想プライベートサーバー上に残ります。スワップをfstabファイルに追加することで、スワップが永続的であることを確認できます。

エコー/スワップスワップスワップのデフォルト00 >> / etc / fstab

オペレーティングシステムカーネルは、次のような構成パラメータを使用して、スワップに依存する頻度を調整できます。 スワップピネス

現在のswappiness設定を見つけるには、次のように入力します。

cat / proc / sys / vm / swappiness

Swapinessの値は0〜100です。100に近いSwappinessは、オペレーティングシステムが頻繁に、通常は早すぎる時期にスワップすることを意味します。スワップは追加のリソースを提供しますが、RAMはスワップスペースよりもはるかに高速です。何かがRAMからスワップに移動されるときはいつでも、それは遅くなります。

スワップピネス値0は、操作が絶対に必要な場合にのみスワップに依存することを意味します。 sysctlコマンドでswappinessを調整できます。 VPSが起動するたびにこの設定を自動的に適用するようにするには、設定を/etc/sysctl.confに追加します。ファイル:

echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

最後に、2番目のステップが完了しました。

さらに進んで、WebインターフェイスにアクセスするためのNagiosパスワードを設定しましょう。

ステップ– 3:WebインターフェイスにアクセスするためのNagiosパスワードの設定:

Webインターフェイスにアクセスするためのパスワードを設定し、次のコマンドを使用します。

htpasswd -c / etc / nagios / passwd nagiosadmin

パスワードを入力し、再入力して確認します。

次に、ブラウザを開きます。ここに、パブリックIPまたはホスト名/ nagiosを入力します。以下の例を検討してください。

ここで、ユーザー名とパスワードを入力します。デフォルトでは、ユーザー名は nagiosadmin、 パスワードは前の手順で設定したものです。最後に、[OK]を押します。

この後、NagiosCoreダッシュボードに移動します。

ホストをクリックして、NagiosCoreが現在監視しているすべてのホストを確認できます。

1つのホスト、つまりlocalhostのみを監視していることがわかります。 Nagios Coreでリモートホストを監視する場合は、そのリモートホストにNRPEをインストールする必要があります。これにより、次のステップに進みます。Nagiosで監視するクライアント/マシンにNRPEをインストールします。

ステップ– 4:クライアントにNRPEをインストールします。

それでは、クライアントマシンにNRPEをインストールしましょう。

まず、Nagiosサーバーマシンに行ったように、必要なパッケージをインストールする必要があります。したがって、同じコマンドを実行するだけで、以下のスクリーンショットを検討してください。

次に、Nagios、Nagiosプラグイン、およびNRPEをクライアントにインストールします。

yum -y install nagios nagios-plugins-all nrpe

インストールしたら、NRPEサービスを有効にします。

chkconfig nrpe on


次のステップは、を編集することです。 nrpe.cfg ファイル。私は使用します 私達 エディター、他のエディターも選択できます。

許可されたホスト行に監視サーバーのIPアドレスを追加する必要があります。以下のスクリーンショットを検討してください。

ここで、私の監視サーバーのIPアドレスは192.168.56.101です。

次に、監視サーバーとクライアント間の接続を許可するファイアウォールルールを設定する必要があります。

iptables -N NRPE

-オプションを使用して、新しいルールをチェーンの最後に追加します。チェーン内の別の場所に配置する場合は、-Iオプションを使用して、新しいルールの位置を指定できます。

以下のコマンドは、ポート5666でtcp要求を受け入れます

iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j ACCEPT iptables -A NRPE -s 0/0 -j DROP

これは基本的に、特定のホスト(私の場合は192.168.56.101)からのパケットを受け入れるようにiptablesを構成し、他のホストからのパケットをドロップします。

次に、これらの構成を保存します。

/etc/init.d/iptables save

今すぐNRPEサービスを開始してください。

service nrpe start

次に、監視サーバーに戻ります。

ここでは、nagios.cfgファイルを編集する必要があります。

vi /etc/nagios/nagios.cfg

行のコメントを外す– cfg_dir = etc / nagios /サーバー

そのために「サーバー」ディレクトリを作成します mkdir コマンド。

mkdir / etc / nagios / servers /

作業ディレクトリをサーバーに変更します。

cd / etc / nagios / servers

このディレクトリに.cfg拡張子の付いた新しいファイルを作成して編集します。 client.cfgという名前を付け、使用します 私達 編集者。

vi /etc/nagios/servers/client.cfg

ここに以下の行を追加します。

ランダムな文字列javaを生成します

これには基本的に、私が監視したい種類のサービスが含まれます。 Nagiosが監視するマシンのホスト名とそのIPアドレスを指定します。

同様に、監視するサービスの数を追加できます。同じ構成を使用して、「n」個のクライアントを追加できます。

最後のステップは、フォルダーのアクセス許可を正しく設定して、Nagiosを再起動することです。

chown -Rnagios。 / etc / nagios /

今、Nagiosを再起動します

サービスnagiosの再起動

ブラウザを開き、もう一度入力します ホスト名またはpublicip / nagios /。 私の場合はlocalhost / nagios /です。

ホストをクリックして、Nagiosが現在監視しているすべてのマシンを表示します

ここで、現在クライアントマシン(Nagiosに監視させたいマシンのホスト名)を監視していることがわかります。基本的に、NRPEを使用してリモートホストを追加しました。

このNagiosチュートリアルを楽しんでいただけたでしょうか。まもなく、Nagiosに関するブログをさらに作成する予定です。

このNagiosチュートリアルが関連していると感じた場合は、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 Edureka DevOps認定トレーニングコースは、学習者がSDLCの複数のステップを自動化するためのPuppet、Jenkins、Nagios、Ansible、Chef、Saltstack、GITなどのさまざまなDevOpsプロセスとツールに関する専門知識を習得するのに役立ちます。

質問がありますか?コメント欄にご記入ください。折り返しご連絡いたします。