Datadog 이란?
- 클라우드 규모 인프라에 대한 완전한 가시성 확보
- 웹 및 모바일 애플리케이션의 사용자 여정에 대한 종단 간 가시성 확보
- 분산 클라우드 환경에서 네트워크 트래픽 흐름 시각화
- 실시간으로 보안 위협 및 구성 오류 자동 감지
Datadog은 Docker, containerd를 포함한 K8s 클러스터 구성요소 및 워크로드, 네트워크 트래픽, 엔드포인트 모니터링 등을 지원하는 종합 모니터링 서비스이다.
Datadog Kubernetes 설정
- datadog-agent : 데이터독 에이전트는 각 노드의 메트릭, 분산 추적 및 로그를 수집하고 서버 리소스(CPU, Memory등) 메트릭을 자동으로 수집
- datadog-node-agent : daemonset으로 각 노드 마다 실행되며 노드 레벨의 정보를 수집
- datadog-cluster-agent : node agent에서 Master노드의 API 서버에 직접 쿼리를 하게되면 클러스터 증가시 Master노드의 API서버 및 etcd에 대한 로그가 증가하기 때문에 Master 노드의 서버 부하를 줄이기 위해 API서버와 node agent간의 프록시 역할을 한다.
제공 기능
datadog의 기능 및 설명은 아래 링크에서 확인이 가능하다. (https://docs.datadoghq.com/getting_started/)
Dashboards : 대시보드는 핵심 성능 지표를 시각적으로 추적, 분석 및 표시며 인프라 상태를 모니터링할 수 있다. (https://app.datadoghq.com/dashboard/lists)
Infrastructure : Infra 목록, 컨테이너맵, 호스트맵, 네트워크 맵 기능을 제공한다. (https://app.datadoghq.com/infrastructure)
모니터링 : 임계치 설정 (https://app.datadoghq.com/monitors/manage)
APM : 애플리케이션에 대한 로그, 프로필, 네트워크등 모니터링을 제공한다. (https://app.datadoghq.com/apm/home?env=prod)
로그 : 인프라, 애플리케이션의 로그 수집(https://app.datadoghq.com/logs)
그외 기능들
- security, UX monitoring 등등
- 현재는 CI, Security, UX Monitoring, S3 Integration 등 일부 기능은 사용을 하지 않고 있다.
- 로그는 15일 보관이 기본 설정으로 기본 설정을 사용중이다.
데이터독 가격 정책
어플리케이션 log와 traces 연결 설정 방법
1. log4j, slf4j 설정을 통한 로깅 : logstash 설정을 통해 로그를 json 형식으로 남기도록 설정하면 traces와 연동이 가능하다. (https://docs.datadoghq.com/logs/log_collection/java/?tab=log4j)
아래 예제에서는 FILE 로 남기도록 설정되어 있지만 CONSOLE로 남겨도 무방하다.
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/app.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
</configuration>
2. 데이터독 @trace annotation 활용한 로깅 (https://docs.datadoghq.com/tracing/setup_overview/custom_instrumentation/java/)
public class SessionManager {
@Trace(operationName = "database.persist", resourceName = "SessionManager.saveSession")
public static void saveSession() {
// your method implementation here
}
}
'Develop > infra' 카테고리의 다른 글
M1 MAC OS Rancher desktop 사용 (0) | 2023.01.04 |
---|---|
CDC - debezium 설정 (1) | 2021.07.25 |
Nginx 튜닝, 보안 설정 및 Docker-compose 실행 (0) | 2020.12.16 |
Docker Compose 이용한 ElasticSearch Cluster, Kibana 구성 (0) | 2020.12.15 |
Kubernetes 개념 (0) | 2020.11.24 |