konchangakita

KPSを一番楽しんでいたブログ 会社の看板を背負いません 転載はご自由にどうぞ

KPS SD のパフォーマンスメトリックを Elastic でなんとなく可視化

Nutnaix Karbon Platform Service(KPS)の SD(Service Domain)のパフォーマンスメトリックを Elastic(Elasticsearch/Beats/Kibana)で可視化してみます
というのが正式タイトル

本当は、KPS内の Kubernetes Apps や Data Pipeline ごとのパフォーマンスも可視化して履歴を収めてみたい、しかもお手軽に
でも、まだちょっとやり方わからないので、まずはここから

f:id:konchangakita:20201108182904p:plain

最近 Splunk ばっかでしたが、KPS内で扱うには Elastic さんの方が融通が効きます
また、Elastic の Beats関連は今後パワーアップしていきそうなので、触っておくにこしたことないと思い

今 Beats はこんな感じの種類があります

名前 概要
Filebeat ログファイルの収集(Kafka受信使ったやつ)
Metricbeat CPU,メモリ等の情報収集
Packetbeat パケット情報の収集
Winlogbeat Windowsのイベントログの収集
Auditbeat 監査データの収集
Heartbeat リモートから稼働状況の監視
Functionbeat Function as a Service


今回は Metricbeat を使ってみましょう
www.elastic.co

==環境=======
KPS Service Domain 2.1.0
Elasticsearch, Kibana, Metricbeat 7.9.3
============

Metricbeat の設置

Metricbeat 7.9 は本家サイトのココを参考に
Run Metricbeat on Kubernetes | Metricbeat Reference [7.9] | Elastic

事前準備

まずElasticsearch & Kibana を KPS上に展開しておきます
Xi IoT に Elasticsearch と Kibana を導入してみる

Metricbeat用の yaml のテンプレートの入手
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.9/deploy/kubernetes/metricbeat-kubernetes.yaml

yamlファイルの設定のポイント・Elasticsearch、Kibana と同じ namespace に設置しましょう
・シンプルに自ノードのメトリクスを取得するだけにします
  - cpu
  - load
  - memory
  - network


自ノードのメトリック取得設定コンフィグ
Kubernetesクラスタ用の設定は消しました

apiVersion: v1
kind: ConfigMap
metadata:
  name: metricbeat-deployment-modules
  #namespace: kon-ns
  labels:
    k8s-app: metricbeat
data:
  system.yml: |-
    - module: system
      period: 10s
      metricsets:
        - cpu
        - load
        - memory
        - network
      processes: ['.*']
      process.include_top_n:
        by_cpu: 5      # include top 5 processes by CPU
        by_memory: 5   # include top 5 processes by memory
作ってみた yaml


KPS に Kubernetes App 設置

f:id:konchangakita:20201108200823p:plain


Kibana で確認

http://<Service Domain>:<Kibana用ポート>/
Kibana に接続し Dev Tools にて Metricbeat の Index を確認
受信できているようです
f:id:konchangakita:20201108203405p:plain


Observability - Metrics を選択します
f:id:konchangakita:20201108204053p:plain

1サーバからしか取得してないとちょっと寂しいです
f:id:konchangakita:20201103195403p:plain

Host metrics 確認してみましょう
f:id:konchangakita:20201108204643p:plain:w350


なんとなく可視化の完了
f:id:konchangakita:20201103195447p:plain
f:id:konchangakita:20201103195517p:plain


KPSのポータルサイトで Service Domain の使用状況を確認すると、同じくらいになっているので、良さそうですね
f:id:konchangakita:20201103195904p:plain


APMもちゃんと使ってみたいなぁ