Splunk Cloud Walkthrough(w/Minikube)

## やること

* MinikubeにSplunkのAgentをいれて、見える情報を確認する

## Minikubeの前提

* istio, jaeger, kialiが導入されている
* bookinfoがデプロイされている
* bookinfoに定期的にアクセスが発生している

## [Free Trial](https://www.splunk.com/ja_jp/download/splunk-cloud.html)

* Splunkのサイト曰く以下の制約でFree Trialできる。


> 無料のクラウドトライアルを使用すると、15日間のデータを5GB/日で検索、分析、視覚化できます。

## MinikubeへのAgentの導入

Helmのコマンドが案内されている。

**コマンド**

```bash
helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
helm repo update
helm install --set cloudProvider=' ' --set distribution=' ' --set splunkObservability.accessToken='BGsxxxxxxxxxxxx57g' --set clusterName='minikube' --set splunkObservability.realm='us1' --set gateway.enabled='false' --generate-name splunk-otel-collector-chart/splunk-otel-collector
```

**レスポンス**

```bash
NAME: splunk-otel-collector-16xxxxxxxx39
LAST DEPLOYED: Mon Dec 13 12:42:21 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Splunk OpenTelemetry Collector is installed and configured to send data to Splunk Observability realm us1.
```


## 徘徊

### ホーム

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/9907897e-1197-e4ff-d471-6c8a91c197a9.png)

Infrastructure Agentのセットアップが終わっていることがわかる。

### APM

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/6c29c544-0ca3-5f4f-f87b-f9cd2f6ece2e.png)

現状、すっからかん。Minikube上ではBookinfo動かしているけど、APMは個別にセットアップ必要なのかな？

### Infrastructure

#### Map

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/384da409-e5fc-b296-9ad2-b429c328c633.png)

Nodeに浮かんでいるPodの健康状態が見れる。

#### Nodes

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/41a10bf2-cab2-a5d2-8907-2ddef2e89b7e.png)

Nodeの健康状態が見れる。

#### Workloads

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/771446e8-4c6a-571d-5cdc-a57d5a944d22.png)

Minikube上の各オブジェクトごとの健康状態が見れる。

#### Node Details

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/26433dc9-de7e-6dfc-8645-f45c93a7c150.png)

クラスタ単位やノード単位で健康状態が見れる。

#### Workload Details

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/b4d04094-2e0f-414d-33b5-d138dd26f56d.png)

Minikube上のオブジェクトに対しフィルタを掛けながら健康状態が見れる。

#### Pod Details

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/326f8ca1-3c10-480c-269c-a0243a79b667.png)

Podの名前へのフィルタリングをしながら健康状態が見れる。

#### Container Details

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/90abdde0-4e20-461f-860e-f7b6acde3e96.png)

コンテナIDから健康状態が見れる。

### Dashboard

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/325101/7e7070b9-5343-3226-1b87-0ff4d6604467.png)

Kubernetes用のダッシュボード。さっきのInfrastructureからのピックアップっぽい。

## [Kubernetes Integration の説明](https://app.us1.signalfx.com/#/integrations/kubernetes/description)

※www.DeepL.com/Translator（無料版）で翻訳しました。

> このウィザードは、Splunk Observability CloudがKubernetes環境を監視できるようにする、Splunk OpenTelemetry Connector for Kubernetesの設定をガイドします。このプロセスでは、メトリクス、トレース、ログの収集をサポートするために、Helm Chart を介して Fluentd と共に OpenTelemetry Collector の Splunk ディストリビューションをデプロイします。
OpenTelemetry Collectorは、コンテナにパッケージされ、Kubernetesクラスタの各ノードにデーモンセットとしてデプロイされます。OpenTelemetry Collectorは、コンテナにパッケージされ、Kubernetesクラスタの各ノードにデーモンセットとしてデプロイされます。また、スパンのデスティネーションとしても機能します。
Daemonsetは、ログを収集するためにFluentdも実行します。デフォルトでは、Kubernetes自体のログ（kubeletやapiserverなどからのログ）だけでなく、Kubernetesクラスタで実行されているアプリケーションのログも収集します。ログは、fluentd tailプラグインを使ってファイルシステムから、fluent-plugin-systemdを使ってsystemdジャーナルから読み込みます。
OpenTelemetry Collector DaemonsetからのデータやKubernetes APIからのデータを処理するために、25ホスト以上のクラスターではOpenTelemetry Collector DeploymentをKubernetes Serviceでバックアップすることができます。

## ToDo

* ワークロードへの詰め物無しで、サービスマップと分散トーレスみたいなの作れないか（Kiali, jaegar代替）
* ワークロードへの詰め物無しで、APM領域やJVMもとれないか（Eclipse Microprofile代替）