Cloud Log Analytics를 이용하면서 다음과 같은 문제를 겪을 수 있습니다. 문제별 원인과 해결 방법을 확인하고 적절하게 조치해 주십시오.
로그 삭제
로그를 삭제하고 싶습니다.
원인
Cloud Log Analytics에 저장된 로그는 임의로 삭제할 수 없습니다.
해결 방법
원인에서 설명한 바와 같이, 로그는 임의로 삭제할 수 없습니다. 로그 저장 기간은 최대 30일이며, 데이터는 30일이 지나면 오래된 순서대로 삭제됩니다. 자세한 설명은 Cloud Log Analytics 사용 준비을 참조해 주십시오.
로그 수집 해제
Cloud DB for MySQL 이용 중인데 로그 수집 기능을 사용하고 싶지 않습니다.
원인
Cloud DB 서비스는 Cloud Log Analytics와 연동하여 Error 로그와 Slow Query 로그를 수집하여 제공하고 있습니다. Cloud DB 서비스는 Cloud Log Analytics 서비스 사용이 필수이기 때문에 Cloud Log Analytics 해지 및 로그 삭제는 불가합니다.
해결 방법
원인에서 설명한 바와 같이, Cloud DB 서비스를 이용 중인 경우, Cloud Log Analytics와 연동 해제는 불가합니다.
filebeat 로그 조회
수집 설정 에이전트가 설치된 후 로그가 잘 보내는지 서버에서 filebeat 로그를 조회하고 싶습니다.
원인
filebeat의 로그는 파일로 생성되지 않도록 설정되어 있습니다.
해결 방법
로그 파일을 남기려면 다음과 같이 조치해 주십시오.
/etc/filebeat/filebeat.yml파일의 맨 아래에 다음 내용을 추가해 주십시오.
logging.level: debug
logging.to_stderr: false
logging.to_syslog: false
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat
keepfiles: 7
permissions: 0644
- 에이전트를 재시작해 주십시오.
sudo systemctl restart filebeat.service
/var/log/filebeat경로에 생성된 로그 파일에서 오류 메시지를 확인해 주십시오.
로그 파일은 최대 7개까지 생성된 후 순환되므로 디스크 사용량이 계속 증가하지는 않습니다. 사용량을 더 줄여야 하는 경우 logging.level: error, keepfiles: 3 으로 설정한 후 확인해 주십시오. 확인이 끝나면 추가한 설정을 삭제해 주십시오.
로그 수집 경로, 수집 서버 주소 등 콘솔에서 설정하는 항목은 filebeat.yml 파일에서 직접 수정하지 말아 주십시오. 자세한 내용은 특정 로그 미수집을 참조해 주십시오.
로그 전송 오류
에이전트를 설치하고 "Finish Installation" 메시지를 확인했는데, 로그가 전송되지 않습니다.
원인
로그가 조회되지 않는 상황은 다음과 같이 구분됩니다. 해당하는 상황의 항목을 먼저 확인해 주십시오.
| 조회 상태 | 확인 항목 |
|---|---|
| 로그 전체 미조회 | 아래 해결 방법 |
| 템플릿 로그(SYSLOG, Security 등) 정상 조회, Custom Log만 미조회 | 특정 로그 미수집 |
| Search의 Log Type 목록에 일부 Log Type 미표시, 로그 발생 직후 미조회 | 수집 로그 미조회 |
로그가 전혀 전송되지 않는 경우의 원인은 다음과 같습니다.
| 원인 | 확인 방법 |
|---|---|
| 에이전트(filebeat) 프로세스 미구동 | 프로세스 목록 조회 결과에 filebeat 부재 |
| 방화벽, ACG, 서버 내 iptables 설정으로 인한 수집 서버 통신 차단 | 수집 서버 5043 포트 접속 실패 |
| 설치 서버 포트만 허용하고 수집 서버 포트 미허용 | 설치는 완료되었으나 수집 서버 5043 포트 접속 실패 |
| 에이전트 설정 파일 미생성, 수집 서버 주소 누락 | 설정 파일 부재 또는 output.logstash.hosts 값 부재 |
| 에이전트가 설치된 서버 이미지로 생성한 서버 | 이전 서버 기준으로 설치된 에이전트 잔존 |
해결 방법
다음 순서로 확인하고 조치해 주십시오.
- 에이전트 프로세스가 구동 중인지 확인해 주십시오.
ps -ef | grep filebeat
- 프로세스가 없는 경우
sudo systemctl restart filebeat.service명령으로 재시작해 주십시오.
- 에이전트 설정 파일이 생성되었는지, 수집 서버 주소가 포함되어 있는지 확인해 주십시오.
ls -altr /etc/filebeat/filebeat.yml
cat /etc/filebeat/filebeat.yml
- 파일이 없거나 내용이 비어 있는 경우, 콘솔의 설치 명령어를 서버에서 다시 실행해 주십시오.
output.logstash.hosts항목에 수집 서버 주소와 포트가 있어야 합니다. 이 값이 3번에서 확인할 수집 서버 주소입니다.
- 서버에서 수집 서버로 통신이 되는지 확인해 주십시오. 수집 서버의 포트는
5043/TCP입니다.
telnet {수집 서버 주소} 5043
- Windows 서버에서는
Test-NetConnection {수집 서버 주소} -Port 5043명령을 이용해 주십시오. - 이용 중인 환경의 수집 서버 주소는 2번에서 확인한
output.logstash.hosts값으로 확인할 수 있습니다.
에이전트 설치에 사용하는 설치·관리 서버와 로그를 전송하는 수집 서버는 서로 다른 서버이며 포트도 다릅니다. 설치·관리 서버의 80/TCP 만 허용한 경우 설치는 완료되지만 로그는 전송되지 않습니다. 두 서버의 통신을 모두 허용해 주십시오.
-
통신이 되지 않는 경우 ACG 또는 방화벽에서 해당 주소와 포트의 아웃바운드 통신을 허용해 주십시오. 서버 내에서
iptables를 이용하는 경우 허용 대상을 destination으로 등록해야 합니다. -
에이전트가 설치된 상태의 서버 이미지로 생성한 서버인 경우, 이전 서버를 기준으로 설치된 에이전트가 남아 있어 로그가 전송되지 않을 수 있습니다. 에이전트를 삭제한 후, 해당 서버의 Management 화면에서 발급된 설치 명령어로 다시 설치해 주십시오.
-
위 항목을 모두 확인한 후에도 로그가 전송되지 않는 경우, filebeat 로그 조회의 방법으로 진단 로그를 남긴 후
/var/log/filebeat경로의 오류 메시지와 함께 고객 지원으로 문의해 주십시오.
특정 로그 미수집
SYSLOG, Security 등 템플릿으로 설정한 로그는 조회되는데, Custom Log만 조회되지 않습니다.
원인
일부 로그만 수집되지 않는 경우는 에이전트 전체의 문제가 아니라 해당 Log Type의 수집 설정 또는 수집 대상 파일의 문제입니다. 원인은 다음과 같습니다.
| 원인 | 확인 방법 |
|---|---|
| 콘솔 수집 설정의 서버 미반영 | 설정 파일의 paths 항목에 해당 로그 경로 부재 |
| 경로에 파일명 미지정 | paths 항목이 디렉토리까지만 지정 |
| 경로 또는 파일명 오타 | paths 항목의 문자열과 실제 파일명 불일치 |
| 수집 대상 파일 부재 | 지정한 경로에 파일 없음 |
| 심볼릭 링크 대상 파일 교체 | 고정된 링크 파일명으로 지정 |
| 텍스트 파일이 아닌 파일 지정 | 바이너리 파일 또는 압축 파일 지정 |
| 로그 파일 읽기 권한 부족 | root 권한이 아닌 계정으로 에이전트 설치 |
해결 방법
1. 수집 설정 반영 여부 확인
가장 많이 발생하는 원인입니다. 콘솔에서 수집 로그를 추가하거나 경로를 변경한 후에는 Management 화면에 표시되는 설치 명령어를 서버에서 다시 실행해야 변경 내용이 에이전트 설정 파일에 반영됩니다.
- 설정 파일에서 수집되지 않는 로그의 경로가 있는지 확인해 주십시오.
cat /etc/filebeat/filebeat.yml
paths항목에 해당 경로가 없으면, 콘솔 화면에서 해당 서버의 설치 명령어를 다시 복사하여 서버에서 실행해 주십시오.
filebeat.yml 파일의 수집 경로를 직접 수정하지 말아 주십시오. 인증에 사용되는 값은 설치 시 서버에서 생성되므로, 파일을 직접 수정하면 콘솔의 수집 설정과 내용이 달라져 로그가 수집되지 않을 수 있습니다.
2. 수집 경로와 대상 파일 확인
- 설정 파일의
paths항목에 디렉토리 경로만 입력되어 있는지 확인해 주십시오. 로그는 파일 단위로 수집되므로 경로에 파일명 또는 파일명 패턴까지 입력해야 합니다.
- 수집되지 않는 예)
/home/nginx/log - 수집되는 예)
/home/nginx/log/access*.log
paths항목의 문자열과 실제 파일명이 일치하는지 확인해 주십시오. 지정한 경로에 파일이 있는지 다음 명령으로 확인할 수 있습니다.
ls -altr {로그 경로}
-
수집 대상이 심볼릭 링크이고 링크 대상 파일이 주기적으로 교체되는 경우, 고정된 링크 파일명 대신 실제 로그 파일명의 패턴으로 설정을 변경해 주십시오.
-
경로를 변경한 후에는 1번의 방법으로 설치 명령어를 다시 실행해 주십시오.
Log 경로 입력 규칙과 예시는 Management을 참조해 주십시오.
3. 수집 대상 파일 형식 확인
에이전트는 텍스트 파일만 수집합니다. 바이너리 파일(wtmp, btmp, lastlog 등)이나 압축 파일은 수집 대상으로 지정해도 정상적으로 수집되지 않습니다. 텍스트 형식으로 기록되는 로그 파일을 지정해 주십시오.
4. 에이전트 설치 계정 확인
일부 로그 파일에 읽기 권한이 없는 계정으로 에이전트를 설치한 경우 해당 로그만 수집되지 않을 수 있습니다. 이 경우 로그 파일의 권한을 넓게 변경하는 방법으로는 해결되지 않으므로, root 권한으로 에이전트를 다시 설치해 주십시오.
5. 추가 확인
위 항목을 모두 확인한 후에도 로그가 수집되지 않는 경우, filebeat 로그 조회의 방법으로 진단 로그를 남긴 후 /var/log/filebeat 경로의 오류 메시지와 함께 고객 지원으로 문의해 주십시오.
수집 로그 미조회
로그가 수집되고 있는데 Search 화면에서 일부 로그가 조회되지 않습니다.
원인
다음은 모두 정상 동작이며 로그가 수집되지 않은 것이 아닙니다.
| 상황 | 원인 |
|---|---|
| Search의 Log Type 목록에 특정 Log Type 미표시 | 로그양이 많은 상위 5개 Log Type만 목록에 노출 |
| 방금 발생한 로그 미조회 | 로그 전송 후 색인, 검색 반영까지의 시간차 |
| 와일드카드로 지정한 롤링 로그의 과거 내용 미조회 | 에이전트가 이미 읽은 위치 이후에 추가된 내용만 전송 |
해결 방법
-
Search의 Log Type 목록에는 로그양이 많은 상위 5개 Log Type만 표시됩니다. 목록에 표시되지 않는 것은 해당 로그가 수집되지 않았다는 의미가 아닙니다. 수집 여부는 Menu > All Services > Management & Governance > Cloud Log Analytics > Management 화면의 수집 설정 상태로 확인해 주십시오.
-
로그가 전송된 후 검색에 반영되기까지는 시간 차이가 있습니다. 로그 발생 직후 조회되지 않는 경우 잠시 후 다시 조회해 주십시오.
-
와일드카드로 롤링 로그를 수집하는 경우, 에이전트는 각 파일에서 이미 읽은 위치를 관리하며 그 이후에 추가된 내용만 전송합니다. 파일이 새로 생성되거나 교체되어도 중복 전송되거나 누락되지 않습니다.
검색 조건과 검색 결과 표시 방법은 Search를 참조해 주십시오.
이 가이드에서 필요한 정보를 찾지 못했거나 추가로 필요한 정보가 있으신 경우, 언제든지 아래의 피드백 아이콘을 클릭하여 의견을 보내 주십시오. 전달해 주신 의견을 참고하여 더 유용한 정보를 제공하겠습니다.