OS プロセスのモニター

Instana エージェントをインストールすると、OSプロセスセンサーが自動的に展開およびインストールされます。

構成

プロセスの異常終了

Instana エージェントでは、モニター対象プロセスのプロセス異常終了 (クラッシュなど) と、ホスト上のモニター対象プロセスに対するメモリー不足キラー・イベントの問題の発生と結果が自動的に検出されます。

要件

  • プロセス異常終了とメモリー不足キラーの検出は、 AMD64 アーキテクチャーの Linux でのみサポートされています。 4.8 以上の Linux カーネルが必要です。RHEL では Linux カーネル 3.10.0-957 以上が必要です。
  • マウントする debugfs。Instana ホスト・エージェントによりサポートされるすべての Linux OS (Amazon Linux 1 を除く) の場合に該当します。

異常検出

異常終了
  • エラー状況コード (exit 1 など) で終了する
  • プロセスが kill (SIGKILL) で強制終了する
  • セグメンテーションの失敗
  • 未処理のシグナル

プロセスのダッシュボードにプロセスの異常終了が表示されます。

メモリー不足キラー

メモリー不足キラー・イベントは、オペレーティング・システムまたはコンテナー・ランタイムによって ターゲット・プロセス という名前のプロセスに送信されるイベントで、許可されている(例:「割り当てられた」)メモリーより多くのメモリーを消費しています。 その後、ターゲット・プロセスは、終了するかどうかを決定するか、またはその プロセスのうちのどちらが終了したかを示すことができます。

強制終了する子プロセスを選択する状況の例としては、NGINX や PHP-FPM などのリーダー・ワーカー・アーキテクチャーを扱う場合などがあります。このようなアーキテクチャーでは、リーダー・プロセスが処理を管理してワーカー・プロセスに委任するため、ワーカー・プロセスが消費するリソースは通常、リーダーよりも大幅に多くなります。

Instana では、メモリー不足キラー・イベントは 2 つの専用イベントに基づいて記述されています。

  • プロセスの Out of memory イベントは、そのプロセスがメモリー不足キラー・イベントを受け取ったことを表します。このイベントは、結果として強制終了されるプロセスを記述し、ターゲット・プロセス自体が強制終了されない場合に発生した状況を容易に理解できるようにします。
  • Killed by out of memory killer イベントは、Out of memory イベントの結果として強制終了されたプロセスを記述します。 Killed by out of memory killer イベントの発生時には Abnormal Termination イベントも発生します。これは、プロセスの強制終了がどのように発生したかを記述する uncaught SIGKILL signal によるものです。

ターゲットがそれ自体を強制するか、その子の 1 つを強制終了するかに応じて、Instana では 2 つのシナリオが考えられます。

  • ターゲット・プロセスがそれ自体を強制終了することに決定した場合は、ターゲット・プロセスについて 3 つのイベント (Out of memory イベント、Killed by out of memory killer イベント、および Abnormal Termination イベント) が表示されます。

    メモリー不足のキラー・イベントを受け取った後、自身を終了させることを決定したターゲット・プロセス。

  • ターゲット・プロセスが子プロセスの 1 つを強制終了することを選択した場合は、ターゲット・プロセスに Out of memory イベントと、選択された子プロセスに Killed by out of memory killer イベントおよび Abnormal Termination イベントが表示されます。

注: Abnormal TerminationKilled by out of memory killer は冗長であると考えることがあります。 そうではありません。プロセスの終了の 2 つの異なる側面を説明します。 Abnormal Termination イベントは 方法 を説明し、 Killed by out of memory killer イベントは 理由を説明します。 また、その発生原因 (メモリー不足キラー・イベントであるかまたはその他の理由であるか) にかかわらず、同じように見えるAbnormal Termination イベントをすべて検出できるようにすることで、ユーザー・エクスペリエンスが向上することが判明しています。

非アクティブ化

異常プロセス強制終了の検出を無効にするには、configuration.yaml ファイルで以下の設定を使用します。

com.instana.plugin.ebpf:
  enabled: false
 

カスタム・プロセス

Instana Java や MySQL などの上位センサーのプロセス指標を自動的に監視します。 Instana がデフォルトでは検出しないオペレーティングシステムレベルのプロセスを監視するには、次の例のように設定します

com.instana.plugin.process:
  poll_rate: 3 # values are in seconds. Default value is 3 seconds.
  processes:
    - 'sshd'
    - 'slapd'
  arguments:
    - 'config'
    - 'port'
  services:
    - 'upower.service'
    - 'polkit.service'
 

プロセス

