이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

Kubernetes/Monitoring

metricbeat container 실행 방법

이쿠우우 2024. 9. 22. 20:40
반응형

 

metricbeat container 실행 방법

worker node에서 metricbeat의  메모리 사용량이 최대 60%까지 올라가는 이슈가 있었음.
  • 해당 메모리 사용량 이슈는 metricbeat의 메모리릭 이슈로 확인됨.
  • metricbeat git issues를 확인해보면 각 버전별로 항상 언급됨.
  • 고질병인가봄...
해당 이슈를 해결 할 수 있는 방법 중 하나로
container로 실행 시켜서 CPU, Memory 사용량을 제한 하는 방법을 알아봄.

 

사용하는 tool은 nerdctl임

 

 

nerdctl run 명령 시 CPU, Memory 사용량 제한 하는 옵션

--cpu-period uint            Limit CPU CFS (Completely Fair Scheduler) period
      --cpu-quota int              Limit CPU CFS (Completely Fair Scheduler) quota (default -1)
      --cpu-shares uint            CPU shares (relative weight)
      --cpus float                  Number of CPUs
      --cpuset-cpus string          CPUs in which to allow execution (0-3, 0,1)
      --cpuset-mems string          MEMs in which to allow execution (0-3, 0,1)


-m, --memory string              Memory limit
      --memory-reservation string  Memory soft limit
      --memory-swap string          Swap limit equal to memory plus swap: '-1' to enable unlimited swap
      --memory-swappiness int      Tune container memory swappiness (0 to 100) (default -1) (default -1)
      --mount stringArray          Attach a filesystem mount to the container
 

metricbeat container 실행

nerdctl run \
--name=metricbeat \
--network host \
--privileged \
--volume="/etc/metricbeat:/etc/metricbeat:ro" \
--volume="/var/run/docker.sock:/var/run/docker.sock:ro" \
--volume="/sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro" \
--volume="/proc:/hostfs/proc:ro" \
--volume="/:/hostfs:ro" \
docker.elastic.co/beats/metricbeat:8.7.0 metricbeat -e \
--path.config /etc/metricbeat/ -c /etc/metricbeat/metricbeat.yml
 
특이 사항
--system.hostfs 설정은 DEPRECATED 됨.
DEPRECATED: The --system.hostfs flag will be removed in the future and replaced by a config value. Will be removed in version: 8.0.0
 

Container로 실행 시 몇 가지 문제점이 있음

  1. filesystem metricset에서 경로가 container 경로로 나옴 (host 부분 생략하면 실제 경로 이긴 함)
  2. process monitoring이 불가능함
  3. 일부 system metric 항목이 host에서 수집할 때와 다른 결과가 나옴.
 
 

 

 
반응형