Sensuクライアントは監視エージェントであり、Sensuツールによって監視されているすべてのサーバーにインストールおよび実行されます。 Sensuクライアントの仕事は、システムをSensuに登録することです。 、キープアライブメッセージの送信、および監視チェックの実行 。
各クライアントは、1つ以上のサブスクリプションのメンバーになることができます-あなたは簡単に言うことができます。それらに割り当てられた役割のリスト(例、Webサーバー、データベースなど)。
クライアントがSensuサーバーによって公開されたチェックリクエストを(RabbitMQ – Sensuトランスポート経由で)サブスクライブすると、クライアントはそれらをローカルで実行し、チェックの結果をSensuトランスポートに公開します。その後、Sensuサーバーが結果を処理します。
このガイドでは、サービスチェックの結果をSensuサーバーに送信するようにクライアントマシンを構成します。 Sensuコアに関する以前の記事に従っていると仮定します。
読む : Ubuntu 16.04 /Debian8にSensuをインストールする
Sensuコアにはグラフィカルダッシュボードが付属していないため、Sensu監視ツールのオープンソースダッシュボードであるUchiwaをインストールする必要があります。
読む : Uchiwaのインストール方法– SensuMonitoringToolのオープンソースダッシュボード
Sensuリポジトリを追加する:
オペレーティングシステムに応じて、公式WebサイトからパッケージをフェッチするようにSensuリポジトリを構成します。
### CentOS 7 / RHEL 7 ### echo '[sensu] name=sensu baseurl=https://sensu.global.ssl.fastly.net/yum/7/x86_64/ gpgcheck=0 enabled=1' | sudo tee /etc/yum.repos.d/sensu.repo ### Ubuntu 16.04 / Debian 8 ### sudo apt-get update && sudo apt-get -y install apt-transport-https wget -q https://sensu.global.ssl.fastly.net/apt/pubkey.gpg -O- | sudo apt-key add - echo "deb https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list sudo apt-get update
次のコマンドを使用してSensuをインストールします。
### CentOS 7 / RHEL 7 ### yum -y install sensu ### Ubuntu 16.04 / Debian 8 ### sudo apt-get -y install sensu
Sensuのデフォルトの設定ディレクトリは/etc/sensu/config.dです。 、場合によっては、このディレクトリが利用できない場合は手動で作成する必要があります。
構成ファイルはJSON形式である必要があります 。 client.jsonを作成します ファイル。
vi /etc/sensu/conf.d/client.json
次のコンテンツを上記のファイルに配置します。
{ "client": { "name": "debian.itzgeek.local", "address": "10.128.0.4", "environment": "production", "subscriptions": [ "web", "debian" ] } }
どこで、
client –クライアントの名前。一意の名前にする必要があります。 私のマシンはDebian8です 。
アドレス–クライアントのIPアドレスまたはホスト名。
環境– Sensuクライアント仕様の一部ではなく、カスタム属性。これらのカスタム属性は、環境に基づいて特定のアクションを実行するのに役立つSensuフィルターによるチェックによって行われます(例:本番環境のイベントについてのみアラートを送信します)
サブスクリプション–クライアントに割り当てられた役割または責任のリスト。
Sensuトランスポートに接続するようにSensuクライアントを構成します。 transport.jsonファイルを作成します。
vi /etc/sensu/conf.d/transport.json
次のコンテンツを上記のファイルに配置します。
{ "transport": { "name": "rabbitmq", "reconnect_on_error": true } }
rabbitmq.jsonを作成して、Sensuトランスポートの詳細を構成します。
vi /etc/sensu/conf.d/rabbitmq.json
以下の内容をコピーして上記のファイルに貼り付けます。 Sensuの設定に応じて、緑色の値を置き換えます。
{ "rabbitmq": { "host": "10.128.0.3", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" } }
どこで、
ホスト– RabbitMQサーバーIP(Sensuサーバー)
ポート–RabbitMQサーバーポート
vhost、ユーザー、およびパスワード– Sensuサーバーのインストール中に作成したRabbitMQ仮想ホスト、ユーザー、およびパスワード。
次のコマンドを使用して、Sensuクライアントサービスを再起動します。
service sensu-client restart
内和ダッシュボードを開きます 新しいクライアントがSensuサーバーに正常に登録されているかどうかを確認します。
以下のスクリーンショットは、新しく追加されたクライアントの詳細を示しています。
次に、インフラストラクチャを監視するようにSensuを構成します。
サービスの監視:
Sensuは、チェック(コマンド)を使用してインフラストラクチャを監視します。Sensuクライアントによって実行され、状態の監視(サービスのステータスのチェックなど)または測定値の収集(メモリの使用量など)が行われます。
標準チェックの結果データは通常、人間が読める形式のメッセージであり、メトリックチェックには通常、チェックによって収集された測定値が含まれます。また、終了コードのステータスは状態を示します。 0 – OK 、 1 –警告 、および 2 –クリティカル 、 Nagiosに似ています; Nagiosプラグインを使用できることを意味します 変更なしでSensuを使用。
これらのチェックは、SensuサーバーまたはSensuクライアントのいずれかによってスケジュールされます。
サブスクリプションチェック:
これらのチェックはSensuサーバーによって一元的に定義およびスケジュールされ、定義された一連のサブスクライバー(つまり、ロール)があり、sensuクライアントは「サブスクリプション」を介してこれらのロール(つまりサブスクリプション)のサブスクライバーになります。 」属性。
「サブスクリプションチェック」を使用してApacheサービスを監視しましょう 」を60秒間隔で。 sensuサーバーで、「サブスクリプションチェック」の構成ファイルを作成します 」をSensuサーバーで。
raj@server:~$ sudo vi /etc/sensu/conf.d/apache_check.json
次のコンテンツを上記の.jsonに配置します ファイル。
クライアントがUbuntu16.04の場合 / Debian 8 :
{ "checks": { "apache-status": { "command": "check-process.rb -p apache2", "subscribers": [ "web" ], "interval": 60 } } }
クライアントがCentOS7 / RHEL 7の場合 :
{ "checks": { "apache-status": { "command": "check-process.rb -p httpd", "subscribers": [ "web" ], "interval": 60 } } }
「sensu-server」を再起動します 」次のコマンドを使用します。
raj@server:~$ sudo service sensu-server restart
クライアントマシンを確認します(例: debian.itzgeek.local )は「ウェブ」に登録されています 「そうでない場合は、 client.jsonを更新してください ファイル。
vi /etc/sensu/conf.d/client.json
ファイルは次のようになります。
{ "client": { "name": "debian.itzgeek.local", "address": "10.128.0.4", "environment": "production", "subscriptions": [ "web", "debian" ] } }
Sensuプラグインは、システムリソース、サービス、およびアプリケーションの状態を監視するためのsensuチェックとして使用できる実行可能スクリプトを提供します。プロセスチェック用のSensuプラグインをインストールします「sensu-plugins-process-checks 」クライアントマシンでgemコマンドを使用する( debian.itzgeek.local 。
/opt/sensu/embedded/bin/gem install sensu-plugins-process-checks
Uchiwaダッシュボードを開き、しばらく待ちます。新しいチェック「 apache-status 」がすぐに表示されます。 Apacheプロセスが実行されていないか見つからない場合は、ダッシュボードに以下のような重大なイベントメッセージが表示されることがあります。
Apacheプロセスが実行されている場合、ダッシュボードは次のようになります。
「サブスクリプションチェック」の方法を理解していただければ幸いです。 」Sensuで働いています。 「スタンドアロンチェック」が表示されます 」は次のセクションにあります。
スタンドアロンチェック:
これらのチェックはSensuクライアント( debian.itzgeek.local )で定義されています )チェック属性「スタンドアロン 」を「true」に設定 「。ここで、Sensuクライアントは、スタンドアロンチェックをスケジュールするために独自のスケジューラを使用し、チェックの結果をSensuサーバーに送信します。
「スタンドアロンチェック」を使用してディスク容量を監視しましょう 」を60秒間隔で。クライアントマシン上( debian.itzgeek.local )、次のコマンドを使用してSensuディスクスペースプラグインをインストールします。
/opt/sensu/embedded/bin/gem install sensu-plugins-disk-checks
「/etc/sensu/conf.d」の下にディスクチェック用の構成ファイルを作成します 」ディレクトリ。
vi /etc/sensu/conf.d/disk_check.json
このチェックには以下のコンテンツを使用してください。
{ "checks": { "disk-status": { "command": "check-disk-usage.rb -w 70 -c 90", "standalone": true, "interval": 60 } } }
sensu-clientサービスを再起動します。
service sensu-client restart
内和ダッシュボードを開く 新しいチェックがダッシュボードに表示されるかどうかを確認します。
下の画像は、ディスク使用量が警告状態にあることを示しています。
サーバー監視に関心がある:
読む : CentOS 7 / Ubuntu 16.04 /Debian8にNagiosをインストールして構成する
読む : Ubuntu 16.04 / 14.04、Debian、およびMintにIcinga2をインストールします
読む: CentOS 7 / Ubuntu 16.04 /Debian8にZabbixサーバー3.2をインストールする方法
読む :CentOS7にMonitorixをインストールする/Ubuntu 16.04 / Fedora 24 / Debian 8 –オープンソースの軽量システム監視ツール
読む : Netdata –Linux用のリアルタイムパフォーマンス監視ツール
それで全部です。読んでいただきありがとうございます。