Prometheus을 사용하여 내 도커 컨테이너를 모니터링하고 싶습니다. 나는 실행할 수있다 PrometheusGrafana 그러나 다른 도커 컨테이너를 모니터하는 방법을 알지 못한다. 가능한 경우 몇 가지 예를보고 싶습니다. 예를 들어 우분투 컨테이너가 내 호스트에서 실행 중이고 Gentoo 컨테이너가 있습니다. Prometheus에 모니터링을 요청하거나 내부에서 실행되는 일부 응용 프로그램을 모니터링하는 방법은 무엇입니까? 시간과 인내심을 미리 감사드립니다.Prometheus - 다른 도커 컨테이너를 모니터링하는 방법
6
A
답변
6
컨테이너 사용자가 실행중인 컨테이너의 리소스 사용 및 성능 특성을 이해할 수 있도록 cadvisor을 사용할 수 있습니다.
이 아키텍처를 사용 도커을 모니터링하는 프로 메테우스을 설정에 관한 very good article :
잠시, 아이디어는 cAdvisor를 사용하여 컨테이너에 대한 정보를 수집하고 에 넣어하는 것입니다 Prometheus 데이터베이스. Grafana은 Prometheus 데이터베이스를 쿼리하고 모니터링 차트/값을 렌더링합니다. 당신은 프로 메테우스에 일부 데이터가있는 경우
scrape_configs:
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
, 당신이 가지고있는이 를 사용하려면 다음 configuration file (prometheus.yml
)
json
쿼리를 모니터링 A (짧은) 예는 다음과 같다 : 사용자 CPU의 % 취득 : RAM의
"targets": [
{
"expr": "sum(rate(container_cpu_user_seconds_total{image!=\"\"}[1m]))/count(node_cpu{mode=\"system\"}) * 100",
"interval": "10s",
"intervalFactor": 1,
"legendFormat": "",
"refId": "A",
"step": 10
}
]
가져 오기 % 사용 :
"targets": [
{
"expr": "(sum(node_memory_MemTotal) - sum(node_memory_MemFree+node_memory_Buffers+node_memory_Cached))/sum(node_memory_MemTotal) * 100",
"interval": "10s",
"intervalFactor": 2,
"legendFormat": "",
"refId": "A",
"step": 20
}
]
을 완전한 json 데이터 (여기에 올리기에는 너무 깁니다)의 경우이 저장소를 복제 할 수 있습니다.
git clone https://github.com/stefanprodan/dockprom
그리고 Grafana json을 가져 오십시오.
현재이 아키텍처를 사용하여 프로덕션 환경에서 docker swarm mode
클러스터를 모니터링하고 있고 github 저장소에서 찾을 수있는 모니터링 결과를 확인할 수 있습니다.
관련 문제
- 1. 도커 컨테이너를 사용하여 다른 도커 이미지 만들기
- 2. 다른 사용자로부터 도커 컨테이너를 분리하는 방법
- 3. 하나의 도커 컨테이너를 다른 도커 컨테이너에 연결하는 방법
- 4. 도커 컨테이너를 자동으로 백업하는 방법
- 5. 두 도커 컨테이너를 연결하십시오
- 6. Kubernetes에서 다른 명령으로 도커 컨테이너를 실행하십시오.
- 7. 다른 컨테이너에서 도커 컨테이너를 다시 시작하십시오.
- 8. 컨테이너를 호스트 마운트와 도커 컨테이너를 시작
- 9. 프로덕션에 도커 컨테이너를 배포하십시오.
- 10. 도커 웜에서 여러 컨테이너를 다시 시작하는 방법
- 11. 도커 컨테이너를 통해 TFServing을 올바르게 설치하는 방법
- 12. 우분투의 기존 프로젝트에서 도커 컨테이너를 만드는 방법
- 13. 우분투 컨테이너를 실행하는 RPI 도커
- 14. 도커 작성 컨테이너를 배포하는 중
- 15. 로컬 도커의 컨테이너를 다른 호스트로 마이그레이션하는 방법
- 16. 도커 컨테이너를 찾을 수 없습니다
- 17. 처음부터 데이터 컨테이너를 실행중인 도커
- 18. 도커 컨테이너를 최신 이미지로 업그레이드
- 19. 도커 컨테이너를 네트워크 장치에 연결하십시오.
- 20. 마라톤에서 도커 컨테이너를 작업으로 실행
- 21. DNS를 사용하여 도커 네트워크에서 다른 컨테이너를 찾는 방법이 있습니까?
- 22. EJB 컨테이너를 모니터링하는 데 유용한 도구가 있습니까?
- 23. 탑 비트를 사용하여 동일한 호스트에서 여러 개의 도커 컨테이너를 모니터링하는 방법은 무엇입니까?
- 24. 최신 도커 컨테이너를 제외한 모든 컨테이너를 종료하고 삭제하십시오.
- 25. Docker : 다른 형제 도커 컨테이너를 실행하기위한 별칭 명령 이름
- 26. 다른 Amazon 서버에서 도커 컨테이너를 실행하면 어떤 이점이 있습니까?
- 27. 호스트를 통해 다른 도커 컨테이너를 컬링 할 수없는 이유는 무엇입니까?
- 28. 데이터베이스의 도커 컨테이너를 프로덕션 환경의 다른 호스트에 두는 방법은 무엇입니까?
- 29. 두 도커 컨테이너를 서로 연결하는 방법은 무엇입니까?
감사합니다 !!! 나는 그것을 확인하고, 시도하고, 알려줄 것이다. 나는 단순하면서도 강력한 것을 찾고 Prometheus가 좋은 선택이라고 믿는다. – ivo
전 세계 3 곳의 프로덕션 사이트에서이 스택 (+ 노드 내보내기/경고 관리자)을 사용하고 있습니다. 호스트에'collectors' 컨테이너 (cAdvisor/node exporter)를 배포하는 단순함에 진심으로 감사 드리며 그래프가 마술처럼 떠오른다! –
이 답변을 공유해 주셔서 감사합니다. 내 유스 케이스에서도 도움이되었습니다. –