Metricbeatでpodmanのリソース情報を取得したい

こんにちは。どうぞよろしくお願いいたします。

environment:
CentOS 7.7
metricbeat 7.5.2
podman 1.4.4-4

コンテナの管理にpodman (https://podman.io/)を使用しています。
metricbeatでpodmanコンテナのリソース情報を取得したいのですが、
docker apiを使用せず、cgroupの情報から直接リソース情報を収集する方法をご存知ないでしょうか。

以下のページには、そのようなことが可能であると記載があります。

https://www.elastic.co/products/beats/metricbeat

「Dockerで運用している場合もお任せください。コンテナーの監視もElastic Stackならシンプルです。Metricbeatを専用のコンテナーにインストールして、同じホストのすべてのコンテナーの統計情報を収集することができます。Metricbeatは、cgroupsの情報をprocファイルシステムから直接読み取ります。つまり、Docker APIに対するアクセス権は不要で、他のランタイムについても同様に動作します。Docker専用のAutodiscoveryを使って、Metricbeatのモジュールが動作する条件をさらに簡単に指定することもできます。」

/etc/metricbeat/modules.d/system.yml
cgroups: true
process.cgroups.enabled: true

と設定しみたのですが、うまく情報が取得できません。

以上です。

本家の方が返信されていたので、リンクを貼りだけ...

Metricbeatを専用のコンテナーにインストールして、同じホストのすべてのコンテナーの統計情報を収集することができます。

に関連するドキュメントと必要な設定はこのあたりでしょうか(既にご確認済みかもしれませんが)

tsgkdtさん 返信ありがとうござます。

解決できましたので、本家の方に解法をpostしました。

私が監視したいコンテナが、dockerではないので、dockerモジュールが使用できません。
※dockerモジュールはdocker api必須。

その為、systemモジュールのcgroup監視を使用したいと考えたのですが、
kibanaでうまく値が見えませんでした。

理由は、以下デフォルト設定で、低い負荷の情報がマスクされていたからでした。

/etc/metricbeat/modules.d/system.yml:

  process.include_top_n:
    by_cpu: 5      # include top 5 processes by CPU
    by_memory: 5   # include top 5 processes by memory

これらをコメントアウトしたところ、うまく情報がとれました。

ありがとうございました。

これは盲点でした。勉強になりました!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.