elastic observabilityを使った kubernetes環境のモニタリング · 7 eckとは? •custom...

17
1 Yukiya Shimizu - Solutions Architect January 30th 2020 Elastic Observabilityを使った Kubernetes環境のモニタリング

Upload: others

Post on 29-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

1

Yukiya Shimizu - Solutions ArchitectJanuary 30th 2020

Elastic Observabilityを使ったKubernetes環境のモニタリング

Page 2: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

Yukiya “Bruce” ShimizuSolutions Architect

Elastic

❖ Elasticsearch Certified Engineer

❖ 元々はインフラエリア中心● VMware● KVM● Openstack

❖ 週末はウインドサーフィン

Page 3: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

蓄積、検索、分析

可視化 & 管理

収集

Elastic Stack

Kibana

Elasticsearch

Beats Logstash

Elastic Stack

Page 4: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

Elastic Solutions

SaaS セルフマネージド

App SearchMetrics Site Search

Uptime Workplace SearchAPM

Observability

Logs

Enterprise Search

EndpointSecurity

Security

SIEM

Page 5: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

蓄積、検索、分析

可視化 & 管理

収集

Deployment optionsSOLUTIONS

Kibana

Elasticsearch

Beats Logstash

SaaS セルフマネージド

Elastic Cloud(ESS)

Elastic CloudEnterprise (ECE) Standalone

Elastic Stack

Elastic Cloud on K8s (ECK)

Elastic Cloud Private(ESSP)

Page 6: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

6

Page 7: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

77

ECKとは?

• Custom Resources Definitions (CRD)‒ Elasticsearch, Kibana, APM を追加

‒ これらのリソースでKubernetes APIを拡張

• 一連のcontrollers‒ apiserver上のリソースを監視

‒ 関連するリソースのCRUD操作

‒ 実行中のESクラスタとの相互運用

→ Basicライセンスで使えます!

https://www.elastic.co/products/elastic-cloud-kubernetes

Page 8: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

8

ObservabilityKubernetes環境のモニタリング、どうしてますか?

Page 9: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

9

K8sクラスタへのBeatsのデプロイ

Node 1

Metricbeat

Filebeat

Node 2

Metricbeat

Filebeat

Node n

Metricbeat

Filebeat

Filebeat DaemonSet

Metricbeat DaemonSet

Page 10: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

10

コンテナで動くサービスのモニタリング

Metricbeat Filebeat

Node n

Logs

MetricsNginx ESS

ECK

Page 11: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

1111

Beatsを使ったヒントベースの自動探知機能 (Autodiscover)

• MetricbeatとFilebeatの両方でヒントが使用可能

• ヒントによって、Beatsは、コンテナからどのように情報を取得するかを知ることができる

• Kubernetesポッドのアノテーション、またはDockerのラベルを使用して、処理方法をFilebeatおよびMetricbeatに指示する

‒ Filebeat: co.elastic.logsで始まる

‒ Metricbeat: co.elastic.metricsで始まる

• 柔軟な設定オプション

必要に応じてデータを収集

https://www.elastic.co/jp/blog/docker-and-kubernetes-hints-based-autodiscover-with-beats

Page 12: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

1212

設定例: FilebeatFilebeat 側の設定 (filebeat.yml)

filebeat.autodiscover: providers: - type: kubernetes hints.enabled: true hints.default_config: type: container paths: - /var/log/container/*-${container.id}.log

Page 13: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

1313

設定例: FilebeatアプリケーションPod 側の設定 (example_app.yml)...spec: replica: 3 template: metadata: labels: app: example_app annotations: co.elastic.logs/enabled: true co.elastic.logs/module: nginx co.elastic.logs/fileset.stdout: access co.elastic.logs/fileset.stderr: error

Page 14: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

14

Loggingあらゆるログを、お好みの方法でロギング。どんな規模でもスピーディ。

Page 15: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

15

Infrastructure Metricsインフラのモニタリング(ログ、メトリック、トレース)を一か所に統合。

Page 16: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

• 二通りの方法

• Prometheus exporter から取得

‒ Prometheus serverなし

‒ Metricbeat とヒントの組み合わせ

• Prometheus server から取得

‒ Federation API を呼び出し

‒ Prometheus /metrics エンドポイント

Prometheus & Elasticsearch

16 https://www.elastic.co/blog/prometheus-monitoring-at-scale-with-the-elastic-stack

Page 17: Elastic Observabilityを使った Kubernetes環境のモニタリング · 7 ECKとは? •Custom Resources Definitions (CRD) ‒Elasticsearch, Kibana, APM を追加 ‒これらのリソースでKubernetes

Thank You !

Elasticブースへぜひお立ち寄りください