Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
Yukiya Shimizu - Solutions ArchitectJanuary 30th 2020
Elastic Observabilityを使ったKubernetes環境のモニタリング
Yukiya “Bruce” ShimizuSolutions Architect
Elastic
❖ Elasticsearch Certified Engineer
❖ 元々はインフラエリア中心● VMware● KVM● Openstack
❖ 週末はウインドサーフィン
蓄積、検索、分析
可視化 & 管理
収集
Elastic Stack
Kibana
Elasticsearch
Beats Logstash
Elastic Stack
Elastic Solutions
SaaS セルフマネージド
App SearchMetrics Site Search
Uptime Workplace SearchAPM
Observability
Logs
Enterprise Search
EndpointSecurity
Security
SIEM
蓄積、検索、分析
可視化 & 管理
収集
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)
6
77
ECKとは?
• Custom Resources Definitions (CRD)‒ Elasticsearch, Kibana, APM を追加
‒ これらのリソースでKubernetes APIを拡張
• 一連のcontrollers‒ apiserver上のリソースを監視
‒ 関連するリソースのCRUD操作
‒ 実行中のESクラスタとの相互運用
→ Basicライセンスで使えます!
https://www.elastic.co/products/elastic-cloud-kubernetes
8
ObservabilityKubernetes環境のモニタリング、どうしてますか?
9
K8sクラスタへのBeatsのデプロイ
Node 1
Metricbeat
Filebeat
Node 2
Metricbeat
Filebeat
Node n
Metricbeat
Filebeat
Filebeat DaemonSet
Metricbeat DaemonSet
10
コンテナで動くサービスのモニタリング
Metricbeat Filebeat
Node n
Logs
MetricsNginx ESS
ECK
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
1212
設定例: FilebeatFilebeat 側の設定 (filebeat.yml)
filebeat.autodiscover: providers: - type: kubernetes hints.enabled: true hints.default_config: type: container paths: - /var/log/container/*-${container.id}.log
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
14
Loggingあらゆるログを、お好みの方法でロギング。どんな規模でもスピーディ。
15
Infrastructure Metricsインフラのモニタリング(ログ、メトリック、トレース)を一か所に統合。
• 二通りの方法
• 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
Thank You !
Elasticブースへぜひお立ち寄りください