New Relic の OpenTelemetry Collector を使用して Kubernetes Cluster 全体を簡単にモニタリング

　OpenTelemetry を使用して収集した Kubernetes Cluster のデータを New Relic の UI でモニタリングできるようになりました。今回は、とても簡単なインストール手順を紹介します。

 :::note warn
この機能はプレビューとして公開されている機能でまだ開発中です。
:::

# 今回のポイント
この記事で紹介しているポイントは、次の２つです。
1. **OpenTelemetry Collectorのインストール方法を知る**
 クラスタ内に Helm チャートを使って nr-k8s-otel-collector をインストールする手順を紹介します。
2. **Kubernetes Clusterのデータの確認方法がわかる**
 収集したデータを New Relic の Kubernetes の UI を使用して確認する方法を紹介します。

:::note info
最新のアップデートの詳細はこちら
[New Relic アップデート一覧
](https://newrelic.com/jp/blog/nerdlog/new-relic-update  "New Relic アップデート一覧")
:::

:::note info
無料のアカウントで試してみよう！
[New Relic フリープランで始めるオブザーバビリティ！](https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa)
:::

# 概要
　このアップデートでは、New Relic の Kubernetes 専用の GUI が New Relic の提供する Kubernetes Integration もしくは OpenTelemetry のいずれかを選択して Kubernetes クラスタをモニタリングできるようになっています。 OpenTelemetry をベースに Observability のメトリクスを収集したい場合でも New Relic のUIを活用できるというメリットがあります。
 また、Helm チャートを使って nr-k8s-otel-collector をインストールだけの簡単な手順でデータを統合できるようになっています。
　詳細についてはこちらのドキュメントで解説されています。

 https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-otel/

また、OpenTelemetry を使ったKubernetes クラスタの計装については OpenTelemetry の公式ドキュメントで紹介されています。

https://opentelemetry.io/docs/kubernetes/getting-started/

# 手順
## Helm チャートの Config ファイルのダウンロードと設定
### Config ファイルのダウンロード
 下記のコマンドを実行するか、[こちらのリンク](https://github.com/newrelic/helm-charts/tree/master/charts/nr-k8s-otel-collector/values.yaml)から設定ファイルをダウンロードします。
```console
curl -O https://raw.githubusercontent.com/newrelic/helm-charts/master/charts/nr-k8s-otel-collector/values.yaml
```

### Config ファイルの設定
 ダウンロードした ``values.yaml`` のクラスタ名( `cluster` )と New Relic のライセンスキー( ``licensekey`` )の項目を変更して保存します。
![values.yamlの設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/d3b84f39-b374-1bd1-675e-06a509fc892d.png)


## Helm チャートのインストール
下記のコマンドを実行すると``nr-k8s-otel-collector``が展開されてデータの収集が始まります。
```console:helm
helm repo add newrelic https://helm-charts.newrelic.com
helm upgrade nr-k8s-otel-collector newrelic/nr-k8s-otel-collector -f your-custom-values.yaml -n newrelic --create-namespace --install

=== output ===
Release "nr-k8s-otel-collector" does not exist. Installing it now.
NAME: nr-k8s-otel-collector
LAST DEPLOYED: Tue Sep 17 20:24:06 2024
NAMESPACE: newrelic
STATUS: deployed
REVISION: 1
TEST SUITE: None

```

インストールの作業は以上です。これだけで Kubernetes クラスタのデータをモニタリングできるようになります。

# データ確認
　New Relic の Kubernetes から nr-k8s-otel-collector で収集したデータの確認が可能でKubernetes のメトリクスや発生したイベント、出力されたログを New Relic 上で一元的にモニタリングできます。
 ![NewRelic-Kubernetes.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/2fff98bd-afc9-eefc-978e-a2fb00f61196.png)

### nr-k8s-otel-collector で収集されたクラスタを表示する
　Kubernetes の一覧から ``instrumentation.provider = opentelemetry`` でフィルタリングすると nr-k8s-otel-collector で収集したクラスタのみ表示されます。
![フィルタリング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/cc3f0c5c-e876-fcc3-8b25-aff9b1a2f52e.png)

### 条件を設定して目的に合わせてクラスタの状態を確認
　New Relic の Summary画面では、Pod や Node の状態を Namespace 等でグルーピングしてクラスタの状態を確認することが可能です。
![Summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/422b4930-13a8-7ed1-cc06-ceb4fec525d3.png)

　また、Pod 等を選択することでCPUやメモリ、アラートの状態を確認することができるようになっています。
 ![Pod.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/2cf2e1f0-20d8-6458-9699-fa843be06a62.png)


### 全体を俯瞰してみる
　Overview Dashboard でクラスタ全体の状態を俯瞰して確認することができます。Summary では確認できなかった時系列の状態の変化を把握できることがメリットです。複数の観点でクラスタの状態を把握したい、過去に起きた事象を把握したい時に参照すると良いです。
![Overview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/853c4e74-fe07-8dcc-0c09-d8ed2ecfd293.png)

# 最後に
　簡単なインストール手順だけで Opentelemetry のデータを New Relic のプレビルドの UI 上で確認できました。カスタマイズできる設定項目も多いのでこれから検証が必要ですが、より細かな制御ができそうです。まだプレビュー中の機能ですが、ぜひ試してみてください。

 https://github.com/newrelic/helm-charts/blob/master/charts/nr-k8s-otel-collector/README.md

 :::note info
最新のアップデートの詳細はこちら
[New Relic アップデート一覧
](https://newrelic.com/jp/blog/nerdlog/new-relic-update  "New Relic アップデート一覧")
:::

:::note info
無料のアカウントで試してみよう！
[New Relic フリープランで始めるオブザーバビリティ！](https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa)
:::