문제 해결

백엔드 서버 문제

  • com.linecorp.armeria.client.UnprocessedRequestException

    ...
    com.linecorp.armeria.client.UnprocessedRequestException: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:9200
    ...

    원인

    localhost/127.0.0.1:9200은 Elasticsearch 주소입니다. Elasticsearch와 연결이 불가능한 상태일 때 발생합니다.

    조치 사항

    Elasticsearch가 정상적으로 기동 중인지 확인하고, Elasticsearch와의 연결을 확인합니다.

  • masternotdiscoveredexception: null

    원인

    elasticsearch.yml 설정값이 제대로 인식되지 않을 때 발생합니다.

    조치 사항

    Elasticsearch를 실행한 후 'http://localhost:9200/'에 접속하여 데이터 확인 시 'cluster_uuid: na’가 출력되면 Elasticsearch가 제대로 실행되지 않은 것입니다.

    Elasticsearch가 정상적으로 기동 중인지 확인하고, Elasticsearch와의 연결을 확인합니다.

  • max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    원인

    가상 메모리 영역의 max_map_count 값이 너무 낮을 때 발생합니다.

    조치 사항

    /etc/sysctl.conf 파일을 열어 vm.max_map_count 값을 아래와 같이 수정합니다.

    vm.max_map_count=262144

    만약 라이브 시스템일 경우에는 아래 명령을 추가로 수행합니다.

    $ sudo sysctl -w vm.max_map_count=262144

에이전트 문제

  • Failed to connect to localhost/127.0.0.1:4317

    [otel.javaagent 2023-03-17 10:31:29:734 +0900] [OkHttp http://localhost:4317/...] ERROR io.opentelemetry.exporter.internal.grpc.OkHttpGrpcExporter - Failed to export metrics. The request could not be executed. Full error message: Failed to connect to localhost/127.0.0.1:4317

    원인

    localhost:127.0.0.1:4317은 OpenTelemetry Collector의 주소로 연결이 불가능한 상태일 때 발생합니다.

    조치 사항

    OpenTelemetry Collector가 정상적으로 실행 중인지 확인하고, 연결 상태를 점검합니다.

웹 서버 문제

  • Apache 메트릭 수집 실패

    $ curl localhost:9117/metrics
    # HELP apache_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, and goversion from which apache_exporter was built.
    # TYPE apache_exporter_build_info gauge
    apache_exporter_build_info{branch="HEAD",goversion="go1.16.10",revision= "f4fd9dd7e9672fda120a3085f224431550baf2a7",version="0.11.0"} 1
    # HELP apache_exporter_scrape_failures_total Number of errors while scraping apache.
    # 정상적으로 메트릭 데이터를 가져올 수 없을 때 apache_exporter_scrape_failures_total 메트릭 데이터가 증가
    apache_exporter_scrape_failures_total 1
    ...

    원인

    Apache의 status 모듈이 활성화되지 않아 메트릭 데이터를 가져올 수 없을 때 발생합니다.

    조치 사항

    설치된 Apache의 conf.d 디렉터리 하위에 server-status.conf 파일을 작성하고 아래와 같이 입력합니다.

    ExtendedStatus on
    <Location "/server-status">
        SetHandler server-status
        Allow from all
    </Location>

    이후 'curl localhost:9117/metrics' 요청을 보내서 'apache_exporter_scrape_failures_total’에서 'apache_accesses_total’로 메트릭이 변경되었는지 확인합니다.

    만약 변경되지 않았다면 Apache 서버를 다시 시작합니다.

  • Nginx 실행 실패

    [emerg] 227482#227482: dlsym() "/opt/opentelemetrywebserver-sdk/sdk_lib/lib/libopentelemetry_common.so", "ngx_modules"
    failed (/opt/opentelemetry-webserversdk/sdk_lib/lib/libopentelemetry_common.so: undefined symbol:
    ngx_modules) in /etc/nginx/nginx.conf:10

    원인

    LD_LIBRARY_PATH가 설정되지 않은 경우 발생합니다.

    조치 사항

    Nginx 설치 가이드를 참고하여 LD_LIBRARY_PATH를 다시 설정합니다.

  • 리소스 설치 및 복제 실패

    원인

    서버의 라이브러리 문제로 발생합니다.

    조치 사항

    설치 및 복제 시 발생한 오류 로그를 참고하여 라이브러리를 추가하거나 수정합니다.