ロギング・エージェント
ロギング・エージェントを設定して、インフラストラクチャとアプリケーションのログを収集し、IBM Cloud Logsインスタンスに直接送信することができます。
ロギング・エージェントは、ログデータの収集と処理に使用されるFluent Bitオープンソースエージェントに基づいています。 ロギング・エージェントをサポートされている環境にデプロイし、さまざまなソースやフォーマットのデータを管理できます。
次の図は、デスティネーションがIBM Cloud Logsインスタンスである場合のハイレベル・ビューを示しています:
ロギング・エージェント について
ロギング・エージェントを使用してIBM Cloud Logsサービスにログを送信する場合、送信するログには「applicationName」と「subsystemName メタデータフィールドの値を含める必要があります。 デフォルトでは、ロギング・エージェントを設定すると、エージェントはこれらのフィールドにデフォルト値を設定します。 デフォルト値を置き換えるために、独自のカスタム値を設定することができます。
- デフォルト値の詳細については、メタデータ・フィールド を参照してください。
- エージェントを構成する方法の詳細については、applicationName および subsystemName メタデータ フィールドにカスタム値を設定するためのエージェントの構成 を参照してください。
- ロギング・エージェント がどのように重大度を解析するかについての詳細は、 Understanding how the ロギング・エージェント parses severities を参照してください。
ロギング・エージェント オーケストレーション環境用
ロギング・エージェント を Red Hat OpenShift on IBM Cloud または IBM Cloud Kubernetes Service クラスタにデプロイできます。
オンプレミス、IBM Cloud、または別のクラウドで実行するクラスタにエージェントをデプロイできます。
ロギング・エージェントは、クラスタの各ノードで1つのポッドが動作するように設計されたデーモンセットです。 各ポッドは、実行中のノードの関連ログを収集する。 ロギング・エージェントは、これらのログをIBM Cloud Logsサービスに転送します。
デフォルトでは、ロギング・エージェントは、'/var/log/containers/ で指定されたパスパターンに一致するファイルからのログデータを監視および収集し、除外パターンに一致するファイルからのログは除外する。 更新間隔は10秒に設定されている。 これらの値は、コンフィグマップ logger-agent-config で変更できます。 詳しくは、ログをフィルタリングするを参照してください。
以下のプラットフォームにエージェントを配置できます:
-
Kubernetes クラスター
詳細は、ロギング・エージェントをKubernetesクラスタにHelmチャートを使ってデプロイする を参照してください。
-
OpenShift クラスター
次の図は、ログのソースがKubernetesまたはOpenShiftクラスタの場合のハイレベル・ビューを示しています:
ロギング・エージェント オーケストレーションされていない環境向け
LinuxとWindows環境でロギング・エージェントを配置できます。
ロギング・エージェントが監視し、そのデータをIBM Cloud Logsインスタンスに転送するログファイルを構成する必要があります。
エージェントは、systemd を使用して Linux デーモンとして実行されます。 systemctl を使用してエージェントを管理することができます。
以下のプラットフォームがサポートされます。
- RHEL 8
- RHEL 9
- Ubuntu 20
- Ubuntu 22
- Debian 11
- Debian 12
- Windows Server 2016
- Windows Server 2019
- Windowsサーバー2022
- Windows 10 Enterprise
- Windows 11 Enterprise
詳細については、Linux環境でのエージェントの管理 または Windows環境でのエージェント の管理を参照してください。
認証方法
エージェントがIBM® Cloud Logsサービスで認証するために使用するIDとして、サービスIDまたは信頼できるプロファイルを使用できます。
エージェントの配置を計画している環境でサポートされている認証方法を選択します:
| 環境 | サービス ID API キー | トラステッド・プロファイル |
|---|---|---|
| IBM Cloud Kubernetesクラスタ | サポート対象 | サポート対象 |
| IBM Cloud OpenShiftクラスタ | サポート対象 | サポート対象 |
| IBM Cloud LinuxVSI | サポート対象 | サポート対象 |
| IBM CloudWindows VSI | サポート対象 | サポート対象 |
| オンプレミスのKubernetesクラスタ | サポート対象 | サポートされていません |
| オンプレミスのOpenShiftクラスタ | サポート対象 | サポートされていません |
| オンプレミスのLinuxサーバー | サポート対象 | サポートされていません |
| その他のクラウドKubernetesクラスタ | サポート対象 | サポートされていません |
| その他のクラウドOpenShiftクラスタ | サポート対象 | サポートされていません |
| その他のクラウドLinuxサーバー | サポート対象 | サポートされていません |
Trusted Profilesを使用してIBM CloudリソースをIBM Cloud Logsインスタンスで認証できるのは、コンピュートリソースとインスタンスが同じアカウントにある場合だけです。
IBM Cloud Logsインスタンスとは異なる 'IBM Cloudアカウントでプロビジョニングされている 'Kubernetesクラスタからログを送信するには、エージェントの認証方法としてサービス ID API キーのみを使用できます。
APIキーを生成する方法の詳細については、認証にサービスIDを使用して取り込むためのAPIキーを生成する を参照してください。
Trusted Profileの作成方法の詳細については、Generate a Trusted Profile for ingestion を参照してください。
サポートされる形式
エージェントは以下の入力フォーマットをサポートする:
- JSON
- Apache
- apache2
- apache_error
- nginx
- docker (docker 固有のタイムスタンプ形式の JSON)
- cri
- Syslog