Azure Monitor Ingestion SDK for Java
Java でカスタムログを Azure Monitor に送信
カスタムアプリケーションログは Azure での集中監視が必要です。このスキルは、Data Collection Rules と公式 Java SDK を使用して、ログを Azure Monitor に取り込むのに役立ちます。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「Azure Monitor Ingestion SDK for Java」を使用しています。 環境変数からエンドポイントを使用して DefaultAzureCredential で LogsIngestionClient を作成
期待される結果:
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
LogsIngestionClient client = new LogsIngestionClientBuilder()
.endpoint(System.getenv("DATA_COLLECTION_ENDPOINT"))
.credential(credential)
.buildClient();
「Azure Monitor Ingestion SDK for Java」を使用しています。 DCR ID とストリーム名を使用して 3 件のログエントリーを Azure Monitor にアップロード
期待される結果:
List<Object> logs = new ArrayList<>();
logs.add(new MyLogEntry("2024-01-15T10:30:00Z", "INFO", "Application started"));
logs.add(new MyLogEntry("2024-01-15T10:30:05Z", "DEBUG", "Processing request"));
logs.add(new MyLogEntry("2024-01-15T10:30:10Z", "WARN", "High memory usage detected"));
client.upload(ruleId, streamName, logs);
System.out.println("Logs uploaded successfully");
セキュリティ監査
安全Documentation-only skill containing usage examples for the official Azure Monitor Ingestion SDK for Java. No executable code, no security risks detected. Static analysis found 0 files with 0 suspicious patterns. The skill provides legitimate Azure SDK integration patterns with proper authentication using DefaultAzureCredential.
品質スコア
作れるもの
アプリケーションテレメトリの取り込み
カスタムアプリケーションログ、メトリクス、イベントを Java アプリケーションから Azure Monitor に送信して、集中監視とアラートを実現。
セキュリティイベントの収集
セキュリティ監査ログとコンプライアンスイベントを Azure Monitor の SecurityEvents または CommonSecurityLog テーブルに取り込んで、SIEM 統合を実現。
カスタムビジネスメトリクス
構造化ログを Log Analytics ワークスペースのカスタムテーブルにアップロードして、ビジネス固有のイベントと KPI を追跡。
これらのプロンプトを試す
環境変数からエンドポイント、DCR ID、ストリーム名を使用して、DefaultAzureCredential 認証を含む Azure Monitor 用の同期 LogsIngestionClient を作成してください。
部分的な失敗を処理しながら、カスタムログエントリーのリストを Azure Monitor にアップロードする Java コードを生成してください。バッチ全体を中止せずに、失敗したエントリーをログに記録してください。
maxConcurrency を 5 に設定して 10000 件のログエントリーを Azure Monitor に送信する非同期アップロードメソッドを作成してください。リアクティブストリーミングに Reactor Mono を使用してください。
timeGenerated、severity、source、message フィールドを持つカスタムログエントリー用の Java クラスを定義してください。Logs Ingestion API が必要とする JSON シリアライゼーション用のゲッターを含めてください。
ベストプラクティス
- パフォーマンス向上のため、ログエントリーを 1 件ずつ送信する代わりにバッチ処理してアップロード
- スループットを向上させるために、大規模なログコレクションをアップロードする際に maxConcurrency オプションを設定
- Azure Monitor テーブルのほとんどがタイムスタンプを必要とするため、ログエントリーに TimeGenerated フィールドを含める
回避
- アップロードごとに新しいクライアントインスタンスを作成 - アプリケーションライフサイクルを通じて単一のクライアントを再利用
- 高スループットシナリオでログを同期的にアップロード - リアクティブパターンには非同期クライアントを使用
- 部分的なアップロードエラーを無視 - 失敗したエントリーを処理するために常にエラーコンシューマーを設定
よくある質問
このスキルを使用する前に必要な前提条件は何ですか?
Azure Monitor への認証方法はどうすればよいですか?
カスタムテーブルにログをアップロードできますか?
アップロード失敗をどのように処理すればよいですか?
同期クライアントと非同期クライアントの違いは何ですか?
取り込み後にログをクエリするにはどうすればよいですか?
開発者の詳細
作成者
sickn33ライセンス
MIT
リポジトリ
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-monitor-ingestion-java参照
main
ファイル構成
📄 SKILL.md