KPS SD のパフォーマンスメトリックを Elastic でなんとなく可視化
Nutnaix Karbon Platform Service(KPS)の SD(Service Domain)のパフォーマンスメトリックを Elastic(Elasticsearch/Beats/Kibana)で可視化してみます
というのが正式タイトル
本当は、KPS内の Kubernetes Apps や Data Pipeline ごとのパフォーマンスも可視化して履歴を収めてみたい、しかもお手軽に
でも、まだちょっとやり方わからないので、まずはここから
最近 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
自ノードのメトリック取得設定コンフィグ
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 設置