【SCSK技術者によるブログ】コンテナの電力消費をSysdig Monitorで監視してみよう
みなさんこんにちは!
SCSK技術者によるSysdigブログ第19回を担当するのは鳥飼です。
Node Exporterに続くExporterシリーズ第二弾は、以前のKubeCon で話題となったKeplerについて、取り上げます。
Keplerが注目される背景や、Keplerを活用し消費電力をSysdig Monitorで監視する手順をご紹介します。
ぜひ皆さんの環境でもお試しください!
Keplerとは
ITの発展により、IT機器・システムが急増。それに伴い、世界のITによる電力消費は約20年間で約9倍に迫る勢いで増加しています。
さらに今後、AIなどが普及により電力インフラへの負担はより高まり、将来的に電力不足に陥る可能性が指摘されています。このことから世界的に消費電力の管理、削減が喫緊の課題となっています。
こういった課題にKeplerはアプローチしています。KeplerはeBPFを活用し、ワークロードによる消費電力を推定、メトリクスとして出力するOSSであり、現在CNCFのSandbox maturity levelに属しています。
『グリーンIT』といった文脈で今後より注目を集めるであろうKeplerをSysdigへ連携し、環境の消費電力を可視化してみようと思います。
KeplerをSysdigに連携する
(前提)
・Sysdig Monitorアカウント
・Sysdig agentを導入したOpenShift
導入手順 - https://docs.sysdig.com/en/sysdig-monitor/kubernetes/
① Keplerをインストールします。
※今回の検証ではKepler Operatorを用いてインストールを行いました。
https://sustainable-computing.io/installation/community-operator/
Helm chartによるインストールは下記をご参照ください。
https://sustainable-computing.io/installation/kepler-helm/
② Keplerのメトリクスをスクレイピングするよう、Sysdig agentの設定ファイルを編集します。
$ oc edit cm -n sysdig-agent sysdig-agent
apiVersion: v1
data:
dragent.yaml: |
new_k8s: true
k8s_cluster_name: trk-rosa-hcp
collector: collector.sysdigcloud.com
security:
enabled: true
k8s_audit_server_enabled: true
k8s_audit_server_port: 7765
k8s_audit_server_url: 0.0.0.0
###以下の記述を追記
prometheus.yaml: |
scrape_configs:
- job_name: "kepler"
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels:
- __meta_kubernetes_pod_container_name
action: keep
regex: kepler
(③ Sysdig agentのログから、メトリクスが収集できていることを確認する ※必須ではありません)
$ oc logs -n sysdig-agent sysdig-agent-7mtmg | grep kepler Defaulted container "sysdig" out of: sysdig, sysdig-agent-kmodule (init) 2025-01-17 02:57:24.949, 2385907.2385952, Information, promscrape_parser:484: promscrape-srv: msg="added appender" cachenable=true caller=scrape.go:51 component=target manager job_name=kepler url=http://10.128.0.64:9103/metrics 2025-01-17 02:58:17.033, 2385907.2386029, Information, promscrape:prom_stats:76: endpoint http://10.128.0.64:9103/metrics (job kepler): 1648 total timeseries sent 2025-01-17 02:59:18.024, 2385907.2386029, Information, promscrape:prom_stats:76: endpoint http://10.128.0.64:9103/metrics (job kepler): 1648 total timeseries sent 2025-01-17 03:00:18.044, 2385907.2386029, Information, promscrape:prom_stats:76: endpoint http://10.128.0.64:9103/metrics (job kepler): 1648 total timeseries sent
total timeseries sentの値が0より大きいことから、なにかしらのメトリクスをSysdig agentが受信し、Sysdigバックエンドへ送信していることがわかります。
④ Sysdig Monitor UIを確認する
[ Sysdig Monitor > Explore ]より、keplerから始まるメトリクスが表示されているか確認します。
表示されています!
例えば、kepler_container_core_joules_totalメトリクスは、個々のコンテナにおけるCPUのエネルギー消費量を集計した値を示します。
下記より、prometheusコンテナが累計約70,000ジュール(19W)消費していることがわかります。
kepler exporterが出力するメトリクスの意味については下記をご参照ください。
https://sustainable-computing.io/design/metrics/
最後に
いかがでしたでしょうか。
ご覧いただいたように、SysdigではユーザがPrometheusサーバを用意する必要はなく、エージェントの設定を書き換えるだけで簡単にExporterからスクレイピングすることが可能です。
Prometheusと互換性があるため、見慣れたprometheus.yamlの記述方式で設定が可能なところも嬉しいですね!
担当者紹介
- 担当者名
- 鳥飼
- コメント
- Sysdigを中心にコンテナ、Kubernetes、クラウド領域の業務に従事しています。
- 保有資格
- Certified Kubernetes Administrator
SCSK技術者ブログ
クラウドにおけるサーバーレスワークロードの保護:Sysdig Secureによるアプローチ
Platform Engineering Kaigi 2025 参加レポート
検知から対応をシームレスに! Sysdigの新機能「Response Action」でインシデント対応を迅速化
【SCSK技術者によるブログ】生成AIでSysdigエージェントのアップグレードを効率化 〜Helm values.yamlの移行作業を自動化〜
【SCSK技術者によるブログ】Sysdigの「Search」機能を体験!生成AIでクエリの学習コスト無しに脆弱性調査
【SCSK技術者によるブログ】ゼロトラスト文脈でのクラウドセキュリティ、そしてSysdig
【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ネットワークポリシー編~
【SCSK技術者によるブログ】生成AIで過検知対策を効率化!Sysdig Sageの実力検証
【SCSK技術者によるブログ】なぜ今、Sysdigが選ばれるのか?動画で解説!クラウドネイティブセキュリティの最前線 - SCSKの日本語伴走サポートで安心導入
【SCSK技術者によるブログ】Serverless AgentがAzure Container Appsに対応しました
【SCSK技術者によるブログ】システムコール分析における生成AIの活用
【SCSK技術者によるブログ】Sysdig情報アップデート~AWS連携にS3オプションが追加されました~
【SCSK技術者によるブログ】Falco初学者講座 - Exceptions編
【SCSK技術者によるブログ】Falco初学者講座 - List/Macro編
【SCSK技術者によるブログ】コンテナの電力消費をSysdig Monitorで監視してみよう
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~Contianer Drift編~
【SCSK技術者によるブログ】~Falco初学者に送る~ Sysdig SageでFalcoを勉強してみよう②
【SCSK技術者によるブログ】~Falco初学者に送る~ Sysdig SageでFalcoを勉強してみよう①
【 SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた(Monitor編)
【SCSK技術者によるブログ】Falco初学者講座 - condition編
【SCSK技術者によるブログ】Sysdig Sageを使ってみた
【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ポリシーエンジン編②~
【SCSK技術者によるブログ】Sysdigをセキュアに使おう~IP Allowlist編~
【SCSK技術者によるブログ】Node ExporterをSysdig Monitorに連携してみた
【SCSK技術者によるブログ】Sysdigの設定をTerraformで管理してみた
【SCSK技術者によるブログ】CNAPPの理解とSysdigのカバレッジ
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~マルウェア検知編~
【SCSK技術者によるブログ】Sysdigのライセンス体系
【SCSK技術者によるブログ】Sysdig とMicrosoft Entra ID間でSAML認証設定を試してみた
【SCSK技術者によるブログ】Sysdigと組み合わせて効果的なソリューションのご紹介 ~ポリシーエンジン編~
【SCSK技術者によるブログ】Sysdigの脅威検知はFalcoだけじゃない ~AWSサインインなりすまし検知編~
【SCSK技術者によるブログ】Sysdig SecureのRisks機能を試してみた