elastic/observability-edot-dotnet-instrument

Elastic Distribution of OpenTelemetry (EDOT) .NET SDKを使用して.NETアプリケーションを自動トレース、メトリクス、ログで計装します。既存のAPMエージェントがない.NETサービスに可観測性を追加する場合に使用します。

observability-edot-dotnet-instrument とは?

このスキルは、Elastic Distribution of OpenTelemetry (EDOT) .NET SDKを使用して.NETアプリケーションを計装し、自動トレース、メトリクス、ログ収集を実現します。主に、既存のAPMエージェントが導入されていない.NETサービスに可観測性を追加するために設計されています。EDOT .NET SDKはOpenTelemetry標準に基づいており、Elastic Stackとのネイティブな統合を提供します。このスキルを使用することで、開発者はコードの変更を最小限に抑えながら、分散トレーシング、サービスメトリクス、アプリケーションログをElastic Observabilityプラットフォームに送信できるようになります。EDOTは自動計装機能を備えており、一般的な.NETライブラリやフレームワーク(ASP.NET Core、Entity Framework Core、HTTPクライアントなど)を自動的に検出して計装します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/elastic/agent-skills/tree/main/skills/observability-edot-dotnet-instrument

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

observability-edot-dotnet-instrument は何をしますか?

Elastic Distribution of OpenTelemetry (EDOT) .NET SDKを使用して.NETアプリケーションを自動トレース、メトリクス、ログで計装します。既存のAPMエージェントがない.NETサービスに可観測性を追加する場合に使用します。

概要

このスキルは、Elastic Distribution of OpenTelemetry (EDOT) .NET SDKを利用して、.NETアプリケーションに可観測性を導入するための手順を提供します。

前提条件

  • .NET 6.0 以降
  • Elastic Cloud または Elasticsearch クラスターへのアクセス
  • Elastic Observability の設定が完了していること

インストール

以下のNuGetパッケージをプロジェクトに追加します:

dotnet add package Elastic.OpenTelemetry

設定

アプリケーションの起動時にEDOT SDKを初期化します:

using Elastic.OpenTelemetry;

var builder = WebApplication.CreateBuilder(args);

// EDOT SDKの自動構成を追加
builder.Services.AddElasticOpenTelemetry();

var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

環境変数

環境変数説明必須
ELASTIC_APM_SERVER_URLElastic APMサーバーのURLはい
ELASTIC_APM_API_KEYAPIキーまたはシークレットトークンはい
ELASTIC_APM_SERVICE_NAMEサービス名(デフォルト: アセンブリ名)いいえ

カスタム計装

EDOT SDKは多くの一般的なライブラリを自動計装しますが、手動でカスタムスパンを作成することも可能です:

using OpenTelemetry;

// アクティビティソースの作成
var activitySource = new ActivitySource("MyApp");

// カスタムスパンの作成
using var activity = activitySource.StartActivity("CustomOperation");
// ビジネスロジックをここに記述

注意事項

  • EDOT .NET SDKは現在ベータ版です。本番環境での使用には注意が必要です。
  • 既存のAPMエージェントと競合する可能性があるため、共存は推奨されません。
  • 詳細なドキュメントは公式Elasticドキュメントを参照してください。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

elastic/cloud-access-management

Manage Elastic Cloud organization access: invite users, assign roles to Serverless projects, and create or revoke Cloud API keys. Use when granting, modifying, or auditing user access.

elastic/cloud-create-project

Creates Elastic Cloud Serverless projects (Elasticsearch, Observability, or Security) via the REST API, saves credentials to file, and bootstraps a scoped Elasticsearch API key. Use when creating a new serverless project, provisioning a search or observability environment, or spinning up a new Elastic Cloud project.

elastic/cloud-manage-project

Manages existing Elastic Cloud Serverless projects: list, get, update, delete, reset credentials, resume, and load saved credentials. Connects to existing projects by resolving endpoints and acquiring scoped Elasticsearch API keys. Use when performing day-2 operations on serverless projects, connecting to an existing project, loading or resetting project credentials, or looking up project details.

elastic/cloud-network-security

Manage Serverless network security (traffic filters): create, update, and delete IP filters and AWS PrivateLink VPC filters. Use when restricting network access or configuring private connectivity.

elastic/cloud-setup

Configures Elastic Cloud authentication and environment defaults. Use when setting up EC_API_KEY, configuring Cloud API access, or when another cloud skill requires credentials.

elastic/elasticsearch-audit

Enable, configure, and query Elasticsearch security audit logs. Use when the task involves audit logging setup, event filtering, or investigating security incidents like failed logins.

elastic/elasticsearch-authn

Authenticate to Elasticsearch using native, file-based, LDAP/AD, SAML, OIDC, Kerberos, JWT, or certificate realms. Use when connecting with credentials, choosing a realm, or managing API keys. Assumes the target realms are already configured.

elastic/elasticsearch-authz

Manage Elasticsearch RBAC: native users, roles, role mappings, document- and field-level security. Use when creating users or roles, assigning privileges, or mapping external realms like LDAP/SAML.

elastic/elasticsearch-esql

Execute ES|QL (Elasticsearch Query Language) queries, use when the user wants to query Elasticsearch data, analyze logs, aggregate metrics, explore data, or create charts and dashboards from ES|QL results.

elastic/elasticsearch-file-ingest

Ingest and transform data files (CSV/JSON/Parquet/Arrow IPC) into Elasticsearch with stream processing and custom transforms. Use when loading files or batch importing data — not for reindexing, general ingest pipeline design, or bulk API patterns.

elastic/elasticsearch-onboarding

Help developers new to Elasticsearch get from zero to a working search experience. Guide them through understanding their intent, mapping their data, and building a search experience with best practices baked in. Use this when the user shows intent to build search-related functionality, asks about Elasticsearch-related concepts for their use case, or expresses the need for help getting started with Elasticsearch.

elastic/elasticsearch-security-troubleshooting

Diagnose and resolve Elasticsearch security errors: 401/403 failures, TLS problems, expired API keys, role mapping mismatches, and Kibana login issues. Use when the user reports a security error.

elastic/kibana-agent-builder

Create and manage Agent Builder agents and custom tools in Kibana. Use when asked to create, update, delete, test, or inspect agents or tools in Agent Builder.

elastic/kibana-alerting-rules

Create and manage Kibana alerting rules via REST API or Terraform. Use when creating, updating, or managing rule lifecycle (enable, disable, mute, snooze) or rules-as-code workflows.

elastic/kibana-audit

Enable and configure Kibana audit logging for saved object access, logins, and space operations. Use when setting up Kibana audit, filtering events, or correlating Kibana and ES audit logs.

elastic/kibana-connectors

Create and manage Kibana connectors for Slack, PagerDuty, Jira, webhooks, and more via REST API or Terraform. Use when configuring third-party integrations or managing connectors as code.

elastic/kibana-dashboards

Create and manage Kibana Dashboards and visualizations. Use when you need to define dashboards and visualizations declaratively, version control them, or automate their deployment.

elastic/kibana-streams

List, inspect, enable, disable, and resync Kibana Streams via the REST API. Use when the user needs stream details, ingest/query settings, queries, significant events, or attachments.

elastic/kibana-vega

Create Vega and Vega-Lite visualizations with ES|QL data sources in Kibana. Use when building custom charts, dashboards, or programmatic panel layouts beyond standard Lens charts.

elastic/observability-edot-dotnet-migrate

Migrate a .NET application from the classic Elastic APM .NET agent to the EDOT .NET SDK. Use when switching from Elastic.Apm.* packages to Elastic.OpenTelemetry.

関連スキル