Monitoring 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, a.k.a來結束處理程序。 SIGKILL
  • 分段錯誤
  • 未處理的信號

程序儀表板上顯示異常程序終止。

記憶體不足殺手

「記憶體不足殺手」事件是由作業系統或儲存器執行時期傳送至處理程序 (稱為 目標處理程序 ) 的事件,其耗用 (如「已配置」) 的記憶體超過容許的記憶體。 然後,目標處理程序可以決定終止,或指出哪些 子項 處理程序已改為終止。

例如,選取要終止的子處理程序的使用案例是處理領導者工作者架構 (例如 NGINX 或 PHP-FPM) ,其中領導者處理程序會管理工作並將工作委派給工作者處理程序,這通常比領導者耗用更多資源。

在 Instana 中,會根據兩個專用事件來記載記憶體不足的殺人事件:

  • 處理程序上的 Out of memory 事件代表該處理程序接收記憶體不足的殺出者事件; 因此終止處理程序的事件文件,以方便瞭解目標處理程序本身未終止時所發生的情況。
  • 由於 Out of memory 事件而終止處理程序的 Killed by out of memory killer 事件文件。 Killed by out of memory killer 事件會伴隨 Abnormal Termination 事件,因為 uncaught SIGKILL signal 會記載如何終止程序。

視目標是否決定終止本身或其中一個子項而定, Instana 中有兩個可能的實務範例:

  • 如果目標程序決定自行終止,您會在目標程序上看到三個事件: Out of memory 事件、 Killed by out of memory killer 事件,以及當然 Abnormal Termination 事件。

    在收到記憶體不足殺手事件之後決定自行終止的目標程序。

  • 如果目標程序已選取其中一個要終止的子項,則您會在目標程序上看到 Out of memory 事件,以及在已選取的子項程序上看到 Killed by out of memory killerAbnormal Termination 事件。

請注意: 您可能認為 Abnormal TerminationKilled by out of memory killer 是多餘的。 情況並非如此: 它們說明程序終止的兩個不同層面: Abnormal Termination 事件說明 如何Killed by out of memory killer 事件說明 原因。 此外,我們發現它提供更好的使用者體驗,能夠找到看起來相同的所有 Abnormal Termination 事件,而不論它們是否因記憶體不足或其他原因而發生。

停用

可以使用 configuration.yaml 檔案中的下列設定來停用異常處理程序終止的偵測:

com.instana.plugin.ebpf:
  enabled: false

自訂程序

依預設, Instana 將自動監視較高層次感應器 (例如 Java 或 MySQL ) 的處理程序度量。 如果您想要自動監視 Instana 未涵蓋的 OS 程序,您可以如下配置它:

com.instana.plugin.process:
  processes:
    - 'sshd'
    - 'slapd'

自願和非自願環境定義切換

附註: 此功能僅在 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

配置密鑰

Windows 服務

Instana 支援監視 Windows 服務及其子程序。 您可以配置它,如下所示:

...
com.instana.plugin.process:
  services:
    - 'WindowsService1'
    - 'WindowsService2'

度量值集合

若要檢視度量值,請在「Instana 使用者」介面的資訊看板中選取 基礎架構 ,按一下特定的受監視主機,然後您可以看到包含所有已收集度量值及受監視處理程序的主機儀表板。

配置資料

  • PID
  • 執行檔
  • 開始時間
  • 使用者
  • 群組
  • 開啟的檔案數上限
  • 引數

效能度量

CPU 使用率

CPU 使用率值,以百分比表示; usersystem。 在選取的時段內,這些值會顯示在圖形上。

資料點: Filesystem

精度: 3 秒

記憶體

記憶體用量值,以位元組為單位; virtualresidentshare。 在選取的時段內,這些值會顯示在圖形上。

資料點: Filesystem

精度: 3 秒

開啟檔案

開啟檔案值 used 表示總數, current 表示百分比。 在選取的時段內,這些值會顯示在圖形上。

開啟檔案 current vs max 會在作業系統上可用時可見。

資料點: Filesystem

精度: 3 秒

環境定義切換數

處理程序的環境定義切換次數; voluntarynonvoluntary。 在選取的時段內,這些值會顯示在圖形上。

資料點: Filesystem

精度: 3 秒

性能簽章

每一個感應器都有一個精選的性能簽章知識庫,可以根據送入的度量對性能簽章進行持續評估,並根據使用者影響來觸發問題或發生事件。

內建事件 會根據實體上的性能簽章失敗來觸發問題或突發事件,而 自訂事件 會根據任何給定實體的個別度量值臨界值來觸發問題或突發事件。

如需 OS 處理程序感應器之內建事件的相關資訊,請參閱 內建事件參照