5.3. 로깅 경고 문제 해결
다음 절차를 사용하여 클러스터의 로깅 경고 문제를 해결할 수 있습니다.
5.3.1. Elasticsearch 클러스터 상태가 빨간색 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 기본 shard와 해당 복제본이 노드에 할당되지 않습니다. 다음 절차에 따라 이 경고 문제를 해결합니다.
이 문서의 일부 명령은 $ES_POD_NAME
쉘 변수를 사용하여 Elasticsearch Pod를 참조합니다. 이 문서에서 직접 명령을 복사하여 붙여넣려면 이 변수를 Elasticsearch 클러스터에 유효한 값으로 설정해야 합니다.
다음 명령을 실행하여 사용 가능한 Elasticsearch Pod를 나열할 수 있습니다.
oc -n openshift-logging get pods -l component=elasticsearch
$ oc -n openshift-logging get pods -l component=elasticsearch
나열된 Pod 중 하나를 선택하고 다음 명령을 실행하여 $ES_POD_NAME
변수를 설정합니다.
export ES_POD_NAME=<elasticsearch_pod_name>
$ export ES_POD_NAME=<elasticsearch_pod_name>
이제 명령에 $ES_POD_NAME
변수를 사용할 수 있습니다.
프로세스
Elasticsearch 클러스터 상태를 확인하고 다음 명령을 실행하여 클러스터
상태가
빨간색인지 확인합니다.oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- health
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- health
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클러스터에 참여한 노드를 나열합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/nodes?v
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/nodes?v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Elasticsearch Pod를 나열하고 이전 단계의 명령 출력의 노드와 비교합니다.
oc -n openshift-logging get pods -l component=elasticsearch
$ oc -n openshift-logging get pods -l component=elasticsearch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일부 Elasticsearch 노드가 클러스터에 참여하지 않은 경우 다음 단계를 수행합니다.
다음 명령을 실행하고 출력을 관찰하여 Elasticsearch에 선택한 마스터 노드가 있는지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/master?v
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/master?v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하고 출력을 관찰하여 선택한 마스터 노드의 Pod 로그를 검토합니다.
oc logs <elasticsearch_master_pod_name> -c elasticsearch -n openshift-logging
$ oc logs <elasticsearch_master_pod_name> -c elasticsearch -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하고 출력을 관찰하여 클러스터에 참여하지 않은 노드의 로그를 확인합니다.
oc logs <elasticsearch_node_name> -c elasticsearch -n openshift-logging
$ oc logs <elasticsearch_node_name> -c elasticsearch -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
모든 노드가 클러스터에 참여한 경우 다음 명령을 실행하고 출력을 관찰하여 클러스터가 복구 프로세스 중인지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/recovery?active_only=true
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/recovery?active_only=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력이 없는 경우 복구 프로세스가 보류 중인 작업에서 지연되거나 중단될 수 있습니다.
다음 명령을 실행하고 출력을 관찰하여 보류 중인 작업이 있는지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- health | grep number_of_pending_tasks
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- health | grep number_of_pending_tasks
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 보류 중인 작업이 있는 경우 상태를 모니터링합니다. 상태가 변경되고 클러스터가 복구 중임을 나타내는 경우 계속 대기합니다. 복구 시간은 클러스터의 크기와 기타 요인에 따라 다릅니다. 그렇지 않으면 보류 중인 작업의 상태가 변경되지 않는 경우 복구가 중지되었음을 나타냅니다.
복구가 중단된 것처럼 보이면 다음 명령을 실행하고 출력을 관찰하여
cluster.routing.allocation.enable
값이none
으로 설정되어 있는지 확인합니다.oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/settings?pretty
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/settings?pretty
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster.routing.allocation.enable
값이none
으로 설정된 경우 다음 명령을 실행하여all
로 설정합니다.oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/settings?pretty \ -X PUT -d '{"persistent": {"cluster.routing.allocation.enable":"all"}}'
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/settings?pretty \ -X PUT -d '{"persistent": {"cluster.routing.allocation.enable":"all"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하고 출력을 관찰하여 인덱스가 빨간색인지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/indices?v
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/indices?v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인덱스가 빨간색이면 다음 단계를 수행하여 지웁니다.
다음 명령을 실행하여 캐시를 지웁니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name>/_cache/clear?pretty
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name>/_cache/clear?pretty
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 최대 할당 재시도 횟수를 늘립니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name>/_settings?pretty \ -X PUT -d '{"index.allocation.max_retries":10}'
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name>/_settings?pretty \ -X PUT -d '{"index.allocation.max_retries":10}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 스크롤 항목을 모두 삭제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_search/scroll/_all -X DELETE
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_search/scroll/_all -X DELETE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 시간 초과를 늘립니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name>/_settings?pretty \ -X PUT -d '{"index.unassigned.node_left.delayed_timeout":"10m"}'
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name>/_settings?pretty \ -X PUT -d '{"index.unassigned.node_left.delayed_timeout":"10m"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이전 단계에서 빨간색 인덱스를 지우지 않으면 인덱스를 개별적으로 삭제합니다.
다음 명령을 실행하여 빨간색 인덱스 이름을 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/indices?v
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cat/indices?v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 빨간색 인덱스를 삭제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_red_index_name> -X DELETE
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_red_index_name> -X DELETE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
빨간색 인덱스가 없고 클러스터 상태가 빨간색이면 데이터 노드에서 지속적으로 처리 로드가 높은지 확인합니다.
다음 명령을 실행하여 Elasticsearch JVM 힙 사용량이 높은지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_nodes/stats?pretty
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_nodes/stats?pretty
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력에서
node_name.jvm.mem.heap_used_percent
필드를 검토하여 JVM 힙 사용량을 확인합니다.- CPU 사용률이 높은지 확인합니다. CPU 활용에 대한 자세한 내용은 OpenShift Container Platform "모듈 대시보드 검토" 설명서를 참조하십시오.
5.3.2. Elasticsearch 클러스터 상태가 노란색임 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 기본 shard의 복제본 shard는 노드에 할당되지 않습니다. ClusterLogging
사용자 정의 리소스(CR)에서 nodeCount
값을 조정하여 노드 수를 늘립니다.
5.3.3. Elasticsearch 노드 디스크 낮은 워터마크 도달 링크 복사링크가 클립보드에 복사되었습니다!
Elasticsearch는 낮은 워터마크에 도달하는 노드에 shard를 할당하지 않습니다.
이 문서의 일부 명령은 $ES_POD_NAME
쉘 변수를 사용하여 Elasticsearch Pod를 참조합니다. 이 문서에서 직접 명령을 복사하여 붙여넣려면 이 변수를 Elasticsearch 클러스터에 유효한 값으로 설정해야 합니다.
다음 명령을 실행하여 사용 가능한 Elasticsearch Pod를 나열할 수 있습니다.
oc -n openshift-logging get pods -l component=elasticsearch
$ oc -n openshift-logging get pods -l component=elasticsearch
나열된 Pod 중 하나를 선택하고 다음 명령을 실행하여 $ES_POD_NAME
변수를 설정합니다.
export ES_POD_NAME=<elasticsearch_pod_name>
$ export ES_POD_NAME=<elasticsearch_pod_name>
이제 명령에 $ES_POD_NAME
변수를 사용할 수 있습니다.
프로세스
다음 명령을 실행하여 Elasticsearch가 배포된 노드를 식별합니다.
oc -n openshift-logging get po -o wide
$ oc -n openshift-logging get po -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 할당되지 않은 shard가 있는지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/health?pretty | grep unassigned_shards
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/health?pretty | grep unassigned_shards
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 할당되지 않은 shard가 있는 경우 다음 명령을 실행하여 각 노드에서 디스크 공간을 확인합니다.
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
$ for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력에서
Use
열을 확인하여 해당 노드에서 사용된 디스크 백분율을 확인합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용된 디스크 백분율이 85%를 초과하는 경우 노드가 낮은 워터마크를 초과하여 더 이상 이 노드에 shard를 할당할 수 없습니다.
현재
redundancyPolicy
를 확인하려면 다음 명령을 실행합니다.oc -n openshift-logging get es elasticsearch \ -o jsonpath='{.spec.redundancyPolicy}'
$ oc -n openshift-logging get es elasticsearch \ -o jsonpath='{.spec.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서
ClusterLogging
리소스를 사용하는 경우 다음 명령을 실행합니다.oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
$ oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터
redundancyPolicy
값이SingleRedundancy
값보다 크면SingleRedundancy
값으로 설정하고 이 변경 사항을 저장합니다.이전 단계에서 문제가 해결되지 않으면 이전 인덱스를 삭제합니다.
다음 명령을 실행하여 Elasticsearch의 모든 인덱스의 상태를 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 삭제할 수 있는 이전 인덱스를 확인합니다.
다음 명령을 실행하여 인덱스를 삭제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.4. 높은 워터마크에 도달한 Elasticsearch 노드 디스크 링크 복사링크가 클립보드에 복사되었습니다!
Elasticsearch는 워터마크 임계값 제한을 초과하지 않은 디스크 사용량이 낮은 노드로 높은 워터마크에 도달한 노드에서 shard를 재배치하려고 합니다.
특정 노드에 shard를 할당하려면 해당 노드에서 일부 공간을 확보해야 합니다. 디스크 공간을 늘릴 수 없는 경우 클러스터에 새 데이터 노드를 추가하거나 총 클러스터 중복 정책을 줄입니다.
이 문서의 일부 명령은 $ES_POD_NAME
쉘 변수를 사용하여 Elasticsearch Pod를 참조합니다. 이 문서에서 직접 명령을 복사하여 붙여넣려면 이 변수를 Elasticsearch 클러스터에 유효한 값으로 설정해야 합니다.
다음 명령을 실행하여 사용 가능한 Elasticsearch Pod를 나열할 수 있습니다.
oc -n openshift-logging get pods -l component=elasticsearch
$ oc -n openshift-logging get pods -l component=elasticsearch
나열된 Pod 중 하나를 선택하고 다음 명령을 실행하여 $ES_POD_NAME
변수를 설정합니다.
export ES_POD_NAME=<elasticsearch_pod_name>
$ export ES_POD_NAME=<elasticsearch_pod_name>
이제 명령에 $ES_POD_NAME
변수를 사용할 수 있습니다.
프로세스
다음 명령을 실행하여 Elasticsearch가 배포된 노드를 식별합니다.
oc -n openshift-logging get po -o wide
$ oc -n openshift-logging get po -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 노드의 디스크 공간을 확인합니다.
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
$ for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터가 재조정 중인지 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/health?pretty | grep relocating_shards
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_cluster/health?pretty | grep relocating_shards
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력에 shard 재배치가 표시되면 높은 워터마크가 초과되었습니다. 높은 워터마크의 기본값은 90%입니다.
- 모든 노드의 디스크 공간을 늘립니다. 디스크 공간을 늘릴 수 없는 경우 클러스터에 새 데이터 노드를 추가하거나 총 클러스터 중복 정책을 줄입니다.
현재
redundancyPolicy
를 확인하려면 다음 명령을 실행합니다.oc -n openshift-logging get es elasticsearch \ -o jsonpath='{.spec.redundancyPolicy}'
$ oc -n openshift-logging get es elasticsearch \ -o jsonpath='{.spec.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서
ClusterLogging
리소스를 사용하는 경우 다음 명령을 실행합니다.oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
$ oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터
redundancyPolicy
값이SingleRedundancy
값보다 크면SingleRedundancy
값으로 설정하고 이 변경 사항을 저장합니다.이전 단계에서 문제가 해결되지 않으면 이전 인덱스를 삭제합니다.
다음 명령을 실행하여 Elasticsearch의 모든 인덱스의 상태를 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 삭제할 수 있는 이전 인덱스를 확인합니다.
다음 명령을 실행하여 인덱스를 삭제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.5. Elasticsearch 노드 디스크 플러드 워터마크에 도달했습니다 링크 복사링크가 클립보드에 복사되었습니다!
Elasticsearch는 이러한 두 조건을 모두 충족하는 모든 인덱스에 읽기 전용 인덱스 블록을 적용합니다.
- 하나 이상의 shard가 노드에 할당됩니다.
- 하나 이상의 디스크가 플러드 단계를 초과합니다.
다음 절차에 따라 이 경고 문제를 해결합니다.
이 문서의 일부 명령은 $ES_POD_NAME
쉘 변수를 사용하여 Elasticsearch Pod를 참조합니다. 이 문서에서 직접 명령을 복사하여 붙여넣려면 이 변수를 Elasticsearch 클러스터에 유효한 값으로 설정해야 합니다.
다음 명령을 실행하여 사용 가능한 Elasticsearch Pod를 나열할 수 있습니다.
oc -n openshift-logging get pods -l component=elasticsearch
$ oc -n openshift-logging get pods -l component=elasticsearch
나열된 Pod 중 하나를 선택하고 다음 명령을 실행하여 $ES_POD_NAME
변수를 설정합니다.
export ES_POD_NAME=<elasticsearch_pod_name>
$ export ES_POD_NAME=<elasticsearch_pod_name>
이제 명령에 $ES_POD_NAME
변수를 사용할 수 있습니다.
프로세스
Elasticsearch 노드의 디스크 공간을 가져옵니다.
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
$ for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력에서
Avail
열을 확인하여 해당 노드에서 사용 가능한 디스크 공간을 확인합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모든 노드의 디스크 공간을 늘립니다. 디스크 공간을 늘릴 수 없는 경우 클러스터에 새 데이터 노드를 추가하거나 총 클러스터 중복 정책을 줄입니다.
현재
redundancyPolicy
를 확인하려면 다음 명령을 실행합니다.oc -n openshift-logging get es elasticsearch \ -o jsonpath='{.spec.redundancyPolicy}'
$ oc -n openshift-logging get es elasticsearch \ -o jsonpath='{.spec.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서
ClusterLogging
리소스를 사용하는 경우 다음 명령을 실행합니다.oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
$ oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터
redundancyPolicy
값이SingleRedundancy
값보다 크면SingleRedundancy
값으로 설정하고 이 변경 사항을 저장합니다.이전 단계에서 문제가 해결되지 않으면 이전 인덱스를 삭제합니다.
다음 명령을 실행하여 Elasticsearch의 모든 인덱스의 상태를 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 삭제할 수 있는 이전 인덱스를 확인합니다.
다음 명령을 실행하여 인덱스를 삭제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
디스크 공간을 계속 확보하고 모니터링합니다. 사용된 디스크 공간이 90% 미만으로 떨어지면 다음 명령을 실행하여 이 노드에 쓰기 차단을 해제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_all/_settings?pretty \ -X PUT -d '{"index.blocks.read_only_allow_delete": null}'
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=_all/_settings?pretty \ -X PUT -d '{"index.blocks.read_only_allow_delete": null}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.6. Elasticsearch JVM 힙 사용량이 높음 링크 복사링크가 클립보드에 복사되었습니다!
사용된 Elasticsearch 노드 JVM(Java 가상 머신) 힙 메모리는 75% 이상입니다. 힙 크기를 늘리는 것이 좋습니다.
5.3.7. 집계된 로깅 시스템 CPU가 높음 링크 복사링크가 클립보드에 복사되었습니다!
노드의 시스템 CPU 사용량이 높습니다. 클러스터 노드의 CPU를 확인합니다. 더 많은 CPU 리소스를 노드에 할당하는 것이 좋습니다.
5.3.8. Elasticsearch 프로세스 CPU가 높음 링크 복사링크가 클립보드에 복사되었습니다!
노드의 Elasticsearch 프로세스 CPU 사용량이 높습니다. 클러스터 노드의 CPU를 확인합니다. 더 많은 CPU 리소스를 노드에 할당하는 것이 좋습니다.
5.3.9. Elasticsearch 디스크 공간이 부족합니다. 링크 복사링크가 클립보드에 복사되었습니다!
Elasticsearch는 현재 디스크 사용량에 따라 향후 6시간 이내에 디스크 공간이 부족해질 것으로 예상됩니다. 다음 절차에 따라 이 경고 문제를 해결합니다.
프로세스
Elasticsearch 노드의 디스크 공간을 가져옵니다.
for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
$ for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; \ do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod \ -- df -h /elasticsearch/persistent; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력에서
Avail
열을 확인하여 해당 노드에서 사용 가능한 디스크 공간을 확인합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모든 노드의 디스크 공간을 늘립니다. 디스크 공간을 늘릴 수 없는 경우 클러스터에 새 데이터 노드를 추가하거나 총 클러스터 중복 정책을 줄입니다.
현재
redundancyPolicy
를 확인하려면 다음 명령을 실행합니다.oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'
$ oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서
ClusterLogging
리소스를 사용하는 경우 다음 명령을 실행합니다.oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
$ oc -n openshift-logging get cl \ -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터
redundancyPolicy
값이SingleRedundancy
값보다 크면SingleRedundancy
값으로 설정하고 이 변경 사항을 저장합니다.이전 단계에서 문제가 해결되지 않으면 이전 인덱스를 삭제합니다.
다음 명령을 실행하여 Elasticsearch의 모든 인덱스의 상태를 확인합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME -- indices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 삭제할 수 있는 이전 인덱스를 확인합니다.
다음 명령을 실행하여 인덱스를 삭제합니다.
oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
$ oc exec -n openshift-logging -c elasticsearch $ES_POD_NAME \ -- es_util --query=<elasticsearch_index_name> -X DELETE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.10. Elasticsearch FileDescriptor 사용량이 높음 링크 복사링크가 클립보드에 복사되었습니다!
현재 사용 추세를 기준으로 노드의 예상 파일 설명자 수가 충분하지 않습니다. Elasticsearch File Descriptors 문서에 설명된 대로 각 노드의 max_file_descriptors
값을 확인합니다.