Instana で特定のプロセスを監視するには、設定ファイルの `processes:` セクションに、そのプロセス名をリストとして追加する必要があります。 Instana 指定した文字列と一致する名前のプロセスを自動的に監視します。 たとえば、 processes: に ` Instanaslapd ` sshd を指定すると、 は、 slapd 名前に sshd `` を含むすべてのプロセスを監視します。

引数

Instana で特定の引数に基づいて特定のプロセスを監視するには、設定ファイルの `arguments:` セクションに、それらのキーワードをリストとして追加する必要があります。 Instana 指定した文字列と引数のキーまたは値が一致するプロセスを自動的に監視します。 たとえば、 引数port 「 Instana 」 config を追加すると、引数に portconfig 」が含まれるすべてのプロセスが監視されます。

サービス

Instana で Linux の特定のサービスを監視するには、設定ファイルの `services:` セクションにサービス名をリストとして追加する必要があります。 Instana 指定した文字列と一致する名前のサービスを自動的に監視します。 たとえば、 services:polkit.service と を upower.service 指定すると、 Instana はその名前に一致するすべてのサービスを監視します。

自発的コンテキスト・スイッチと非自発的コンテキスト・スイッチ

注: この機能は Linux ベースのオペレーティング・システムでのみサポートされています。

コンテキスト・スイッチのモニターを手動で有効にするには、ホストのエージェント構成ファイル (/opt/instana/agent/etc/instana/configuration.yaml) を以下のように編集します。

...
com.instana.plugin.process:
  ctx_switches_enabled: true
 

OS プロセス環境変数

Instana のプロセス・センサーは、モニター対象プロセスのすべての環境変数を自動的にキャプチャーします。 機密データやシークレット・データが環境に含まれていることがよくあるため、プロセス・センサーはフィルタリング時に、構成されているシークレットをすべて考慮します。

シークレットの設定に関する詳細は、「 エージェント設定のシークレット 」をご覧ください

以下のようにホスト・エージェント構成ファイル (/opt/instana/agent/etc/instana/configuration.yaml) を編集して、プロセス環境変数のモニターを手動で無効にすることもできます。

...
com.instana.plugin.process:
  env_vars_enabled: false
 

秘密の構成

メトリック収集

メトリクスを表示するには、 Instana のユーザーインターフェースのサイドバーで 「Infrastructure」 を選択し、監視対象の特定のホストをクリックします。すると、収集されたすべてのメトリクスと監視対象のプロセスが表示されたホストダッシュボードが表示されます。

構成データ

  • PID
  • 実行可能プログラム
  • 開始時刻
  • ユーザー
  • グループ
  • 最大オープン・ファイル数
  • 引数

パフォーマンス・メトリック

CPU 使用率

CPU 使用率の値の単位はパーセンテージです (user および system)。 選択された期間にわたる値がグラフに表示されます。

データ・ポイント: Filesystem

粒度: 3 秒

正規化CPU使用量

正規化されたCPU使用率の値は、プロセスのユーザーモードおよびシステムモードのコードを実行するために使用されたCPUリソースの割合(パーセンテージ)を示します。 選択された期間にわたる値がグラフに表示されます。

データ・ポイント: Filesystem

粒度: 3 秒

メモリー

メモリー使用量の値はバイト数単位です (virtualresident、および share)。 選択された期間にわたる値がグラフに表示されます。

データ・ポイント: Filesystem

粒度: 3 秒

オープン・ファイル

オープン・ファイルの値の単位は、used は合計数、current はパーセンテージです。 選択された期間にわたる値がグラフに表示されます。

オープン・ファイルの currentmax は、オペレーティング・システムで使用可能な場合に表示されます。

データ・ポイント: Filesystem

粒度: 3 秒

コンテキスト・スイッチ回数

プロセスのコンテキスト・スイッチ回数: voluntary およびnonvoluntary。 選択された期間にわたる値がグラフに表示されます。

データ・ポイント: Filesystem

粒度: 3 秒

正常性シグニチャー

センサーごとに、着信メトリックに対して継続的に評価され、ユーザーへの影響に応じて問題またはインシデントを提起するために使用される正常性シグニチャーのキュレーション済み知識ベースがあります。

組み込みイベントは、エンティティのヘルスシグネチャに異常が検出されたことを受けて課題やインシデントをトリガーし、 カスタムイベントは、特定のエンティティの個々のメトリクスのしきい値に基づいて課題やインシデントをトリガーします。

OS プロセス・センサーの組み込みイベントについては、 組み込みイベントのリファレンスを参照してください。