🥞 BE
home

Send Nginx Logs to Elastic Cloud with Agent

Date
2023/10/12
Category
Data Engineering
Tag
Elastic Stack
Detail
홈페이지에서 Add Integration을 누른 뒤, Nginx를 검색하여 추가한다. 이후 Add Nginx → Install Elastic Agent를 선택.
Copied로 명령 복사 후, Nginx가 설치된 서버에서 실행.
다음과 같이 나오면 설치 성공. 페이지 확인 후, “Add the integration”으로 넘어간다.
이 페이지에서 기본 Nginx 경로를 확인할 수 있다.
데이터 집합의 일부 이벤트는 72 시간이 지난 것이므로 Agent 가 이 이벤트를 모두 선택하도록 해야한다. 그러기 위해서는 "Ignore events older than" 필드를 지워야 한다.
Nginx access logs, Nginx error logs 모두 “Advanced options”를 바꿔준다.
메트릭은 따로 수집하지 않을 것이기에 "Collect metrics from Nginx instances"의 토글을 클릭하여 끈다.
integration 서비스를 성공적으로 구성했으면 이제 agent 가 integration 서비스를 위한 데이터를 수신하고 있는지 확인해야 한다. "Confirm incoming data"을 클릭해서 계속한다.
integration 서비스를 올바르게 설정했다면 등록된 agent 로부터 수신되는 데이터를 확인하는 다음과 비슷한 화면이 표시될 것이다. 다음은 integration assets 을 보는 단계이다. "View assets"를 클릭.
[Logs Nginx] Overview 대시보드를 클릭하면 Nginx 데이터를 볼 수 있다.
접속 끝.
이제 discover 에서 데이터를 검색하고 필터링할 차례이다. 쿼리를 작성하지 않고도 데이터를 필터링하고 검색하기 위해 Kibana 의 discover 를 사용한다.
왼쪽 상단의 햄버거 아이콘을 클릭한 다음 검색을 클릭하여 검색 UI 에 액세스한다.
화면 왼쪽에 dataset 에 잠재적으로 존재할 수 있는 필드가 표시된다. "event.dataset"을 클릭하면 해당 필드에 사용 가능한 상위 값을 확인할 수 있다.
nginx.access 옆에 있는 + 아이콘을 클릭하여 nginx access dataset 을 필터링한다. 화면 오른쪽 상단의 시간 선택기가 last 30 days 로 설정되어 있는지 확인한다. (여기선 안뜨네..)
화면 왼쪽에 있는 검색창을 사용하여 "http.response"를 필터링한다. http.response.status_code 을 클릭하면 이 필드의 상위 값이 표시된다.
"200" 옆의 + 아이콘을 클릭하면 http 응답 코드 값이 200인 모든 문서를 필터링할 수 있다. 이외에도 404 등의 값들을 필터링 할 수 있다.
마지막 단계에서 사용한 것과 동일한 검색창을 사용하여 "url.o"를 필터링합니다. + 아이콘을 url.original 필드 옆에 클릭하여 상태 코드 200를 반환한 모든 URL 을 표시한다. (역시나 잘 안뜬다.. 로그가 부족해서 ュ...ユ...그럼)
이러한 URL 중 일부는 애플리케이션 내에서 또는 다른 곳에서 여전히 참조되고 있는 오래되고 폐기된 웹 페이지일 수도 있고, 봇이 애플리케이션에서 사용 가능한 라이브 경로를 동적으로 테스트한 결과일 수도 있다.