11로그 API와 첨부 파일 API로그 API와 첨부 파일 API
SmartConsole을 열지 않고 자동화 스크립트로 로그를 가져오고 싶을 때, 두 개의 management API가 쓰입니다. API for Logs 는 명령 하나로 로그나 상위 통계를 조회 하고, Log Attachments API 는 그 로그에 딸린 첨부(패킷 캡처·Threat Emulation 리포트 등)를 자동으로 가져옵니다. 둘 다 Management Server에서 실행합니다.
API for Logs — 로그를 명령으로 조회
이 API의 강점은 SmartConsole의 Logs 탭 검색줄과 똑같은 필터 문법을 그대로 쓴다 는 점입니다. SmartConsole 접근 권한이 없거나, management API에 익숙한 운영자가 자동화 안에서 로그를 끌어와 통계를 내려고 할 때 유용합니다. 권한은 로그인한 사용자 프로파일대로 적용됩니다.
할 수 있는 일은 이렇습니다. 로그 가져오기 는 환경의 어느 Log Server에서든 명령 하나로 로그를 끌어오며, 선택 파라미터로 로그 종류(Traffic/Audit)·기간·필터·대상 Log Server·결과 수 제한 을 줍니다. 결과가 많으면 Log Server에 부담을 주지 않도록 작은 묶음(기본·최대 100건)으로 페이지를 나눠 가져오는데, 다음 페이지는 앞서 받은 query-id 로 이어 받습니다. 상위 통계 는 sources·destinations·services·blades·users 등 여러 필드의 top 값 을 조회합니다. 또 각 로그가 첨부를 가졌는지도 알려 줘, 그 ID로 첨부 API를 호출하게 합니다. SmartConsole에서는 버튼 하나로 현재 Logs 탭의 쿼리(기간·Log Server·필터·기본 50건 제한)를 그대로 API 명령으로 생성 할 수도 있습니다.
명령의 기본 꼴은 mgmt_cli show-logs new-query.filter <필터> new-query.time-frame <기간> ... 입니다. time-frame 은 last-hour·today·last-24-hours·this-week·last-30-days·all-time·custom 등 을 받고, custom이면 ISO 형식의 custom-start·custom-end 를 줍니다. type 으로 logs/audit를, log-servers 로 특정 서버를, max-logs-per-request(1~100)로 건수를 지정합니다. 상위 통계는 new-query.top.field <필드> new-query.top.count <수> 를, 다음 페이지는 query-id <id> 를 씁니다.
Log Attachments API — 첨부를 자동으로 가져오기
블레이드마다 첨부의 종류가 다릅니다 — IPS 로그에는 패킷 캡처, Threat Emulation 로그에는 요약 리포트 가 딸립니다. 트래픽 부담을 줄이려 로그는 보통 첨부 없이 내보내지므로, 첨부가 필요하면 이 API로 따로 가져옵니다. Log Exporter로 외부 syslog에 첨부를 끌어와 자동화에 쓰거나, 사용자에게 SmartConsole 접근을 주지 않으려는 경우에 맞습니다. 모든 게이트웨이 버전을 지원합니다.
가져오는 길은 두 가지입니다. Log Exporter 경로에서는, export-attachment-ids true 로 켜면 내보낸 로그에 log-attachment-id 가 붙 고(여러 첨부 ID를 공백으로 구분), 그 ID를 mgmt_cli get-attachment attachment-id "<id>" 에 넣어 받습니다. 응답은 base64로 인코딩된 JSON 이라, 디코딩해 지정한 폴더에 풀어야 씁니다. API for Logs 경로에서는, mgmt_cli show-logs 응답 안의 각 로그 id 를 가져와 mgmt_cli get-attachment id "<log id>" 로 그 로그의 첨부를 모두 받습니다.