> Java > java지도 시간 > Spring Boot HTTP 로깅 예제를 중앙 집중화합니다

Spring Boot HTTP 로깅 예제를 중앙 집중화합니다

Robert Michael Kim
풀어 주다: 2025-03-07 17:24:20
원래의
519명이 탐색했습니다.
스프링 부트 HTTP 로깅 예제

이 예제는 Logstash, ElasticSearch 및 Kibana (ELK 스택)를 사용하여 여러 스프링 부트 마이크로 서비스의 HTTP 요청 및 응답 로그를 중앙 집중화하는 것을 보여줍니다. 이 설정은 분산 시스템에서 효율적인 집계, 검색 및 로그 분석을 허용합니다.

구현 : 마이크로 서비스 로깅 : 각 스프링 부트 마이크로 서비스는 HTTP 관련 정보를 출력하기 위해 로그를 구성해야합니다. 여기에는 일반적으로 Logback 또는 Log4J2와 같은 로깅 프레임 워크를 사용하고 부록이 Syslog 서버 또는 메시지 큐 (KAFKA)로 로그를 보내도록 구성하는 것입니다. 샘플 로그백 구성 (in )은 다음과 같을 수 있습니다.
  • 를 Syslog 서버의 IP 주소로 바꾸는 것을 잊지 마십시오. 또한 로그 메시지 내에 관련 MDC (매핑 된 진단 컨텍스트) 정보를 포함하여 서비스 및 요청 (예 : 요청 ID, 사용자 ID)을 통한 로그를 연관시켜야합니다. Spring Cloud Sleuth는 이러한 ID를 생성하고 전파하는 데 큰 도움이 될 수 있습니다. src/main/resources/logback-spring.xml
  • logstash : logstash는 중앙 수집기 및 프로세서 역할을합니다. 마이크로 서비스 (Syslog 또는 메시지 대기열을 통해)로부터 로그를 수신하고, 구문 분석하고, 추가 정보를 풍부하게하고, Elasticsearch로 전달합니다. 로그 스타 구성은 패턴에 따라 로그를 필터링하고 풍부하게 할 수 있습니다. 예를 들어, 로그 메시지에서 HTTP 상태 코드, 요청 메소드 및 URL을 추출 할 수 있습니다.
    <configuration>
      <appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>your-syslog-server-ip</syslogHost>
        <port>514</port>
        <facility>LOCAL0</facility>
        <encoder>
          <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
      </appender>
    
      <root level="info">
        <appender-ref ref="SYSLOG" />
      </root>
    </configuration>
    로그인 후 복사
    elasticsearch : elasticsearch는 처리 된 로그를 저장하는 강력한 검색 및 분석 엔진입니다. Logstash는 처리 된 로그 데이터를 Elasticsearch로 보냅니다. 효율적인 쿼리 및 분석이 가능합니다.

    Kibana : your-syslog-server-ip Kibana는 Elasticsearch에 저장된 로그를 시각화하고 분석하기위한 사용자 친화적 인 인터페이스를 제공합니다. 대시 보드를 생성하여 HTTP 트래픽을 모니터링하고, 오류를 식별하고, 마이크로 서비스의 성능에 대한 통찰력을 얻을 수 있습니다.

      여러 스프링 부팅 마이크로 서비스에서 HTTP 요청 및 응답 로그를 효율적으로 통합 할 수 있습니까? Elk 스택 (Elasticsearch, Logstash, Kibana) 또는 Graylog 스택과 같은 유사한 솔루션을 적극 권장합니다. 이 시스템은 다음을 허용합니다
      중앙 집중식 스토리지 :
    • 모든 로그는 단일 위치에 저장되어 액세스 및 분석을 단순화하고 실시간 모니터링을 단순화합니다. 실시간 모니터링 : 실시간 모니터링 : 실시간으로 로그를 모니터링하여 문제를 신속하게 식별하고 해결할 수 있습니다. 이벤트. 데이터 집계 및 분석 : 통합 로그 전반적인 시스템 성능 및 동작을 분석 할 수 있습니다.
    • 엘크 스택 너머에는 다른 옵션에는 스플 렁크와 같은 중앙 집중식 로깅 서비스 (Kafka와 같은)와 같은 메시지 대기열을 사용하여 로그를 수집 한 다음 스트림 flink 또는 스파트 스트리밍과 같은 스트림 프로세스 엔진을 사용하는 것이 포함됩니다. 최상의 선택은 특정 요구와 인프라에 달려 있습니다.
    • 스프링 부팅 애플리케이션에서 중앙 집중식 로깅을 구성하기위한 중앙 집중식 로깅을 구성하기위한 모범 사례는 무엇입니까? 고 대량 HTTP 트래픽을 처리하는 조심스러운 고려가 필요합니다. 비동기 로깅 메커니즘을 사용하여 HTTP 요청을 차단합니다. 이것은 로그 쓰기가 요청 처리 시간에 영향을 미치는 것을 방지합니다. Logback 's 또는 log4j2의 는 훌륭한 선택입니다. 로그 레벨 최적화 :
    • 로그 볼륨을 제어하기 위해 적절한 로그 레벨 (디버그, 정보, 경고, 오류)을 사용하십시오. 생산에서 과도한 디버그 로깅을 피하십시오. 구조화 된 로깅 : 구조화 된 로깅 형식 (예 : JSON)을 사용하여 로그의 쉽게 구문 분석 및 분석을 용이하게합니다. 이것은 대량의 대량 시나리오에서 특히 중요합니다.
    • 집계 : 중앙 집중식 로깅 시스템에서 로그 필터링 및 집계를 구현하여 저장 및 처리 된 데이터의 양을 줄이기 위해 로그 필터링 및 처리 : 중앙 집중식 균형을 보장합니다. 피크 하중을 처리합니다. 로깅 서버의로드 밸런싱 및 장애 조치 메커니즘을 고려하십시오. 정기 모니터링 및 유지 보수 :
    로깅 시스템의 성능과 용량을 모니터링하여 잠재적 인 문제를 적극적으로 해결하십시오. 로깅 구성을 정기적으로 검토하고 최적화하십시오.

    스프링 부팅 환경에서 HTTP 요청을 위해 중앙 집중식 로깅 시스템과 통합하는 데 권장되는 도구 또는 라이브러리가 중앙 집중식 로깅 시스템과의 통합을 단순화합니다.

    • logback/log4j2 : 스프링 부팅의 표준 로깅 프레임 워크입니다. 그들은 Syslog 서버, 메시지 대기열, Elasticsearch에 직접 다른 목적지로 로그를 보내기위한 다양한 부록을 제공합니다. Spring Cloud Sleuth :
    • 이 라이브러리는 여러 마이크로 서비스에 걸쳐 추적 요청이 로그에 귀중한 컨텍스트를 추가하는 데 도움이됩니다. 고유 한 요청 ID를 자동으로 생성하여 다른 서비스에서 로그를 더 쉽게 상관시킬 수 있습니다.
    • logstash : 앞에서 언급했듯이 Logstash는 다양한 소스에서 로그를 수집, 구문 분석 및 처리하기위한 강력한 도구입니다.
    • fluentd : Logstash와 유사하고 유사한 공개적으로 Open-source입니다. 전환기.
    • kafka :
    • 중앙 집중식 로깅 시스템으로 전달하기 전에 마이크로 서비스에서 로그를 수집하기위한 고 처리량 메시지 큐로 사용할 수있는 분산 스트리밍 플랫폼. 로그. Kibana :
    • > 대시 보드를 생성하고 로그를 분석 할 수있는 Elasticsearch를위한 시각화 도구.
    • 올바른 도구를 선택하는 것은 특정 요구와 인프라에 따라 다릅니다. 더 간단한 설정의 경우 Syslog Appender와 기본 중앙 집중식 로깅 솔루션이있는 로그백/Log4J2로 충분할 수 있습니다. 복잡한 대량 환경의 경우 ELK 스택과 같은보다 강력한 솔루션이나 Kafka 및 스트림 처리 엔진의 조합이 더 적합합니다.

    위 내용은 Spring Boot HTTP 로깅 예제를 중앙 집중화합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