Observability updates: .NET in APM, Kubernetes monitoring, Metrics Explorer | Elastic Blog
リリース

"可観測性"の向上:APMの.NET対応やKubernetes監視機能、Metrics Explorerの登場ほか

Elasticはアプリやサービスの可用性、健全性、スピードを保つ運用技術者向けツールの改良に大きな情熱を注いでいます。こうした運用上の目的を"可観測性"と呼ぶ方も、そうでない方も、ぜひ本記事に目を通していただければと思います。

7.2よりElastic APMは.NETのサポートを開始し、待望の.NETエージェントもベータリリースされました。インフラ監視には"Metrics Explorer"が登場しました。Kibanaの"インフラストラクチャー"アプリに加わった新しいタイプのビューで、インフラメトリックのアドホックな操作性を高めるよう設計されています。さらにKubernetesの監視ツールも拡充されています。CoreDNSやCRI-Oなどクラウドネイティブなテクノロジー向けに複数の新しいデータ統合ツールをリリースしました。

バージョン7.2はElasticが提供する唯一のマネージドサービス、Elasticsearch Serviceで今すぐ使いはじめることができます。また、最新バージョンのElastic Stackをダウンロードして使いはじめることも可能です。

"可観測性"に対するElasticのアプローチ

"可観測性"という用語の背景にあるのは、システムやサービス、アプリケーションの健全性について一貫した可視性を重視する姿勢です。"可観測性"は、この業界では比較的新しい用語ですが、Elastic Stackが運用上のニーズから多くのユーザーに選ばれる主な理由をうまく捉えています。Elasticsearchはあらゆるものをインデックスとして扱うフレキシブルな性質を持ち、ログやメトリック、トレース、アップタイムメトリックなどをまとめて扱うことができます。従来は個々のオペレーショナルストアに格納され、それぞれ"異なる"データソースとして扱われていたものです。

あらゆるインフラログ、メトリック、アップタイムデータ、APMトレースをElastic Stackにまとめる

Elasticは"可観測性"領域に2つの戦略を導入しています。すなわち、可観測性という"柱"でクラス最上級のエクスペリエンスを提供しつつ、同時にユーザーへのデータストリーミングをより自然に、流動的にサポートするというものです。あらゆる可観測性データがElastic Common Schema(ECS)に従うよう、またすべてのKibanaアプリが1クリック操作とデータの相関付けワークフローに対応するよう設計されています。

Elastic Stackがもたらす可観測性

ワークブーツの代名詞的メーカーであるRed Wing Shoesは、製造現場のプロセスを一貫して可視化する取り組みや、eコマースサイトの健全性の維持、世界で600店を超える直営店舗の運営にElastic CloudのElasticsearch Serviceを活用しています。さらに同社の運営チームは、事業の成長戦略として新たなアプリとサービスをリリースする計画を進めています。副社長兼チーフインフォメーションオフィサーを務めるマーク・ケルミッシュ氏は次のように語りました。「IT運営の効率化に重点を置いたことで、緊密なチームによる各種の取り組みを実現することができました。有用な運営データをすべて1つのデータストアとUIインターフェースに入れたことで、実践可能なデータに基づいて問題のトリアージと解決を効率的に実施できています。Elastic Cloudのスタックは完全にマネージドなので、管理コストが安価です。Elastic Stackのデプロイやスケーリング、アップグレードもクリック1つで完了してしまいます」

可観測性が重要なトレンドとなっている背景について詳しくは、ブログ記事「Elastic Stackによる可観測性」にまとめています。

Elastic Stackバージョン7.2のプロダクト機能拡張は、可観測性についてより広範に、深く取り組んでいます。個々の内容を以下で詳しくご紹介しましょう。

Elastic APMが.NET、シングルページアプリ、エージェント固有メトリックをサポート

Elastic APMの.NET向けエージェントがプレビューからベータに移行しました。この.NETエージェントはASP.NET Core 2.x+およびEntity Framework Core 2.x+に自動のインストルメンテーションを追加する一方、パブリックエージェントAPIも提供しており、ユーザーが他のフレームワークを使って.NETアプリを手動で追加することも可能になっています。

.NETへのサポートはElastic APMで最もリクエストの多い内容の1つでした。今回サポート言語を拡充することができ、Elasticチームも嬉しく思っています。アンケートを通じて以前のバージョンへのフィードバックや、言語サポートの対応を優先してほしいという意見を寄せて下さったコミュニティのメンバーに、あらためてお礼申し上げます。

Elastic APMのRUM(リアルユーザー監視)エージェントはシングルページアプリケーション(SPA)のサポートを拡張するもので、ページロードトランザクションだけでなく、ルートチェンジトランザクションも捕捉することができます。SPAは、マルチページアプリケーション(MPA)でユーザーがページを移動する際にデータ要素を動的にレンダリングし、ユーザーエクスペリエンスの最適化や読み込み時間の高速化などの多数のメリットをもたらします。動的なレンダリングには、内部アプリのルート変更を調査してエンドユーザーエクスペリエンスを評価するなど、より微細なアプローチが必要です。

