Azure Event Hubs ログを Observability Pipelines に送信する
This product is not supported for your selected
Datadog site. (
).
概要
このドキュメントでは、Kafka ソースを使用して Azure Event Hubs ログを Observability Pipelines に送信する方法について説明します。セットアップ手順には、Kafka ソース用の Azure Event Hubs のセットアップが含まれます。
Azure Event Hubs のセットアップが完了したら、Kafka ソースを使用してパイプラインをセットアップし、Azure Event Hubs ログを Observability Pipelines に送信します。
Kafka ソース用に Azure Event Hubs をセットアップする
Azure Event Hubs 名前空間を作成する
- Azure ポータルで、[Event Hubs] に移動します。
- [作成] をクリックします。
- プロジェクトの詳細 (サブスクリプション、リソースグループ) およびインスタンスの詳細 (名前空間名、リージョン、Standard/Premium/Dedicated のティアの選択) を入力します。
- リージョンが Azure リソースと一致していることを確認します (例:
westus)。 - [確認と作成] をクリックします。
注: Kafka エンドポイントは、Standard 以上のティアで自動的に有効になります。
イベントハブ (Kafka トピック) を作成する
- 作成した名前空間で [Event Hubs] を選択し、[+ イベントハブ] をクリックします。
- 名前を入力し (例:
datadog-topic)、設定を構成します (例: 4 つのパーティション、7 日間の保持期間)。 - [確認と作成] をクリックします。このイベントハブは Kafka トピックとして機能します。
- 作成したイベントハブで、[設定] > [共有アクセスポリシー] に移動します。
- [+ 追加] をクリックします。
- ポリシー名を入力します (例:
DatadogKafkaPolicy)。 - [管理] チェックボックスを選択します。これにより、[送信] および [リッスン] のチェックボックスが自動的に選択されます。
- [作成] をクリックします。
- Observability Pipelines の Kafka ソースをセットアップする際に、Kafka 認証のために主キーとプライマリ接続文字列が必要になります。
診断設定をセットアップする
- Azure リソース (例: VM、App Services) またはサブスクリプションレベルのアクティビティログを構成して、ログをイベントハブにストリーミングします。
- リソースの場合:
- リソースに移動し、[監視] > [診断設定] の順に選択します。
- [+ 診断設定を追加する] をクリックします。
- 必要なログカテゴリ (例: Microsoft Entra ID の AuditLogs、SignInLogs) を選択します。
- [宛先の詳細] で:
- [イベントハブへのストリーム] ボックスにチェックを入れます。
- 名前空間とイベントハブ (
datadog-topic) を選択します。
- [保存] をクリックします。
- アクティビティログの場合:
- [Microsoft Entra ID] > [監視] > [監査ログ] > [データ設定のエクスポート] に移動します。
- [イベントハブへのストリーム] ボックスにチェックを入れます。
- 各リージョンに対して繰り返します。ログは、同じリージョン内のイベントハブにストリーミングする必要があります。
Azure Event Hubs は、NAMESPACE.servicebus.windows.net:9093 で Kafka エンドポイントを公開します。Observability Pipelines は、これを Kafka ソースとして使用します。
Kafka エンドポイントを取得する
- Azure ポータルで、Event Hubs 名前空間 (例:
myeventhubns) に移動します。 - [概要] ページの [基本] セクションで、[ホスト名] または [完全修飾ドメイン名 (FQDN)] を探します。形式は
<NAMESPACE>.servicebus.windows.net です (例: myeventhubns.servicebus.windows.net)。 - Kafka ポート
:9093 を付加して、ブートストラップサーバーの値 <NAMESPACE>.servicebus.windows.net:9093 を作成します。- たとえば、名前空間が
myeventhubns の場合、ブートストラップサーバーは myeventhubns.servicebus.windows.net:9093 になります。 - Observability Pipelines の Kafka ソースをセットアップする際に、この情報が必要になります。
認証を設定する
- Azure Event Hubs は、Kafka 認証に PLAIN メカニズムを使用した SASL_SSL を使用します。
- 接続文字列は、Observability Pipelines 用に次のようにフォーマットされます。
Username: $$ConnectionString
Password: Endpoint=sb://<NAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=<PolicyName>;SharedAccessKey=<Key>
Kafka ソースを使用してパイプラインをセットアップする
プラットフォームを選択してください。
Observability Pipelines に移動します。
Kafka ソースを選択します。
- [Group ID] (グループ ID) フィールドに、一意のコンシューマーグループを指定または作成します (例:
datadog-consumer-group)。 - [Topics] (トピック) フィールドに、
datadog-topic、または以前にイベントハブ用に構成したトピックを入力します。 - スイッチを切り替えて SASL 認証を有効にします。
- [Mechanism] (メカニズム) ドロップダウンメニューから、[PLAIN] を選択します。
- TLS を有効にします。
- コンテナイメージの一部として機能する証明書を使用するように、
values.yaml ファイルを構成します。initContainers:
- name: copy-config
image: gcr.io/datadoghq/observability-pipelines-worker:latest
imagePullPolicy: IfNotPresent
command: ['/bin/sh', '-c', 'mkdir -p /config-volume/observability-pipelines-worker/config/ && cp /etc/ssl/certs/ca-certificates.crt /config-volume/observability-pipelines-worker/config/ca-certificates.crt']
volumeMounts:
- name: config-volume
mountPath: /config-volume
extraVolumes:
- name: config-volume
emptyDir: {}
extraVolumeMounts:
- name: config-volume
mountPath: /config-volume
Note: When install the Worker with the install command you need to add:--set env[0].name=DD_OP_DATA_DIR,env[0].value='/config-volume/observability-pipelines-worker/'
[1. In the Certificate path] (証明書パス) フィールドに、上記の例を使用した場合は“/ca-certificates.crt”と入力します。それ以外の場合は、証明書の名前を入力します。
![例の値を使用した Kafka ソースの設定]()
[Next: Select Destination] (次へ: 送信先を選択) をクリックします。
送信先とプロセッサを設定した後、[Next: Install] (次へ: インストール) をクリックします。
[Choose your installation platform] (インストールプラットフォームを選択) ドロップダウンメニューからプラットフォームを選択します。
Kafka ソースの環境変数を入力します。
- [Kafka Bootstrap Servers] (Kafka ブートストラップサーバー) には、
<NAMESPACE>.servicebus.windows.net:9093 を入力します (例: myeventhubns.servicebus.windows.net:9093)。 - [Kafka SASL Username] (Kafka SASL ユーザー名) には、
$$$$ConnectionString を入力します。注: $$$$ は環境に転送されると $$ になるため、ConnectionString の前に $$$$ を付ける必要があります。 - [Kafka SASL Password] (Kafka SASL パスワード) には、完全な接続文字列を入力します。(例:
Endpoint=sb://<NAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=<PolicyName>;SharedAccessKey=<Key>)。 - Kafka TLS パスフレーズを入力します。
該当する場合は、送信先の環境変数を入力します。
ページに記載されている残りの手順に従い、プラットフォームに基づいて Worker をインストールします。
Observability Pipelines に移動します。
Kafka ソースを選択します。
- [Group ID] (グループ ID) フィールドに、一意のコンシューマーグループを指定または作成します (例:
datadog-consumer-group)。 - [
datadog-topic] (トピック) フィールドに Topics を入力します。 - スイッチを切り替えて SASL 認証を有効にします。
- [Mechanism] (メカニズム) ドロップダウンメニューから、[PLAIN] を選択します。
- TLS を有効にします。証明書については、元の場所からデフォルトの Observability Pipelines データ構成ディレクトリにコピーします。
- Observability Pipelines Worker はまだインストールされていないため、次のコマンドを実行して証明書用のディレクトリを作成してください。
sudo mkdir -p /var/lib/observability-pipelines-worker/config
- Run this command to copy the certificate to the directory you created:
sudo cp /etc/ssl/certs/ca-certificates.crt /var/lib/observability-pipelines-worker/config/
[1. In the Certificate path] (証明書パス) フィールドに、“/ca-certificates.crt”と入力します。
[Next: Select Destination] (次へ: 送信先を選択) をクリックします。
送信先とプロセッサを設定した後、[Next: Install] (次へ: インストール) をクリックします。
[Choose your installation platform] (インストールプラットフォームを選択) ドロップダウンメニューからプラットフォームを選択します。
Kafka ソースの環境変数を入力します。
- [Kafka Bootstrap Servers] (Kafka ブートストラップサーバー) には、
<NAMESPACE>.servicebus.windows.net:9093 を入力します (例: myeventhubns.servicebus.windows.net:9093)。 - [Kafka SASL Username] (Kafka SASL ユーザー名) には、
\$\$ConnectionString を入力します。注: ConnectionString の前の $ をエスケープする必要があります。そうしないと、環境変数が読み込まれません。 - [Kafka SASL Password] (Kafka SASL パスワード) には、引用符 (
") で囲んだ完全な接続文字列を入力します。(例: "Endpoint=sb://<NAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=<PolicyName>;SharedAccessKey=<Key>")。 - Kafka TLS パスフレーズを入力します。
トラブルシューティング
Worker のインストール後に問題が発生した場合は、Observability Pipelines 環境ファイル (/etc/default/observability-pipelines-worker) で環境変数が正しく設定されていることを確認してください。
DD_OP_SOURCE_KAFKA_SASL_USERNAME="$$ConnectionString"DD_OP_SOURCE_KAFKA_BOOTSTRAP_SERVERS=<NAMESPACE>.servicebus.windows.net:9093DD_OP_SOURCE_KAFKA_SASL_PASSWORD=<Endpoint=sb://<NAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=<PolicyName>;SharedAccessKey=<Key>>DD_OP_SOURCE_KAFKA_KEY_PASS=password
環境変数が見つかりません
エラー Missing environment variable DD_OP_SOURCE_KAFKA_SASL_PASSWORD が表示され、VM で Worker を実行している場合は、Worker インストールスクリプトの実行時に変数が引用符 (") で囲まれていることを確認してください。以下に例を示します。
DD_OP_SOURCE_KAFKA_SASL_PASSWORD=`"Endpoint=sb://<NAMESPACE>.servicebus.windows.net/;SharedAccessKeyName=<PolicyName>;SharedAccessKey=<Key>"`
ヘルスメトリクス
すべてのソースから出力されるコンポーネントメトリクスおよびソースバッファメトリクスについては、パイプライン使用状況メトリクスのドキュメントを参照してください。ここでは Azure Event Hubs から Observability Pipelines にログを送信するために Kafka ソースを使用しているため、component_type:kafka タグを使用して関連するメトリクスをフィルタリングしてください。