문제 해결
백엔드 서버 문제
-
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를 다시 설정합니다.
-
리소스 설치 및 복제 실패
원인
서버의 라이브러리 문제로 발생합니다.
조치 사항
설치 및 복제 시 발생한 오류 로그를 참고하여 라이브러리를 추가하거나 수정합니다.