さらにAPMエージェントはAPMトレースデータに紐付けられるリソース全体の使用状況などの一般的なKPIに加え、言語固有のメトリックも収集できるようになりました。たとえばJavaエージェントはJavaヒープメモリーやスレッドカウントなどのJVMメトリックを収集し、APMアプリに自動で表示できるようになりました。エージェント固有のメトリックがサポートされることでアプリの挙動に関する補足的なコンテクストが提供され、よりリッチな監視エクスペリエンスとなるほか、開発者が他のエージェントをインストールする必要もなくなりました。

言語固有のメトリック

APMのメリットについては、併せてElastic APMリリースブログもご参照ください。

インフラメトリックの探索を強化するMetrics Explorer

Elastic Stackの開発チームはここ数年、サポートするメトリックの種類を増やすべく力を注いできました。一例として、数値データに最適化されたBkdツリーなどの新規データフォーマットでストレージ効率を向上させたり、Metricbeatモジュールを新たに追加してメトリックデータの統合範囲を拡充させる、あるいはTime Series Visual BuilderなどKibanaの専用アプリを通じて時系列データの可視化機能を強化する、といった取り組みを行ってきました。

こうした取り組みはユーザーからも好意的に評価され、7.2ではElasticインフラストラクチャーアプリへ"Metrics Explorer"を導入し、アドホックなメトリック探索機能を大幅に強化しました。Metrics Explorerのインターフェースには最も重要なインフラメトリックが表示され、一般的なタグやチャートグルーピング機能を使ってメトリックを操作することができるようになっています。Elasticsearchのすぐれたアグリゲーション能力と、1クリックでメトリックを操作できるシンプルな仕様を組み合わせた設計により、Metrics ExplorerのチャートはすべてTime Series Visual Builderで開いて詳しく調査することが可能です。タグやディメンションの数、カーディナリティーにかかわらず、あらゆる探索を超高速で行えます。 

Kibana 7.2のMetrics Explorer

Metrics Explorerは現在ベータでリリースされています。皆様からのフィードバックやご意見をお待ちしています。 その他の改善点については"Elasticインフラストラクチャー"リリースブログをご覧ください。

Kubernetesの可観測性を強化する

多くの企業を巻き込むオープンソースイノベーションで、Kubernetesのエコシステムは急速な進化を遂げています。CNCFエコシステムには毎月新たなプロジェクトが追加され、驚くほどのスピードでGraduatedステータスに移行しています。

Elasticは動的な技術スタックの監視をはじめとして、Kubernetesに移行しているユーザーのサポートに積極的に取り組んでいます。たとえばFilebeatやMetricbeatの自動検出機能、またPrometheusなどのクラウドネイティブテクノロジー向けモジュールを使えば、Kubernetesインフラとそこで実行されるサービスの監視を手軽にはじめることができます。

バージョン7.2はクラウドネイティブなテクノロジー向けに多数の統合機能をリリースしています。FilebeatとMetricbeatはKubernetesのデフォルトクラスターDNSであり、また先日CNCFでGraduatedステータスに移行したCoreDNSのサポートを開始しました。またコミュニティメンバーとのコラボレーションを経て、新たにオープンソースのクラウドネイティブメッセージシステムであるNATSメッセージシステムのサポートが始まりました。

さらにFilebeat 7.2は、KubernetesのCRI-O(オープンコンテナーランタイムイニチアチブ)もサポートしています。CRI-OはRedHatが開発を手掛ける軽量のDocker代替プロダクトで、OpenShiftディストリビューションでもデフォルトのコンテナーランタイムとなるなど人気が高まっています。CRI-Oモジュールを使用すれば、Kubernetesユーザーは監視要件を犠牲にすることなくコンテナーランタイムをCRI-Oに切り替えることができます。

Kuberneteの観測にElastic Stackを活用

Kubernetesとデータ統合のメリットについては、ElasticインフラストラクチャーElasticログのリリースブログでも詳しくご紹介しています。

まだ、まだあります!

アクティブな可用性監視を手軽にはじめるソリューションとして登場したElasticアップタイムに、Elasticログ、Elasticインフラストラクチャー、APMアプリの1クリック統合機能が加わりました。こうした各種の統合機能を使うことで、ログ分析や可観測性ワークフローのアクティブな監視統合作業が簡単になります。詳細と、その他の更新については"Elasticアップタイム"リリースブログにまとめています。

ログデータを扱う作業を最適化するソリューションとして6.5より登場したElasticログに、明示的な列設定による構造化ログ/イベントのサポートが追加されました。"filter by field(フィールドで絞り込む)"機能としてリリースされ、調査中に"周辺のログを表示"するワークフローを実現します。この機能や、その他の新機能については"Elasticログ"リリースブログで紹介しています。

自由に活用

7.2の最新機能はいずれもElastic CloudのElasticsearch Serviceクラスターで手軽に使いはじめることができます。マネージド環境でElastic Stackの最新機能をリリース日からお使いいただくことができます。クラスターの実行やスケーリング、アップグレードなどに関してサポートが必要な場合はぜひお気軽にお問い合わせください。ローカルでのご利用に関心をお持ちの方にはセルフマネージドオプションをご用意しています。バイナリをダウンロードしてDockerコンテナーを実行する、KubernetesでElastic Stackをデプロイするなど自在にお使いいただくことができます。