alert
파트너 프로그램 문의 요청이 정상적으로 전송되었습니다.
담당자가 곧 연락드리도록 하겠습니다.
메뉴 열기

PRTG API 연동

PRTG API 연동

이미 네트워크 인프라를 관리하는 많은 운영 팀에서 PRTG를 구축하여 활용하고 있습니다. 이 글에서는 어떻게 하면 PRTG의 데이터를 로그프레소에서 분석할 수 있는지 설명합니다.

HTTP REST API 액세스

아래의 쿼리는 PRTG 서버에서 HTTP REST API를 통해 센서들의 상태 정보 목록을 최대 60초 타임아웃 제한으로 가져옵니다.

wget url="http://X.X.X.X/api/table.json?content=sensors&columns=objid,group,device,sensor,status&output=json&count=50000&username=_USERNAME_&passhash=_PASSHASH_" selector="body" timeout=60 

JSON 형식의 원본 데이터를 아래와 같이 쿼리를 사용하여 한 단계씩 파싱해나갑니다. 아래와 같이 복합 객체를 1차 파싱하고 나면 prtg-version, sensors, treesize 필드로 분해됩니다.

wget url="http://X.X.X.X/api/table.json?content=sensors&columns=objid,group,device,sensor,status&output=json&count=50000&username=_USERNAME_&passhash=_PASSHASH_" selector="body" timeout=60  
| explode elements  
| parsemap field=elements
| parsejson field=own_text

이 상태에서 explode 커맨드를 사용하면 sensors 값에 들어있는 리스트를 행으로 펼칠 수 있습니다.

wget url="http://X.X.X.X/api/table.json?content=sensors&columns=objid,group,device,sensor,status&output=json&count=50000&username=_USERHASH_&passhash=_PASSHASH_" selector="body" timeout=60  
| explode elements  
| parsemap field=elements
| parsejson field=own_text
| explode sensors

마지막으로 sensors 필드의 복합 객체를 한 번 더 파싱하면 아래와 같이 원하는대로 표 형식의 데이터가 완성됩니다.

wget url="http://X.X.X.X/api/table.json?content=sensors&columns=objid,group,device,sensor,status&output=json&count=50000&username=_USERNAME_&passhash=_PASSHASH_" selector="body" timeout=60  
| explode elements  
| parsemap field=elements
| parsejson field=own_text
| explode sensors
| parsemap field=sensors

이제 상태코드를 기준으로 필터링을 해서 경보를 걸어두거나, 룩업 테이블 등 다른 데이터와 연관시켜 원하는 분석을 수행할 수 있습니다.

최신정보 받기