<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ブログ on OpenTelemetry</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/</link><description>Recent content in ブログ on OpenTelemetry</description><generator>Hugo</generator><language>ja</language><atom:link href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Mastodon が本番環境で OpenTelemetry Collector を運用する方法</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/devex-mastodon/</link><pubDate>Sun, 21 Jun 2026 21:36:56 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/devex-mastodon/</guid><description>&lt;p&gt;2025年初頭、OpenTelemetry Developer Experience SIG は&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2025/devex-survey/"&gt;最初のコミュニティサーベイの結果を公開しました&lt;/a&gt;。
最も強いテーマの一つは明確でした。チームは OpenTelemetry SDK や OpenTelemetry Collector が実際に本番環境でどのように使われているかについて、より多くの実例を求めていたのです。&lt;/p&gt;
&lt;p&gt;このギャップを埋めるために、SIG はさまざまな業界、アーキテクチャ、企業規模のエンドユーザーから直接ストーリーを収集し始めました。
この記事は、組織の実際の運用事例に特化した新しいシリーズの第一弾です。
小規模ながらも独自の課題を持つケースからスタートします。&lt;/p&gt;
&lt;p&gt;最初のストーリーの主役は、世界規模で運営しながらも驚くほど少人数のチームで活動している非営利団体 Mastodon です。&lt;/p&gt;
&lt;h2 id="mastodon-at-a-glance"&gt;Mastodon の概要&lt;a class="td-heading-self-link" href="#mastodon-at-a-glance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://joinmastodon.org" target="_blank" rel="noopener" class="external-link"&gt;Mastodon&lt;/a&gt; は、非営利団体が運営する、フリーでオープンソースの分散型ソーシャルメディアプラットフォームです。&lt;/p&gt;
&lt;p&gt;分散化はここではマーケティング用語ではなく、中核的なアーキテクチャ原則です。
誰でも&lt;a href="https://docs.joinmastodon.org/user/run-your-own/" target="_blank" rel="noopener" class="external-link"&gt;自分の Mastodon サーバーを運用&lt;/a&gt;でき、それぞれ独立して運営されるサーバーは、&lt;em&gt;Fediverse&lt;/em&gt;（ActivityPub などの標準化されたプロトコルを使用して相互に通信する独立したソーシャルプラットフォームの連合ネットワーク）の一部として、オープンプロトコルを使って相互運用します。
メールと同様に、ユーザーは誰がサーバーを運営しているかに関係なく、インスタンス間で通信できます。&lt;/p&gt;
&lt;p&gt;この思想は、Mastodon の機能に関する意思決定だけでなく、オブザーバビリティへのアプローチにも影響を与えています。&lt;/p&gt;
&lt;h3 id="organizational-structure"&gt;組織構造&lt;a class="td-heading-self-link" href="#organizational-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Mastodon の組織全体は約 20 名で構成されており、オブザーバビリティインフラストラクチャ（OpenTelemetry Collector を含む）はたった一人のエンジニアが管理しています。&lt;/p&gt;
&lt;p&gt;少人数のチームにもかかわらず、Mastodon は 2 つの大規模な本番 Mastodon インスタンスを運用しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://mastodon.social" target="_blank" rel="noopener" class="external-link"&gt;mastodon.social&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;9～15 ノード（各 16 コア、64 GB RAM）間でオートスケーリングする Kubernetes 上で稼働しています。
Web フロントエンドは 5～20 Pod、さまざまな Sidekiq ワーカープールは 10～40 Pod の間でスケーリングします。
平均して、mastodon.social では常時 70～80 の Pod が稼働しています。
このプラットフォームは 1 日あたり最大 &lt;strong&gt;30 万のアクティブユーザー&lt;/strong&gt; を処理し、毎分約 1,000 万リクエストをさばいています。&lt;/p&gt;</description></item><item><title>Apache Arrow を用いた OpenTelemetry Protocol の本番環境での活用</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/otel-arrow-production/</link><pubDate>Sun, 21 Jun 2026 20:28:55 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/otel-arrow-production/</guid><description>&lt;p&gt;Apache Arrow を用いた OpenTelemetry Protocol（OTel-Arrow）プロジェクトの OpenTelemetry Collector 向け&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/635d4254a3018eb3ca8f1736e71fcb54f8ed6e5a/exporter/otelarrowexporter?from_branch=main" target="_blank" rel="noopener" class="external-link"&gt;エクスポーター&lt;/a&gt;と&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/635d4254a3018eb3ca8f1736e71fcb54f8ed6e5a/receiver/otelarrowreceiver?from_branch=main" target="_blank" rel="noopener" class="external-link"&gt;レシーバー&lt;/a&gt;のコンポーネントは、現在 OpenTelemetry Collector-Contrib のリリースに含まれています。
本記事は、ServiceNow Cloud Observability において、社内テレメトリーデータの主要な取り込みパスとして OTel-Arrow コンポーネントを使った OpenTelemetry Collector をデプロイした経験に関するケーススタディです。&lt;/p&gt;
&lt;p&gt;F5, Inc. が OpenTelemetry プロジェクトに最初のコントリビューションを行って以来、F5 を含むコミュニティメンバーは、コストの高いネットワークリンクを介して大量の OpenTelemetry データを転送するための、信頼性と性能に優れたソリューションへ OTel-Arrow エクスポーターおよびレシーバーコンポーネントを発展させるべく協力してきました。
これらのコンポーネントを社内テレメトリーに使ったところ、非圧縮サイズの 15 分の 1 から 30 分の 1 になる圧縮効果を観測しています。
OpenTelemetry Protocol（「OTLP」）と Apache Arrow を用いた OpenTelemetry Protocol を、同様に構成したトレースパイプラインで並行比較したところ、圧縮効果が 30% 改善することを確認しました。
この調査は特にトレースデータに焦点を当てていますが、ログとメトリクスのシグナルでも本番環境で同様の結果を観測しており、OTel-Arrow ユーザーは同様のパイプライン構成において OTLP と比較して 50〜70% の改善を期待できます。&lt;/p&gt;
&lt;p&gt;これまでの実験結果が本番環境で検証されたことで、Apache Arrow を用いた OpenTelemetry Protocol のエクスポーターおよびレシーバーは一般に利用できる状態にあると考えています。&lt;/p&gt;
&lt;h2 id="exporter-and-receiver-components"&gt;エクスポーターとレシーバーのコンポーネント&lt;a class="td-heading-self-link" href="#exporter-and-receiver-components" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://arrow.apache.org/" target="_blank" rel="noopener" class="external-link"&gt;Apache Arrow&lt;/a&gt; は、OpenTelemetry と組み合わせる技術として優れています。
両プロジェクトには多くの共通点があるからです。
OpenTelemetry と同様に、Apache Arrow は共有データ仕様、トランスポートプロトコル、クロス言語 API 仕様、そして多数のランタイム環境向けにコミュニティが構築した SDK を備えています。&lt;/p&gt;</description></item><item><title>The Humans of OpenTelemetry - KubeCon EU 2025</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/humans-of-otel-eu/</link><pubDate>Sun, 21 Jun 2026 10:41:26 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/humans-of-otel-eu/</guid><description>&lt;p&gt;&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/humans-of-otel-na-2024/"&gt;Humans of OpenTelemetry&lt;/a&gt; の第4弾をお届けします。
今回の舞台は、イギリス・ロンドンで開催された KubeCon EU です。
&lt;a href="https://github.com/reese-lee" target="_blank" rel="noopener" class="external-link"&gt;Reese Lee&lt;/a&gt; と私は、再び OpenTelemetry のコントリビューターやエンドユーザーにインタビューし、彼らが OTel にどのように関わるようになったかを聞きました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/maryliag" target="_blank" rel="noopener" class="external-link"&gt;Marylia Gutierrez&lt;/a&gt; (Grafana Labs)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/adrielp" target="_blank" rel="noopener" class="external-link"&gt;Adriel Perkins&lt;/a&gt; (Liatrio)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bidetofevil" target="_blank" rel="noopener" class="external-link"&gt;Hanson Ho&lt;/a&gt; (Embrace)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/JamieDanielson" target="_blank" rel="noopener" class="external-link"&gt;Jamie Danielson&lt;/a&gt; (Honeycomb.io)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mviitane" target="_blank" rel="noopener" class="external-link"&gt;Mikko Viitanen&lt;/a&gt; (Dynatrace)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dmathieu" target="_blank" rel="noopener" class="external-link"&gt;Damien Mathieu&lt;/a&gt; (Elastic)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jaronoff97" target="_blank" rel="noopener" class="external-link"&gt;Jacob Aronoff&lt;/a&gt; (Omlet)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/alolita" target="_blank" rel="noopener" class="external-link"&gt;Alolita Sharma&lt;/a&gt; (Apple)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、以下の方々に特別な感謝を捧げます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/reese-lee" target="_blank" rel="noopener" class="external-link"&gt;Reese Lee&lt;/a&gt;：共同インタビュアー&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henrikrexed" target="_blank" rel="noopener" class="external-link"&gt;Henrik Rexed&lt;/a&gt;：音声・映像収録機材の提供と、撮影素材の初期編集&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;録画の全編はこちらからご覧いただけます。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/eZ3OrhxUAmU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;&lt;br/&gt;これまで OpenTelemetry に貢献してくださったすべての方々に感謝します。
2025年以降も皆さんの継続的な貢献を楽しみにしています！🎉&lt;/p&gt;</description></item><item><title>Gateway API と mTLS を使用して Kubernetes で OTel Collector を公開する</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/expose-otel-collector-gateway-api/</link><pubDate>Fri, 19 Jun 2026 07:58:27 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/expose-otel-collector-gateway-api/</guid><description>&lt;p&gt;このブログ記事の目的は、Kubernetes 内で動作する OpenTelemetry（OTel）Collector を、&lt;a href="https://gateway-api.sigs.k8s.io/" target="_blank" rel="noopener" class="external-link"&gt;Kubernetes Gateway API&lt;/a&gt; と &lt;a href="https://www.buoyant.io/mtls-guide" target="_blank" rel="noopener" class="external-link"&gt;相互 TLS（mTLS）&lt;/a&gt;を使用して、認証と暗号化を伴いつつ安全に外部に公開する方法を紹介することです。&lt;/p&gt;
&lt;p&gt;現代の分散システムにおいてオブザーバビリティがますます重要になる中、1つまたは複数の Kubernetes クラスターにデプロイされた OTel Collector を介してテレメトリーデータを集約することは一般的なプラクティスです。
多くの場合、Kubernetes クラスターの &lt;em&gt;外部&lt;/em&gt; で実行されているサービスやエージェントが、これらの Collector にデータを送信する必要があります。
内部サービスの公開にはセキュリティと標準化の慎重な検討が必要です。
ここで Kubernetes Gateway API と mTLS が力を発揮します。&lt;/p&gt;
&lt;p&gt;通常、このようなセットアップは、クラスター外部にアプリケーションやワークロードがあり、それらのテレメトリーデータを収集する必要がある場合に役立ちます。
以下にいくつかの例を示します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ハイブリッドクラウド/オンプレミス環境:&lt;/strong&gt; 従来のデータセンター、別のクラウド、または Kubernetes クラスター外部で実行されているアプリケーションやサーバーが、メトリクス、トレース、またはログを中央のオブザーバビリティソリューションに転送する必要がある場合。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;マルチクラスターテレメトリー集約:&lt;/strong&gt; 複数の Kubernetes クラスターで実行されるセットアップにおいて、1つのクラスターをプライマリの OTel Collector デプロイメントのホストとして指定する場合があります。
他の「スポーク」クラスター内の Collector はクライアントとして機能し、外部エンドポイントを介して中央の Collector にデータをエクスポートします。
たとえば、マルチクラスターサービスメッシュ構成では、テイルベースサンプリングを中央で実行する必要がある場合があります。
この場合、&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.127.0/processor/tailsamplingprocessor" target="_blank" rel="noopener" class="external-link"&gt;テイルベースサンプリングプロセッサー&lt;/a&gt;が設定され、Gateway 経由で公開されている中央の Collector が、すべてのクラスターからスパンを集約してサンプリングの判断を行います。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;エッジコンピューティング/IoT:&lt;/strong&gt; エッジにデプロイされたデバイスは、運用データを中央プラットフォームに送信する必要があることが多いです。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;サーバーレス関数/PaaS:&lt;/strong&gt; サーバーレスプラットフォーム（AWS Lambda、Google Cloud Functions など）やクラスター外部の Platform-as-a-Service で実行されているアプリケーションが OTLP データをエクスポートする必要がある場合。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外部監視エージェント:&lt;/strong&gt; クラスター内の共有 Collector に接続する必要があるサードパーティエージェントやローカルで実行されている開発インスタンス。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;クライアントサイド監視:&lt;/strong&gt; ブラウザやモバイルアプリケーションなどの外部クライアントから送られるテレメトリー。
&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/languages/js/getting-started/browser/"&gt;ブラウザからのテレメトリーエクスポート&lt;/a&gt;では mTLS が使用されない場合がありますが、Collector は最終的に利用可能にする必要があります。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisites"&gt;前提条件&lt;a class="td-heading-self-link" href="#prerequisites" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;始める前に、以下を準備してください。&lt;/p&gt;</description></item><item><title>Skyscanner が実践する OpenTelemetry のスケーリング: 24 の本番クラスターにまたがる Collector の管理</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/devex-skyscanner/</link><pubDate>Wed, 17 Jun 2026 23:09:29 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/devex-skyscanner/</guid><description>&lt;p&gt;Developer Experience SIG は、さまざまな業界や規模の企業における実際の OpenTelemetry デプロイメントを紹介するブログ記事シリーズを公開しています。
この記事では、スコットランドのエジンバラに拠点を置くグローバルな旅行検索プラットフォーム &lt;a href="https://www.skyscanner.net/" target="_blank" rel="noopener" class="external-link"&gt;Skyscanner&lt;/a&gt; を取り上げます。&lt;/p&gt;
&lt;p&gt;全世界で 1,400 人の従業員を擁し、24 の本番 Kubernetes クラスターで 1,000 以上のマイクロサービスを運用している Skyscanner の OpenTelemetry 導入事例は、大規模な組織にとって貴重な教訓を提供します。&lt;/p&gt;
&lt;h2 id="organizational-structure"&gt;組織構造&lt;a class="td-heading-self-link" href="#organizational-structure" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;6 名のプラットフォームエンジニアで構成される Hubble チームが、Skyscanner の Collector の大部分を管理しています。
より大きなプラットフォームエンジニアリング組織の一部として、主に Java ベースのマイクロサービスアーキテクチャを実行するコンピューティングプラットフォームを担当しています。&lt;/p&gt;
&lt;p&gt;サービスチーム自体は、デプロイメントやテレメトリー収集のインフラストラクチャから抽象化されています。
Java サービスの場合、チームは事前設定された OpenTelemetry Java エージェントを含むベース Docker イメージを継承します。
Python および Node.js サービスの場合、プラットフォームチームが環境やリソース属性に基づいた適切なデフォルト値を設定するラッパーライブラリを提供しています。
これらのアプローチにより、ボイラープレートのセットアップが最小化され、サービスチームは OpenTelemetry の深い知識を必要とせずに、すぐにオブザーバビリティを利用できます。&lt;/p&gt;
&lt;h2 id="opentelemetry-adoption"&gt;OpenTelemetry の導入&lt;a class="td-heading-self-link" href="#opentelemetry-adoption" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Skyscanner の OpenTelemetry 導入は 2021 年に始まりました。
当時、同社は社内で構築したオープンソーススタックから商用ベンダーへの移行を進めていましたが、ベンダーロックインを避けたいと考えていました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「ベンダーに依存しない方法でベンダーに移行したかったのです」と、Skyscanner の Hubble プラットフォームチームのソフトウェアエンジニアである &lt;a href="https://github.com/neilfordyce" target="_blank" rel="noopener" class="external-link"&gt;Neil Fordyce&lt;/a&gt; は説明しました。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;このベンダーに依存しないアプローチにより、テレメトリーインフラストラクチャの中核として OpenTelemetry Collector を採用することになりました。&lt;/p&gt;
&lt;h2 id="architecture-centralized-routing-distributed-collection"&gt;アーキテクチャ: 集中ルーティング、分散収集&lt;a class="td-heading-self-link" href="#architecture-centralized-routing-distributed-collection" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Skyscanner の Collector アーキテクチャは、Istio ベースのインテリジェントルーティングを備えた中央 DNS エンドポイントを特徴としています。
サービスがグローバルのどこで実行されていても、どのクラスターにあっても、テレメトリーはこの単一のアドレスに送信されます。
Istio がリクエストを最も近い利用可能な Collector にルーティングします。&lt;/p&gt;</description></item><item><title>The Humans of OpenTelemetry - KubeCon NA 2024</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/humans-of-otel-na-2024/</link><pubDate>Mon, 15 Jun 2026 23:14:36 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/humans-of-otel-na-2024/</guid><description>&lt;p&gt;&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/humans-of-otel-eu-2024/"&gt;Humans of OpenTelemetry&lt;/a&gt; の第3弾をお届けします。
今回の舞台は、アメリカ・ユタ州ソルトレイクシティで開催された KubeCon NA です。
&lt;a href="https://github.com/reese-lee" target="_blank" rel="noopener" class="external-link"&gt;Reese Lee&lt;/a&gt; と私は、再び OpenTelemetry のコントリビューターやエンドユーザーに（そしてお互いにも！）インタビューし、彼らが OTel にどのように関わるようになったかを聞きました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/hazelweakly" target="_blank" rel="noopener" class="external-link"&gt;Hazel Weakly (The Nivenly Foundation)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/AkhigbeEromo" target="_blank" rel="noopener" class="external-link"&gt;Eromosele Akhigbe (Sematext)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hellobudha" target="_blank" rel="noopener" class="external-link"&gt;Budha Bhattacharya (Tyk)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mlunadia" target="_blank" rel="noopener" class="external-link"&gt;Miguel Luna (Elastic)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/avillela" target="_blank" rel="noopener" class="external-link"&gt;Adriana Villela (Dynatrace)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dattto" target="_blank" rel="noopener" class="external-link"&gt;David Gohberg (Monday)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/esara" target="_blank" rel="noopener" class="external-link"&gt;Endre Sara (Causely)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/braydonk" target="_blank" rel="noopener" class="external-link"&gt;Braydon Kains (Google)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ChrsMark" target="_blank" rel="noopener" class="external-link"&gt;Christos Markou (Elastic)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/reese-lee" target="_blank" rel="noopener" class="external-link"&gt;Reese Lee (New Relic)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、以下の方々に特別な感謝を捧げます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/reese-lee" target="_blank" rel="noopener" class="external-link"&gt;Reese Lee&lt;/a&gt;：共同インタビュアー&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/henrikrexed" target="_blank" rel="noopener" class="external-link"&gt;Henrik Rexed&lt;/a&gt;：音声・映像収録機材の提供と、撮影素材の初期編集&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="video"&gt;動画&lt;a class="td-heading-self-link" href="#video" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;フルバージョンの録画はこちらからご覧いただけます。&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/TIMgKXCeiyQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;&lt;br/&gt;これまで OpenTelemetry に貢献してくださったすべての方々に感謝します。
2025年以降も皆さんの継続的な貢献を楽しみにしています！🎉&lt;/p&gt;</description></item><item><title>OpenTelemetry Spring Boot スターターが安定版になりました</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/spring-starter-stable/</link><pubDate>Mon, 15 Jun 2026 23:13:48 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/spring-starter-stable/</guid><description>&lt;p&gt;OpenTelemetry Spring Boot スターターが安定版になったことをお知らせします。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://spring.io/projects/spring-boot" target="_blank" rel="noopener" class="external-link"&gt;Spring Boot&lt;/a&gt; スターターは、Spring Boot アプリケーションを OpenTelemetry で計装するプロセスを簡素化する強力なツールです。
OpenTelemetry Java エージェントに対する軽量で柔軟な代替手段を提供し、Spring Boot アプリケーションのオブザーバビリティをこれまで以上に簡単に実現できるようにします。&lt;/p&gt;
&lt;p&gt;このブログ記事では、Spring スターターをいつ使用すべきか、安定版であるとはどういう意味か、主な機能は何か、そしてどのような課題に直面したかを説明します。
最後のパートでは、&lt;a href="https://www.graalvm.org/latest/reference-manual/native-image/" target="_blank" rel="noopener" class="external-link"&gt;GraalVM ネイティブイメージ&lt;/a&gt;アプリケーションを使用して、スターターの機能の一部をデモンストレーションします。&lt;/p&gt;
&lt;p&gt;すぐに始めたい場合は、&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/zero-code/java/spring-boot-starter/"&gt;Spring スターターのドキュメント&lt;/a&gt;をご覧ください。&lt;/p&gt;
&lt;h2 id="when-to-use-the-spring-starter"&gt;Spring スターターを使用するタイミング&lt;a class="td-heading-self-link" href="#when-to-use-the-spring-starter" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Spring スターターを使用したいシナリオをいくつか紹介します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenTelemetry Java エージェントが動作しない &lt;strong&gt;Spring Boot ネイティブイメージ&lt;/strong&gt;アプリケーション&lt;/li&gt;
&lt;li&gt;OpenTelemetry Java エージェントの&lt;strong&gt;起動オーバーヘッド&lt;/strong&gt;が要件を超える場合&lt;/li&gt;
&lt;li&gt;別の監視用 Java エージェントがすでに使用されており、OpenTelemetry Java エージェントとの互換性の問題が発生している場合&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spring Boot 設定ファイル&lt;/strong&gt;（&lt;code&gt;application.properties&lt;/code&gt;、&lt;code&gt;application.yml&lt;/code&gt;）を使用して OpenTelemetry Spring Boot スターターを設定する場合（OpenTelemetry Java エージェントでは動作しません）&lt;/li&gt;
&lt;li&gt;Spring Bean を使用した OpenTelemetry Spring Boot スターターの&lt;strong&gt;プログラムによる設定&lt;/strong&gt;、たとえば&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/zero-code/java/spring-boot-starter/programmatic-configuration/#configure-the-exporter-programmatically"&gt;動的な認証ヘッダー&lt;/a&gt;など（OpenTelemetry Java エージェントではこのために&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/zero-code/java/agent/extensions/"&gt;エクステンション&lt;/a&gt;が必要です）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コード依存関係を使用&lt;/strong&gt;: JVM オプション（たとえば Docker ファイル内）を追加する必要がなく、&lt;code&gt;pom.xml&lt;/code&gt; または &lt;code&gt;build.gradle&lt;/code&gt; ファイルに依存関係と BOM を追加するだけです&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;少し意外かもしれませんが、Spring ネイティブイメージアプリケーションをビルドしない場合、デフォルトの推奨は、バイトコード計装を備えた &lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/zero-code/java/agent/"&gt;&lt;strong&gt;OpenTelemetry Java エージェント&lt;/strong&gt;&lt;/a&gt;を使用することです。
後で説明するように、Spring スターターの計装よりも多くのすぐに使える計装を提供するためです。&lt;/p&gt;</description></item><item><title>Prometheus と OpenTelemetry - ともに、より良く</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/prom-and-otel/</link><pubDate>Mon, 15 Jun 2026 23:13:47 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2024/prom-and-otel/</guid><description>&lt;img src="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2024/prom-and-otel/Prom-and-otel-logos.png" alt="ギリシャの神がトーチを持ち、Prometheus ロゴと OTel ロゴが描かれた画像"&gt;&lt;p&gt;&lt;a href="https://prometheus.io/" target="_blank" rel="noopener" class="external-link"&gt;Prometheus&lt;/a&gt; や &lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/what-is-opentelemetry/"&gt;OpenTelemetry&lt;/a&gt; のようなツールは、複雑な分散システムの健全性、パフォーマンス、可用性の監視に役立ちます。
どちらも &lt;a href="https://www.cncf.io/" target="_blank" rel="noopener" class="external-link"&gt;Cloud Native Computing Foundation (CNCF)&lt;/a&gt; 傘下のオープンソースプロジェクトですが、オブザーバビリティにおいてそれぞれどのような役割を果たしているのでしょうか。&lt;/p&gt;
&lt;p&gt;OpenTelemetry（略称 OTel）は、テレメトリーデータの計装、生成、収集、エクスポートのためのベンダー中立なオープン標準です。
Prometheus はオブザーバビリティの分野で定番のツールであり、組織内の監視とアラートに広く利用されています。&lt;/p&gt;
&lt;p&gt;Prometheus と OTel はどちらもメトリクスを出力しますが、両者の違いと類似点については多くのことがあり、この記事の範囲外です。
ここでは、OTel がどのように Prometheus をサポートしているか、特に Kubernetes 環境での連携に焦点を当てて紹介します。
この記事で学べること：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OTel Collector の &lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/dbdb56d285d860849323346d58c83b14c1ed6c62/receiver/prometheusreceiver?from_branch=main" target="_blank" rel="noopener" class="external-link"&gt;Prometheus レシーバー&lt;/a&gt; を使って Prometheus メトリクスを取り込む方法。&lt;/li&gt;
&lt;li&gt;K8s クラスターレシーバーや Kubelet 統計レシーバーなど、OTel ネイティブのオプションによる Prometheus メトリクス収集の代替手段。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また、OTel Operator の Target Allocator（TA）について技術的に掘り下げ、以下を学びます：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prometheus のサービスディスカバリにどのように活用できるか。&lt;/li&gt;
&lt;li&gt;Prometheus ターゲットの均等な分配をどのように実現するか。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="otel-and-prometheus"&gt;OTel と Prometheus&lt;a class="td-heading-self-link" href="#otel-and-prometheus" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OTel は主にオブザーバビリティの計装部分に焦点を当てているため、テレメトリーを保存するバックエンドは提供していません。
データの保存、アラート、クエリのためにバックエンドベンダーにデータを転送する必要があります。&lt;/p&gt;
&lt;p&gt;一方、Prometheus は計装クライアントに加えて、メトリクス用の時系列データストアを提供します。
グラフやチャートの表示、アラートの設定、Web ユーザーインターフェイスを通じたデータのクエリが可能です。
また、&lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/#exposition-formats" target="_blank" rel="noopener" class="external-link"&gt;Prometheus テキストベースのエクスポジションフォーマット&lt;/a&gt;として知られるデータフォーマットも含んでいます。&lt;/p&gt;
&lt;p&gt;Prometheus の &lt;em&gt;データ&lt;/em&gt; はディメンショナル時系列として保存されます。
つまり、データには属性（たとえばラベルやディメンション）とタイムスタンプがあります。&lt;/p&gt;
&lt;p&gt;Prometheus &lt;em&gt;サーバー&lt;/em&gt; は、設定ファイルで定義されたターゲットから Prometheus メトリクスデータを収集します。
ターゲットとは、Prometheus サーバーが保存するメトリクスを公開するエンドポイントのことです。&lt;/p&gt;</description></item><item><title>KubeCon + CloudNativeCon Japan 2025で、 OpenTelemetryのトークとアクティビティに参加しよう</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/kubecon-japan/</link><pubDate>Mon, 15 Jun 2026 23:11:08 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/kubecon-japan/</guid><description>&lt;p&gt;OpenTelemetryプロジェクトは、&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/?utm_source=opentelemetry&amp;amp;utm_medium=website&amp;amp;utm_content=blog" target="_blank" rel="noopener" class="external-link"&gt;KubeCon + CloudNativeCon Japan&lt;/a&gt;（&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/register/?utm_source=opentelemetry&amp;amp;utm_medium=website&amp;amp;utm_content=blog" target="_blank" rel="noopener" class="external-link"&gt;参加登録&lt;/a&gt;）
および東京で同時開催される&lt;a href="https://community.cncf.io/events/details/cncf-cloud-native-community-japan-presents-japan-community-day-at-kubecon-cloudnativecon-japan-2025/" target="_blank" rel="noopener" class="external-link"&gt;Community Day&lt;/a&gt;（2025年6月14日〜17日）で、OpenTelemetryコミュニティのメンバーと一緒に過ごすことを皆さんにご案内します。&lt;/p&gt;
&lt;p&gt;この記事では、KubeCon期間中に予定されているOpenTelemetry関連のすべてのアクティビティを紹介しています。カンファレンス開始前に、随時更新情報をチェックしてください！&lt;/p&gt;
&lt;h2 id="community-day"&gt;Community Day&lt;a class="td-heading-self-link" href="#community-day" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;これは6月15日に開催される &lt;strong&gt;無料&lt;/strong&gt; のイベントで、本カンファレンスに先立ち、クラウドネイティブコミュニティと交流する貴重な機会です。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://community.cncf.io/events/details/cncf-cloud-native-community-japan-presents-japan-community-day-at-kubecon-cloudnativecon-japan-2025/" target="_blank" rel="noopener" class="external-link"&gt;Community Day&lt;/a&gt;では、KubeCon + CloudNativeCon Japanの参加者と、さまざまな地域ミートアップコミュニティ、Special Interest Group（SIG）やCloud Native Community Japanのサブグループのメンバーが一堂に会し、クラウドネイティブエコシステムにおける協業、学び、貢献を促進します。
このイベントは、クラウドネイティブ開発やコミュニティ参加のさまざまな側面を対象とする複数のテーマ・トラックに分かれて構成されています。
今すぐ登録しましょう！&lt;/p&gt;
&lt;h2 id="kubecon-talks"&gt;KubeConトーク一覧&lt;a class="td-heading-self-link" href="#kubecon-talks" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://sched.co/1yFEh" target="_blank" rel="noopener" class="external-link"&gt;⚡ Lightning Talk: OTel 2025: The Latest Milestones and What’s Next&lt;/a&gt;&lt;/strong&gt;（OTel 2025：最新の進展と今後の展望）&lt;br&gt;
Steve Flanders（Contributor）&lt;br&gt; 6月17日（火）• 11:51 - 11:56&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://sched.co/1x71a" target="_blank" rel="noopener" class="external-link"&gt;Full Lifecycle API Management in Kubernetes With Envoy and WebAssembly&lt;/a&gt;&lt;/strong&gt;（EnvoyとWebAssemblyを使ったKubernetesでのフルライフサイクルAPI管理）&lt;br&gt;
Brandon Kang（Akamai Technologies）&amp;amp; Mostafa Radwan（Datadog）&lt;br&gt; 6月17日（火）• 14:10 - 14:40&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://sched.co/1x71d" target="_blank" rel="noopener" class="external-link"&gt;Navigating Millions of Kafka Events in Real Time With OTel&lt;/a&gt;&lt;/strong&gt;（OTelで数百万のKafkaイベントをリアルタイム処理）&lt;br&gt;
Siddharth Vijay（Baazi Games）&amp;amp; Shivay Lamba（Couchbase）&lt;br&gt; 6月17日（火）• 14:10 -14:40&lt;/p&gt;</description></item><item><title>OTel ブループリントとリファレンス実装の紹介</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/blueprints-intro/</link><pubDate>Sun, 14 Jun 2026 18:49:28 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/blueprints-intro/</guid><description>&lt;p&gt;OpenTelemetry を導入するエンドユーザーが、その過程のどこかで &lt;em&gt;「なぜこんなに複雑なんだ?」&lt;/em&gt; と自問することは珍しくありません。
本格的な導入には、通常、SDK のさまざまな設定方法、複数のコレクターのデプロイメント、データパイプライン、計装ライブラリ、セマンティック規約レジストリ、多くの異なるプログラミング言語にわたる手動計装用 API、その他多数の可動部分を理解する必要があります。&lt;/p&gt;
&lt;p&gt;これらの可動部分は単独で動作するわけでもありません。
組織のソフトウェアシステムを標準的で高品質なテレメトリーで記述するための統合ソリューションの一部として、互いに上手く連携する必要があります。
これに失敗すると、OpenTelemetry が解決しようとしていたまさにその問題、すなわちスタック全体で異なるセマンティック規約が使われた断片的なテレメトリー、サービスとシグナル間のコンテキスト伝搬の欠如、不必要に大量のデータ量……、要するに必要なものとは正反対の、品質の低いテレメトリーに行き着くリスクがあります。&lt;/p&gt;
&lt;p&gt;プロジェクトが進化して安定するにつれて、また大規模な本番環境で OpenTelemetry を導入するエンドユーザーが増えるにつれて、同じフィードバックを耳にし続けてきました。
エンドユーザーは、プロジェクトとそのメンテナーが推奨する、規範的で意見の明確な「OpenTelemetry のデプロイ方法」(これが何を意味するかは解釈次第) を求めています。
彼らは、&lt;em&gt;自分たち&lt;/em&gt; のオブザーバビリティの課題を &lt;em&gt;最もシンプルな&lt;/em&gt; 方法で解決するのに必要なコンポーネントを構成するための一連の手順に従いたいのであって、それ以上を望んでいるわけではありません。&lt;/p&gt;
&lt;p&gt;皆さんの声を聞き、私たちは耳を傾けました。
End User SIG が Developer Experience SIG と協力して推進する新しい取り組み、&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/guidance/"&gt;ブループリントとリファレンス実装&lt;/a&gt; を発表できることをうれしく思います。&lt;/p&gt;
&lt;h2 id="the-source-of-complexity-and-the-need-for-blueprints"&gt;複雑性の源とブループリントの必要性&lt;a class="td-heading-self-link" href="#the-source-of-complexity-and-the-need-for-blueprints" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;最初の問いに戻りましょう。&lt;em&gt;「なぜこんなに複雑なんだ?」&lt;/em&gt;。
1986 年に書かれた Fred Brooks の論文 &lt;a href="https://en.wikipedia.org/wiki/No_Silver_Bullet" target="_blank" rel="noopener" class="external-link"&gt;&lt;em&gt;銀の弾などない —ソフトウェア工学における本質と偶有&lt;/em&gt;&lt;/a&gt; で説明されている用語を用いると、OTel 導入の複雑性は 2 つに分けられます。&lt;em&gt;本質的&lt;/em&gt; なものと、より頻繁に見られる &lt;em&gt;偶有的&lt;/em&gt; なものです。&lt;/p&gt;
&lt;h3 id="essential-complexity"&gt;本質的な複雑性&lt;a class="td-heading-self-link" href="#essential-complexity" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;OTel の複雑性の &lt;em&gt;本質的&lt;/em&gt; な部分、つまりその設計に内在する部分は、主にその幅広さと横断的な性質に起因します。
OpenTelemetry はスタックのほぼすべての部分、つまりクライアントサイド(ブラウザやモバイル)からアプリケーション、Kubernetes、インフラ、データベースなどに触れます。
私たちのドキュメントはこれらの各コンポーネントがどのように動作するかを説明するのに優れており、&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/languages/sdk-configuration/declarative-configuration/"&gt;宣言的設定&lt;/a&gt;や&lt;a href="https://github.com/open-telemetry/opentelemetry-injector" target="_blank" rel="noopener" class="external-link"&gt;Injector&lt;/a&gt;といった新しい開発、そして長年存在している &lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ja/docs/platforms/kubernetes/operator/"&gt;OpenTelemetry Operator&lt;/a&gt; により、これらすべてのコンポーネントにわたる統合された設定を適用することは容易になりました。
しかし、依然としてこれは非常に大きなデプロイ対象であり、一貫性を達成する必要があり、ほとんどの場合、単一のチームでは扱えないという事実は変わりません。&lt;/p&gt;
&lt;p&gt;OpenTelemetry はまた、単一のソリューションに限定されず、任意のバックエンドで動作するように設計されています。
スタックに事前構築済みのエージェントを投入してデータが流れるのを見るという古いモデルは魅力的かもしれませんが、データの主権を維持する必要のある現代のシステムに必要な柔軟性に欠けています。
OpenTelemetry の柔軟性により、エンドユーザーはデータがどのように生成され、最終的にどこに保存されるかにかかわらず、自分自身のデータを制御できますが、この柔軟性は幅広さとあいまってさらなる複雑性をもたらす可能性があります。&lt;/p&gt;
&lt;p&gt;要約すると、OTel は大規模に適用すると &lt;em&gt;本質的&lt;/em&gt; に複雑になることがあり、これは通常もっともな理由によるものです。&lt;/p&gt;</description></item><item><title>LLM 呼び出しの内側: OpenTelemetry による GenAI オブザーバビリティ</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/genai-observability/</link><pubDate>Fri, 05 Jun 2026 16:58:42 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/genai-observability/</guid><description>&lt;p&gt;AI エージェントに単純な質問をしたら、回答までに 45 秒もかかった、ということを想像してみてください。
原因はモデルでしょうか。
それともツール呼び出しが遅かったのでしょうか。
あるいはリトライのループに陥っていたのでしょうか。
アプリケーションが LLM を呼び出すたびに、モデル呼び出し、ツール実行、トークンのやり取りといった一連の処理が裏側で起きています。
オブザーバビリティがなければ、原因は推測するしかありません。&lt;/p&gt;
&lt;p&gt;OpenTelemetry の &lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/docs/specs/semconv/gen-ai/"&gt;Generative AI 向けセマンティック規約&lt;/a&gt; は、この内側を可視化します。
GenAI 操作の記録方法を標準化しており、呼び出されたモデル、入出力のトークン数、そして明示的に有効化した場合にはプロンプト、応答、ツール呼び出し、ツールの実行結果の中身までを記録します。&lt;/p&gt;
&lt;p&gt;この記事では、以下を順に紹介します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LLM を活用したアプリケーションから GenAI のテレメトリーをエクスポートする。&lt;/li&gt;
&lt;li&gt;そのテレメトリーを受信して表示できるよう、オブザーバビリティツールを設定する。&lt;/li&gt;
&lt;li&gt;GenAI ビジュアライザーを使って、GenAI のトレース、メトリクス、イベントを探索する。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="exporting-genai-telemetry"&gt;GenAI テレメトリーをエクスポートする&lt;a class="td-heading-self-link" href="#exporting-genai-telemetry" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;このチュートリアルでは、多くの開発者がすでにインストール済みであることから、テレメトリーを発生させるツールとして VS Code Copilot を使います。
ただし、多くのコーディングアシスタントが OpenTelemetry によるモニタリングをサポートしています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/copilot/guides/monitoring-agents" target="_blank" rel="noopener" class="external-link"&gt;VS Code Copilot&lt;/a&gt; は、エージェントとのやり取りごとにトレース、メトリクス、イベントを出力します。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.openai.com/codex/config-advanced#observability-and-telemetry" target="_blank" rel="noopener" class="external-link"&gt;OpenAI Codex&lt;/a&gt; は、API リクエスト、ツール呼び出し、セッションについて、構造化ログイベントと OTel メトリクスをエクスポートします。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.claude.com/docs/en/monitoring-usage" target="_blank" rel="noopener" class="external-link"&gt;Claude Code&lt;/a&gt; は OTel でメトリクスとログイベントをエクスポートし、トレース対応はベータ版で提供されています。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;すでに使っているツールをモニタリングするだけでなく、自分の GenAI アプリケーションに OpenTelemetry を組み込めば、LLM とのやり取りの様子を可視化できます。&lt;/p&gt;
&lt;h3 id="configure-telemetry-export"&gt;テレメトリーエクスポートを設定する&lt;a class="td-heading-self-link" href="#configure-telemetry-export" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;テレメトリーをエクスポートするには、いくつかの設定が必要です。
&lt;a href="https://code.visualstudio.com/docs/copilot/guides/monitoring-agents" target="_blank" rel="noopener" class="external-link"&gt;VS Code Copilot&lt;/a&gt; の場合は、設定画面を開いて &lt;code&gt;copilot otel&lt;/code&gt; で検索してください。&lt;/p&gt;</description></item><item><title>OpenTracing 互換性要件の非推奨化</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/deprecating-opentracing-compatibility/</link><pubDate>Fri, 05 Jun 2026 16:09:11 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/deprecating-opentracing-compatibility/</guid><description>&lt;p&gt;2026年3月19日、OpenTelemetry Specification プロジェクトは &lt;a href="https://github.com/open-telemetry/opentelemetry-specification/pull/4938" target="_blank" rel="noopener" class="external-link"&gt;PR #4938&lt;/a&gt; をマージし、仕様における OpenTracing 互換性要件を非推奨としました。&lt;/p&gt;
&lt;p&gt;この変更は、エコシステムがすでに到達している状況に合わせて仕様を更新するものです。
OpenTracing は何年も前にアーカイブされており、新しいインテグレーションは、OpenTracing のシム要件の上に構築するのではなく、ネイティブの OpenTelemetry API および SDK を使用することが期待されています。&lt;/p&gt;
&lt;p&gt;これは仕様要件の非推奨化であり、互換性に関する記述を即座に削除するものでも、既存のシムの成果物を今すぐ削除することを求めるものでもありません。&lt;/p&gt;
&lt;h2 id="what-is-changing"&gt;何が変わるのか&lt;a class="td-heading-self-link" href="#what-is-changing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;仕様における OpenTracing 互換性要件が非推奨になります。&lt;/li&gt;
&lt;li&gt;新しい SDK や実装において、新たに OpenTracing 互換性を実装することはもはや必須ではありません。&lt;/li&gt;
&lt;li&gt;既存の OpenTracing シムは、非推奨期間中、後方互換性のために引き続きサポートできます。&lt;/li&gt;
&lt;li&gt;新しい作業では、新たな OpenTracing への依存を導入するのではなく、ネイティブの OpenTelemetry API、SDK、および OTLP ベースのワークフローを対象とすべきです。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="why-now"&gt;なぜ今なのか&lt;a class="td-heading-self-link" href="#why-now" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenTracing 自体は何年も前にアーカイブされており、エコシステムでの採用はネイティブの OpenTelemetry API と OTLP ベースのワークフローに収束してきました。
このプロジェクトには、&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/pull/4715" target="_blank" rel="noopener" class="external-link"&gt;PR #4715&lt;/a&gt; での Zipkin エクスポーターの非推奨化など、過去の非推奨化作業から、こうした段階的なアプローチの前例もあります。&lt;/p&gt;
&lt;h2 id="timeline-and-policy"&gt;タイムラインとポリシー&lt;a class="td-heading-self-link" href="#timeline-and-policy" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;仕様の非推奨化&lt;/strong&gt;: &lt;strong&gt;2026年3月&lt;/strong&gt;より有効。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;仕様からの最も早い削除時期&lt;/strong&gt;: マージされた仕様本文に記載のとおり、&lt;strong&gt;2027年3月より前にはなりません&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-should-users-do"&gt;ユーザーは何をすべきか&lt;a class="td-heading-self-link" href="#what-should-users-do" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;まだ OpenTracing シムに依存している場合、今こそネイティブの OpenTelemetry API および SDK への移行を計画する良い時期です。&lt;/p&gt;</description></item><item><title>宣言的設定のジャーニー: トレースにおけるヘルスチェックエンドポイントを無視するのに5年かかった理由</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/declarative-config/</link><pubDate>Fri, 05 Jun 2026 16:08:55 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/declarative-config/</guid><description>&lt;p&gt;過去数年間にわたり、Java OpenTelemetryに対する最も持続的に人気のある機能リクエストのひとつは、効率的に&lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/1060" target="_blank" rel="noopener" class="external-link"&gt;ヘルスチェックエンドポイントのスパンをドロップする&lt;/a&gt;（またはその他の価値が低くコストのかかるエンドポイントをドロップする）機能でした。
このイシューは2020年8月に最初に提起されましたが、驚くほど長い間、包括的なソリューションは見つかりませんでした。
なぜこの一見単純な問題を解決するのに5年もかかったのでしょうか？
その答えは、OpenTelemetryの設定システムの基本原則と、より堅牢で柔軟なアプローチである宣言的設定へのジャーニーにあります。&lt;/p&gt;
&lt;p&gt;OpenTelemetryは、当初から設定のために環境変数に依存していました。
これは環境変数が言語を問わず普遍的に利用可能であり、解析が容易であるという理由からの選択でした。
しかし、より複雑な設定のユースケースの必要性が高まるにつれて、単純な文字列ベースの環境変数の制限がますます明らかになり、高度な設定の管理が煩雑かつ困難になりました。&lt;/p&gt;
&lt;p&gt;宣言的設定の導入は、YAMLファイルを活用してOpenTelemetryの設定を定義する強力な進化です。
この変化により、任意のツリー構造のソースからデータを読み取ることが可能になり、複雑な設定へのアプローチが根本的に変わります。
このポストを通じて、宣言的設定が過去の課題に対してどのようにエレガントなソリューションを提供するかを探り、Javaにおけるヘルスチェック除外などの実用的なユースケースでその即時的な影響を示します。&lt;/p&gt;
&lt;h2 id="getting-started"&gt;はじめに&lt;a class="td-heading-self-link" href="#getting-started" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;設定ファイルは言語に依存しないため、一度ファイルを作成すれば、すべてのSDKで使用できます。
唯一の例外は、特定の言語名を持ち、その言語にのみ関連するパラメーターです（たとえば&lt;code&gt;instrumentation/development.java.spring_batch&lt;/code&gt;パラメーター）。&lt;/p&gt;
&lt;p&gt;宣言的設定は &lt;strong&gt;実験的&lt;/strong&gt; であるため、まだ変更される可能性があることに注意してください。&lt;/p&gt;
&lt;p&gt;次の例は、開始するために使用できる基本的な設定ファイルです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;file_format&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;1.0-rc.1&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;attributes_list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${OTEL_RESOURCE_ATTRIBUTES}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;detection/development&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;detectors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;service&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# OTEL_SERVICE_NAMEから&amp;#34;service.instance.id&amp;#34;と&amp;#34;service.name&amp;#34;を追加します&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;propagator&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;composite&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;tracecontext&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;baggage&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;tracer_provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;exporter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp_http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-http://localhost:4318/v1/traces}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;meter_provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;readers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;periodic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;exporter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp_http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${OTEL_EXPORTER_OTLP_METRICS_ENDPOINT:-http://localhost:4318/v1/metrics}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;logger_provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;processors&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;batch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;exporter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;otlp_http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${OTEL_EXPORTER_OTLP_LOGS_ENDPOINT:-http://localhost:4318/v1/logs}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;実験的な宣言的設定オプションを有効にするには、アプリケーションに&lt;code&gt;OTEL_EXPERIMENTAL_CONFIG_FILE=/path/to/otel-config.yaml&lt;/code&gt;を渡すだけです。
この変数は、執筆時点ではJavaエージェントとJavaScriptでのみ機能します。&lt;/p&gt;</description></item><item><title>レガシー環境における OpenTelemetry セキュリティプラクティスの適用</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/security-legacy-environments/</link><pubDate>Fri, 05 Jun 2026 16:04:50 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/security-legacy-environments/</guid><description>&lt;p&gt;製造業をはじめとするレガシー環境において、組織がモダンなオブザーバビリティのアプローチを模索する中で、OpenTelemetry は注目を集めつつあります。
しかし、こうしたプラクティスを従来型のシステムに適用すると、これまでとは異なるセキュリティ上の課題が生じます。
レガシーインフラの制約は、セキュリティ制御をどこにどのように適用すべきかを根本的に変えてしまいます。&lt;/p&gt;
&lt;p&gt;レガシー環境や産業環境には、次のような特徴がよくみられます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;変更や計装が不可能なシステム&lt;/li&gt;
&lt;li&gt;長い機器のライフサイクルと限られたパッチ適用の機会&lt;/li&gt;
&lt;li&gt;フラットなネットワーク、もしくはセグメンテーションが弱いネットワーク&lt;/li&gt;
&lt;li&gt;一般的な &lt;a href="https://en.wikipedia.org/wiki/Personal_data" target="_blank" rel="noopener" class="external-link"&gt;PII&lt;/a&gt; ではない、機密性の高い運用データ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本記事では、こうした環境で OpenTelemetry を保護する際に何が異なるのか、そしてそれに応じてアプローチをどのように適応させればよいのかに焦点を当てます。&lt;/p&gt;
&lt;h2 id="why-legacy-environments-are-different"&gt;なぜレガシー環境は異なるのか&lt;a class="td-heading-self-link" href="#why-legacy-environments-are-different" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;クラウドネイティブシステムにおけるセキュリティのガイダンスは、次のような前提に立っています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サービスは計装可能である&lt;/li&gt;
&lt;li&gt;暗号化と認証はどこでも強制できる&lt;/li&gt;
&lt;li&gt;システムは定期的にパッチを適用できる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;レガシー環境や産業環境では、これらの前提が成り立たないことがよくあります。&lt;/p&gt;
&lt;p&gt;その結果、セキュリティはどこにでも理想的な制御を適用することではなくなります。
&lt;strong&gt;テレメトリーパイプラインの正しい場所に制御を配置し&lt;/strong&gt;、可視性とリスクのバランスを取ることが重要になります。&lt;/p&gt;
&lt;h2 id="security-challenges-unique-to-legacy-systems"&gt;レガシーシステム特有のセキュリティ課題&lt;a class="td-heading-self-link" href="#security-challenges-unique-to-legacy-systems" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="systems-cannot-be-modified"&gt;システムを変更できない&lt;a class="td-heading-self-link" href="#systems-cannot-be-modified" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;多くの産業システムは、エージェントを実行できず、モダンなライブラリをサポートできず、まったく変更できません。
これは次のことを意味します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ソースにおけるモダンな TLS や認証のサポートが限定的、あるいは一貫していない&lt;/li&gt;
&lt;li&gt;SDK を用いた直接的な計装ができない&lt;/li&gt;
&lt;li&gt;中継機能（Collector、ブリッジ、ログパイプライン）に依存する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ソースシステムがモダンな制御を強制できない場合、セキュリティの負担はより多く Collector、中継システム、ネットワーク境界へと移ります。&lt;/p&gt;
&lt;h3 id="weak-or-non-existent-network-segmentation"&gt;脆弱な、あるいは存在しないネットワークセグメンテーション&lt;a class="td-heading-self-link" href="#weak-or-non-existent-network-segmentation" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;レガシー環境のネットワークアーキテクチャは、モダンなオブザーバビリティを念頭に設計されていないことがよくあります。
セグメンテーションが最小限のフラットあるいは共有ネットワーク上で動作するものもあれば、レガシーなプロトコルが混在する深くネストされたネットワークに依存するものもあります。
いずれの場合も、テレメトリー収集を導入することで次のような事態が起こり得ます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;意図しないネットワークセグメントに対して新たな受信エンドポイントが露出する&lt;/li&gt;
&lt;li&gt;Collector やブリッジへの意図しない横方向アクセスが許容される&lt;/li&gt;
&lt;li&gt;これまで分離されていたゾーンの間に予期せぬ経路が生まれる&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;このような環境では、Collector の配置は Collector の設定と同じくらい重要です。
ネットワーク境界、ファイアウォール、プロトコルゲートウェイに対して Collector がどこに位置するのかを慎重に評価してください。&lt;/p&gt;
&lt;h3 id="limited-patching-and-long-lifecycles"&gt;限られたパッチ適用と長いライフサイクル&lt;a class="td-heading-self-link" href="#limited-patching-and-long-lifecycles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;産業システムはアップグレードなしで何年も稼働することがあります。
Collector の配置方法によって、パッチ適用の戦略は決まります。
一般的なモデルは 2 つあります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Collector を外部ブリッジとして配置する（推奨）:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Collector はレガシーシステムの境界の外側（別のホスト、VM、コンテナ上）で動作し、産業環境とオブザーバビリティバックエンドの間のブリッジとして機能します。
このモデルでは、次のような利点があります。&lt;/p&gt;</description></item><item><title>AIエージェントオブザーバビリティ - 標準の進化とベストプラクティス</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/ai-agent-observability/</link><pubDate>Tue, 26 May 2026 18:06:05 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/ai-agent-observability/</guid><description>&lt;h2 id="2025年aiエージェントの年"&gt;2025年、AIエージェントの年&lt;a class="td-heading-self-link" href="#2025%e5%b9%b4ai%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%81%ae%e5%b9%b4" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AIエージェントは、2025年の人工知能における次の大きな飛躍になりつつあります。
自律的なワークフローからインテリジェントな意思決定まで、AIエージェントは業界を横断する数多くのアプリケーションを強化するでしょう。
しかし、この進化に伴い、特に企業のニーズに合わせてこれらのエージェントを拡張する場合、AIエージェントのオブザーバビリティが非常に重要になります。
適切な監視、トレース、ロギングのメカニズムがなければ、AIエージェント駆動型アプリケーションの問題を診断し、効率を改善し、信頼性を確保することは困難です。&lt;/p&gt;
&lt;h3 id="aiエージェントとはなにか"&gt;AIエージェントとはなにか&lt;a class="td-heading-self-link" href="#ai%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%81%a8%e3%81%af%e3%81%aa%e3%81%ab%e3%81%8b" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;AIエージェントとは、LLMの能力、外界に接続するツール、高レベルの推論を組み合わせて使用し、望ましい最終目標や状態を達成するアプリケーションのことです。
別の言い方では、エージェントは、LLMが自身のプロセスやツールの使い方を動的に指示し、タスクを達成する方法を制御するシステムとして扱うこともできます。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2025/ai-agent-observability/ai-agent.png" alt="ReActの推論と計画を使ったRAGベースのサンプルアプリケーション"&gt;
&lt;small&gt;&lt;em&gt;Image credit&lt;/em&gt;:
&lt;a href="https://www.kaggle.com/whitepaper-agents" target="_blank" rel="noopener" class="external-link"&gt;Google AI Agent Whitepaper&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;AIエージェントについての情報は他にも以下を参照してください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://cloud.google.com/discover/what-are-ai-agents" target="_blank" rel="noopener" class="external-link"&gt;Google: What is an AI agent?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ibm.com/think/topics/ai-agents" target="_blank" rel="noopener" class="external-link"&gt;IBM: What are AI agents?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://news.microsoft.com/source/features/ai/ai-agents-what-they-are-and-how-theyll-change-the-way-we-work/" target="_blank" rel="noopener" class="external-link"&gt;MicroSoft: AI agents — what they are, and how they’ll change the way we work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/what-is/ai-agents/" target="_blank" rel="noopener" class="external-link"&gt;AWS: What are AI Agents?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.anthropic.com/research/building-effective-agents" target="_blank" rel="noopener" class="external-link"&gt;Anthropic: Building effective agents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="オブザーバビリティのかなたへ"&gt;オブザーバビリティのかなたへ&lt;a class="td-heading-self-link" href="#%e3%82%aa%e3%83%96%e3%82%b6%e3%83%bc%e3%83%90%e3%83%93%e3%83%aa%e3%83%86%e3%82%a3%e3%81%ae%e3%81%8b%e3%81%aa%e3%81%9f%e3%81%b8" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;通常、アプリケーションからのテレメトリーは、アプリケーションの監視とトラブルシューティングのために使用されます。
AIエージェントの場合、その非決定論的な性質から、テレメトリーは、評価ツールのインプットとして使用することで、エージェントの品質から継続的に学び、改善するためのフィードバックループとしても使用されます。&lt;/p&gt;
&lt;p&gt;生成AIのためのオブザーバビリティと評価ツールがさまざまなベンダーから提供されていることを考えると、ベンダーやフレームワーク固有のフォーマットによるロックインを避けるために、エージェントアプリによって生成されるテレメトリーの形状に関する標準を確立することが重要です。&lt;/p&gt;
&lt;h2 id="aiエージェントのオブザーバビリティの現状"&gt;AIエージェントのオブザーバビリティの現状&lt;a class="td-heading-self-link" href="#ai%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%81%ae%e3%82%aa%e3%83%96%e3%82%b6%e3%83%bc%e3%83%90%e3%83%93%e3%83%aa%e3%83%86%e3%82%a3%e3%81%ae%e7%8f%be%e7%8a%b6" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AIエージェントのエコシステムが成熟し続けるにつれて、標準化された強固なオブザーバビリティの必要性がより明らかになってきています。
いくつかのフレームワークが組み込みの計装を提供する一方で、他のフレームワークはオブザーバビリティツールとの統合に依存しています。
この断片的な状況は、&lt;a href="https://github.com/open-telemetry/community/blob/5125996b5d159ff9aaa906f9a25226a821dc7bed/projects/gen-ai.md?from_branch=main" target="_blank" rel="noopener" class="external-link"&gt;生成AIオブザーバビリティプロジェクト&lt;/a&gt;とOpenTelemetryの新たなセマンティック規約の重要性を強調しています。
これらは、テレメトリーデータがどのように収集され報告されるかを統一することを目的としています。&lt;/p&gt;
&lt;h3 id="aiエージェントアプリケーションとaiエージェントフレームワークの比較"&gt;AIエージェントアプリケーションとAIエージェントフレームワークの比較&lt;a class="td-heading-self-link" href="#ai%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%a8ai%e3%82%a8%e3%83%bc%e3%82%b8%e3%82%a7%e3%83%b3%e3%83%88%e3%83%95%e3%83%ac%e3%83%bc%e3%83%a0%e3%83%af%e3%83%bc%e3%82%af%e3%81%ae%e6%af%94%e8%bc%83" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;AIエージェントアプリケーション&lt;/strong&gt;と&lt;strong&gt;AIエージェントフレームワーク&lt;/strong&gt;を区別することは極めて重要です。&lt;/p&gt;</description></item><item><title>OpenTelemetry が CNCF の Graduated プロジェクトに</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/otel-graduates/</link><pubDate>Fri, 22 May 2026 19:35:22 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/otel-graduates/</guid><description>&lt;p&gt;本日、Cloud Native Computing Foundation（CNCF）は OpenTelemetry が Graduated になったことを
&lt;a href="https://www.cncf.io/announcements/2026/05/21/cloud-native-computing-foundation-announces-opentelemetrys-graduation-solidifying-status-as-the-de-facto-observability-standard/" target="_blank" rel="noopener" class="external-link"&gt;発表しました&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;Graduated はプロジェクトにとって重要なマイルストーンであり、OpenTelemetry のコミュニティとエコシステムの強さを反映するものです。
OpenTracing と OpenCensus の統合以降、数千人ものコントリビューター、メンテナー、エンドユーザー、そして多くの組織が、OpenTelemetry を業界全体で利用される、オープンでベンダーニュートラルなオブザーバビリティフレームワークへと育てる手助けをしてきました。&lt;/p&gt;
&lt;p&gt;このマイルストーンはコミュニティのものです。&lt;/p&gt;
&lt;p&gt;コード、ドキュメント、仕様、言語 SDK、セマンティック規約、バグ報告、レビュー、コミュニティサポート、アドボカシー、そしてエンドユーザー体験を寄せてくださったすべての方々に感謝します。
OpenTelemetry は、毎日プロジェクトに時間と専門知識を投じ続けてくれる人々のおかげで存在しています。&lt;/p&gt;
&lt;p&gt;また、Graduated のプロセスを通じて OpenTelemetry を支えてくださった CNCF コミュニティ、Technical Oversight Committee のスポンサー、そしてエンドユーザーの皆様にも感謝しています。&lt;/p&gt;
&lt;p&gt;Graduated はゴールではありません。
OpenTelemetry コミュニティは、グローバル規模のクラウドネイティブソフトウェアのために、相互運用可能で高品質なオブザーバビリティの標準とツールを構築することに、これからも取り組み続けます。&lt;/p&gt;
&lt;p&gt;この旅の一員でいてくださり、ありがとうございます。
この先に何が待っているのか、私たちはワクワクしています。&lt;/p&gt;</description></item><item><title>Ecosystem Explorer プロジェクトの紹介</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/introducing-the-ecosystem-explorer/</link><pubDate>Tue, 19 May 2026 21:31:49 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/introducing-the-ecosystem-explorer/</guid><description>&lt;p&gt;OpenTelemetry は広大です。
Java エージェントだけでも、240 を超えるさまざまな自動計装が含まれています。
Collector には数百ものコンポーネントがあります。
Python、JavaScript、Go、.NET には、それぞれ独自の計装ライブラリエコシステムがあり、それぞれに独自のパターンや規約があります。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2025/devex-survey/#key-takeaways"&gt;2025 Developer Experience Survey&lt;/a&gt; では、ユーザーは「ドキュメントをたどるのが難しく、OpenTelemetry ウェブサイトと GitHub リポジトリを行き来する必要がある」、また「さまざまな情報源から情報をつなぎ合わせなければならない」ことが多いと回答しました。
主要な情報源として &lt;a href="https://opentelemetry.io" target="_blank" rel="noopener" class="external-link"&gt;opentelemetry.io&lt;/a&gt; を利用しているユーザーは約半数にすぎず、それ以外のユーザーは GitHub、ベンダードキュメント、あるいは答えを見つけられる場所を参照しています。&lt;/p&gt;
&lt;p&gt;そして、ドキュメントを見つけられたとしても、それが基本的な疑問に答えてくれるとは限りません。
実際にどのテレメトリーシグナルを受け取ることになるのでしょうか。
&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2024/otel-get-started-survey/"&gt;OpenTelemetry Getting Started Survey&lt;/a&gt; では、回答者の 65% が、計装が実際に何を生成するのかを示すリファレンス実装を求めていることがわかりました。
&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2026/2025-year-in-review/#ecosystem-explorer-unlocking-the-power-of-our-metadata"&gt;OpenTelemetry 2025 Year in Review post&lt;/a&gt; で述べられているように、既存の &lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/ecosystem/registry/"&gt;OpenTelemetry Registry&lt;/a&gt; はユーザーがコンポーネントを見つける助けになりますが、次のような疑問に答えるために「必要な情報の深さを常に提供しているわけではありません」。
どのライブラリが計装されているのか。
どのスパン、メトリクス、属性を出力するのか。
それはバージョンごとにどのように変わるのか。&lt;/p&gt;
&lt;p&gt;OpenTelemetry の導入の中心には、根本的なジレンマがあります。
あるコンポーネントがどのテレメトリーを生成するのか（どのスパン、メトリクス、属性なのか）を理解するには、多くの場合、まずそれをデプロイしなければなりません。
OpenTelemetry が自分たちのニーズに合うか評価している人に、それを求めるのは大きな負担です。&lt;/p&gt;
&lt;p&gt;私たちはそれを解決するものを構築しています。
約 1 年にわたってプロトタイプに取り組んだ後、新しいサイトが &lt;a href="https://explorer.opentelemetry.io/" target="_blank" rel="noopener" class="external-link"&gt;explorer.opentelemetry.io&lt;/a&gt; で公開されましたが、まだまだ開発途上です。&lt;/p&gt;
&lt;h2 id="the-java-agent-ecosystem"&gt;Java エージェントエコシステム&lt;a class="td-heading-self-link" href="#the-java-agent-ecosystem" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Java エージェントは、私たちが最初に完全にマッピングしたエコシステムです。
240 を超える計装が&lt;a href="https://explorer.opentelemetry.io/java-agent/instrumentation/latest" target="_blank" rel="noopener" class="external-link"&gt;インデックス化され、検索可能&lt;/a&gt;になっています。
名前で閲覧したり、計装タイプでフィルタリングしたり、各計装が出力するスパン、メトリクス、属性を正確に示す詳細ページを掘り下げたりできます。
設定オプションはドキュメント化され、それが影響するテレメトリーにマッピングされています。&lt;/p&gt;
&lt;img src="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2026/introducing-the-ecosystem-explorer/vertx-telemetry.png" alt="テレメトリー概要の例"&gt;&lt;p&gt;バージョンサポートも組み込まれています。
Explorer は複数の Java エージェントリリースを追跡するため、特定のバージョンがどのテレメトリーを生成するのか、あるいはバージョン間で何が変わったのかを確認できます。
これは、アップグレードを計画するときや、リリース後にテレメトリーの見え方が変わった理由をデバッグするときに特に役立ちます。&lt;/p&gt;
&lt;img src="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2026/introducing-the-ecosystem-explorer/vertx-comparison.png" alt="バージョン比較の例"&gt;&lt;p&gt;毎晩実行される自動化があります。
新しい Java エージェントバージョンがリリースされると、パイプラインがそれを検出し、メタデータを抽出し、レジストリを更新するため、手動での介入は不要です。&lt;/p&gt;
&lt;p&gt;Java で初期アプローチを検証しました。
今度は、新しいエコシステムへ拡張するための助けが必要です。&lt;/p&gt;</description></item><item><title>OpenTelemetry 日本コミュニティ向けアンケート</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/japanese-survey/</link><pubDate>Mon, 04 May 2026 09:31:32 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/japanese-survey/</guid><description>&lt;p&gt;このレポートは、日本の開発者やエンジニアにおける OTel の認知度、導入状況、コミュニティ参加の現状を把握するために実施された、OpenTelemetry 日本コミュニティ向けアンケートの結果をまとめたものです。
このアンケートは、開発、SRE、DevOps、プラットフォームエンジニアリングといった役割の実務者を対象とし、CNCF コミュニティチャネル、および X (旧 Twitter)、&lt;a href="https://qiita.com/" target="_blank" rel="noopener" class="external-link"&gt;Qiita&lt;/a&gt;、Zenn といった日本のソーシャルプラットフォームを通じて配布されました。
目的は、日本の技術エコシステムにおいて OTel の利用とエンゲージメントを意義ある形で拡大できる、データドリブンな戦略を立案することです。&lt;/p&gt;
&lt;h2 id="key-takeaways"&gt;主なポイント&lt;a class="td-heading-self-link" href="#key-takeaways" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OTel の導入については、本アンケートには成熟した層からの回答が集まりました。
61.47% がすでに本番環境で稼働させており、さらに 25.69% が評価中です。
両者を合わせると回答者の約 87% を占めます。&lt;/li&gt;
&lt;li&gt;シグナルの収集ではトレースが 93% で最も多く、メトリクスが先行する傾向にある世界の OTel アンケートとは対照的な結果となっています。&lt;/li&gt;
&lt;li&gt;コミュニティの満足度は高く、NPS は +49 を記録しました。
ただし 27.37% は中立 (パッシブ) であり、ドキュメントの改善やコミュニティへの働きかけによって、推奨者へと転換できる余地があります。&lt;/li&gt;
&lt;li&gt;Go のユーザーは導入への意欲が最も強く、評価段階の 39% と比較して本番運用が 76% と数値が跳ね上がっており、いずれの言語よりも大きな伸びを示しています。&lt;/li&gt;
&lt;li&gt;回答者の 86% がカンファレンスに参加していますが、KubeCon Japan 2025 への参加は 25% にとどまっており、今後の開催に向けて、まだリーチできていない大きな潜在層があることを示唆しています。&lt;/li&gt;
&lt;li&gt;Twitter/X は 2 番目に多く利用されている情報源 (83%) ですが、OpenTelemetry はそこに公式アカウントを持っておらず、また日本でよく使われている Zenn や Qiita にも存在感がありません。
日本の利用者と関わっていきたいのであれば、これに対処することを検討すべきです。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="demographics-and-background"&gt;回答者属性と背景&lt;a class="td-heading-self-link" href="#demographics-and-background" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;回答者の構成は &lt;strong&gt;開発チーム&lt;/strong&gt; に大きく偏っており (44.95%)、次いで SRE が 22.94% で 2 番目に大きなグループとなっています。
DevOps、プラットフォームエンジニアリング、セールスエンジニアリングが中位層を形成し、運用担当 (Operations) と専任のオブザーバビリティ担当を合わせても 7% 未満にとどまります。
地理的には、東京を含む &lt;strong&gt;関東地方&lt;/strong&gt; に大きく集中しており (76.15%)、近畿地方 (大阪・京都圏) が 12.84% で大きく離された 2 位となっています。
これは日本のテック産業における東京の存在感を考えれば驚くことではありませんが、これらの都市圏以外の日本の開発者層を完全に代表しているとは言えない可能性があることは、留意しておく必要があります。&lt;/p&gt;</description></item><item><title>Span Events APIの非推奨化</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/deprecating-span-events/</link><pubDate>Thu, 26 Mar 2026 19:22:32 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2026/deprecating-span-events/</guid><description>&lt;p&gt;OpenTelemetryはSpan Event APIを非推奨化します。
この記事では、この変更を行う理由、その概要、そして準備のために必要なことを説明します。
要約すると以下のとおりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;イベントを送信する2つの重複した方法（スパンイベントとログベースのイベント）によって生じる混乱と重複を解消したいと考えています。&lt;/li&gt;
&lt;li&gt;新しいコードは、現在のスパンに関連付けられたログとしてイベントを記録すべきです。&lt;/li&gt;
&lt;li&gt;古い「スパンイベント」スタイルは段階的に廃止されますが、スパン上のイベントを表示する既存のデータとビューは引き続き機能します。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="why-deprecate-the-span-event-api"&gt;なぜSpan Event APIを非推奨にするのか？&lt;a class="td-heading-self-link" href="#why-deprecate-the-span-event-api" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;現在、OpenTelemetryはトレースと相関するイベントを送信するための主要な方法を2つ提供しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/docs/specs/otel/trace/api"&gt;Tracing API&lt;/a&gt;の&lt;code&gt;Span.AddEvent&lt;/code&gt;または&lt;code&gt;Span.RecordException&lt;/code&gt;メソッドを使用して作成されるスパンイベント。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/docs/specs/otel/logs/api"&gt;Logs API&lt;/a&gt;を介して（直接、またはOpenTelemetryにブリッジされたロギングライブラリを通じて）送信され、アクティブなコンテキストに関連付けられるログベースのイベント。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;同じ概念に対して競合する2つのAPIを持つことには、いくつかの欠点があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;計装の作成者に対するガイダンスの分断。&lt;/strong&gt; ライブラリやフレームワークの作者は、非常に似たデータを送信するための2つの方法のいずれかを選択しなければなりません。
選択が異なると、エコシステム全体でユーザーエクスペリエンスに一貫性がなくなります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ユーザーにとっての重複した概念。&lt;/strong&gt; オペレーターはスパンイベントとログイベントの両方、それらのエクスポート方法、およびバックエンドでの扱いを理解しなければなりません。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;進化の遅延。&lt;/strong&gt; イベントモデルの改善（たとえば、スキーマ、属性、後方互換性に関するもの）は、2か所で仕様策定と実装が必要になります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;OpenTelemetryコミュニティは、よりシンプルなメンタルモデルへの収束を進めています。
&lt;strong&gt;イベントはLogs APIを介して送信される名前付きのログ&lt;/strong&gt;であり、スパン上の特別なケースとしてではなく、コンテキストを通じてトレースやメトリクスと相関するというモデルです。
この変更は、OpenTelemetryがイベントを表現する方法を統一するものとして重要です。
この方向性の背景については、以前のブログ記事&lt;a href="https://deploy-preview-9982--opentelemetry.netlify.app/blog/2025/opentelemetry-logging-and-you/"&gt;OpenTelemetry Logging and You&lt;/a&gt;を参照してください。&lt;/p&gt;
&lt;p&gt;同時に、スパンイベントが今日広く使用されていることも認識しています。
多くのバックエンドは専用のトレースビューでスパンイベントを表示しており、一部のユーザーは親スパンと同じOTLPエクスポートペイロードにイベントが含まれることに依存しています。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/fd43145dde7e5192ebc59a20992d98a3e6af5553/oteps/4430-span-event-api-deprecation-plan.md" target="_blank" rel="noopener" class="external-link"&gt;OTEP 4430: Span Event API非推奨化計画&lt;/a&gt;のプランは、以下の目標のバランスを取ることを目指しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;新しいイベントはLogs APIを通じて送信すべきという&lt;strong&gt;明確で一貫したガイダンス&lt;/strong&gt;の提供。&lt;/li&gt;
&lt;li&gt;互換性レイヤーを通じて、トレース内のスパンイベントに依存する&lt;strong&gt;既存のワークフローの保持&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり、スパンに付随するイベントを見る機能ではなく、スパンイベントを記録するための&lt;strong&gt;API&lt;/strong&gt;を非推奨化するということです。&lt;/p&gt;
&lt;h2 id="what-is-changing"&gt;何が変わるのか？&lt;a class="td-heading-self-link" href="#what-is-changing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;非推奨化は&lt;strong&gt;新しいイベントの記録方法&lt;/strong&gt;に焦点を当てています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ログベースのイベントに対するOTLPサポートはすでに安定しており、Logs APIはスパンイベントがこれまで持っていたすべてのものを、より豊富なメタデータとより柔軟なエクスポートおよびフィルタリング機能とともに記録できます。&lt;/li&gt;
&lt;li&gt;トレース仕様は、ログベースのイベントの送信を優先して&lt;code&gt;Span.AddEvent&lt;/code&gt;や&lt;code&gt;Span.RecordException&lt;/code&gt;などのAPIを非推奨化します。&lt;/li&gt;
&lt;li&gt;言語APIとSDKはログベースのイベントをファーストクラスとして扱い、必要に応じてそれらのイベントをスパンイベントとして表示できる互換性オプションを提供します。&lt;/li&gt;
&lt;li&gt;計装とセマンティック規約は、次のメジャーバージョンでスパンイベントからログベースのイベントへと段階的に移行しながら、それまでは既存の動作を安定した状態に保ちます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-stays-the-same"&gt;何が変わらないのか？&lt;a class="td-heading-self-link" href="#what-stays-the-same" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Span Event APIが非推奨化されても、ユーザーエクスペリエンスのいくつかの重要な側面は意図的に保持されます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;シグナル間の相関は同じように機能し続けます。&lt;/strong&gt; ログベースのイベントは引き続きOpenTelemetryコンテキストに関連付けられます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;既存のデータは有効なままです。&lt;/strong&gt; すでにスパンイベントを使用しているデータは、サポートされているOTLPトレースモデルの一部として残ります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;非推奨化は、新しいコードでイベントを送信する単一の推奨方法を提供するものであり、スパン上のイベントへの可視性を削除するものではありません。&lt;/p&gt;
&lt;h2 id="what-should-you-do"&gt;何をすべきか？&lt;a class="td-heading-self-link" href="#what-should-you-do" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;まず何より、この移行が安全で段階的であり、現在依存しているワークフローと互換性があるものにしたいと考えています。&lt;/p&gt;
&lt;p&gt;役割に応じて、今後の変更がどのように影響するか、そして何ができるかを以下に示します。&lt;/p&gt;</description></item><item><title>コントリビューターの募集: OpenTelemetry for Kotlin</title><link>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/kotlin-multiplatform-opentelemetry/</link><pubDate>Mon, 15 Dec 2025 21:01:52 +0900</pubDate><guid>https://deploy-preview-9982--opentelemetry.netlify.app/ja/blog/2025/kotlin-multiplatform-opentelemetry/</guid><description>&lt;h2 id="why-launch-opentelemetry-for-kotlin"&gt;なぜOpenTelemetry for Kotlinを立ち上げるのか？&lt;a class="td-heading-self-link" href="#why-launch-opentelemetry-for-kotlin" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.jetbrains.com/kotlin-multiplatform/" target="_blank" rel="noopener" class="external-link"&gt;Kotlin Multiplatform&lt;/a&gt;（KMP）は、ブラウザ、サーバー、デスクトップ環境など、さまざまなプラットフォームでKotlinのコードを実行できます。
従来、KotlinはAndroidとJVMで最も人気がありましたが、KMPの登場により、異なるプラットフォーム間でコードを共有するために使用するユーザーが着実に増加しています。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://embrace.io/" target="_blank" rel="noopener" class="external-link"&gt;Embrace&lt;/a&gt;は、KMPプロジェクトで使用できるOpenTelemetry仕様のKotlin実装を寄贈する&lt;a href="https://github.com/open-telemetry/community/issues/2975" target="_blank" rel="noopener" class="external-link"&gt;提案を公開&lt;/a&gt;しました。
これにより、KMPおよびKotlinプロジェクトは、1つのAPIで多くの異なるプラットフォーム向けのテレメトリーを取得できるようになります。
このAPIは、可能な限りプラットフォームに依存しないOpenTelemetryの実装として設計されており、AndroidとiOSの重要なユースケースに対応するため、モバイルフレンドリーであることを目指しています。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-java" target="_blank" rel="noopener" class="external-link"&gt;opentelemetry-java&lt;/a&gt;はJVM上で動作するKotlinアプリをサポートしていますが、これはJava相互運用に依存しており、Kotlinらしい慣用的なAPIだと「感じられません」。
さらに、opentelemetry-javaはJVM上でしか動作しませんが、Kotlinは非JVMターゲットにもデプロイできます。&lt;/p&gt;
&lt;h2 id="call-for-contributors"&gt;コントリビューターの募集&lt;a class="td-heading-self-link" href="#call-for-contributors" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kotlin MultiplatformでOpenTelemetryを使用することに興味がある方、ぜひご協力ください！
コードベースのメンテナンス、定期的なSpecial Interest Group（SIG）ミーティングへの参加、SDKの発展に貢献してくださるコントリビューターを募集しています。&lt;/p&gt;
&lt;p&gt;コントリビューターになることに興味がある方、または興味を持ちそうな方をご存知の方は、&lt;a href="https://github.com/open-telemetry/community/issues/2975" target="_blank" rel="noopener" class="external-link"&gt;寄贈の提案&lt;/a&gt;にコメントしてください。&lt;/p&gt;
&lt;p&gt;コントリビューターにはならないけれども、これまでのプロジェクトへのフィードバックや試用を &lt;em&gt;したい&lt;/em&gt; という方は、&lt;a href="https://github.com/embrace-io/opentelemetry-kotlin" target="_blank" rel="noopener" class="external-link"&gt;こちらのリポジトリ&lt;/a&gt;をご覧いただき、ご意見をissueとしてお寄せください。&lt;/p&gt;</description></item></channel></rss>