Linux 서버에서 호스팅되는 Syslog 서버에 계정 메시지를 전달하는 Radius 서버가 있습니다. 우리는 이 로그 파일에서 특정 값을 수집하고 이 값을 요청 형태로 웹 서버에 전송되는 URL의 매개변수로 사용하려고 합니다.
코드는 1. radiusmsg.log
Linux 서버에서 로그 파일을 지속적으로 구문 분석합니다. (): 코드는 tail -f
2초마다 실행되어 새 줄을 확인하고 로그 파일에서 특정 키워드를 찾습니다.
라는 특정 키워드를 검색합니다
Acct-Status-Type=Start
.User-Name
위의 키워드가 로그 항목에 있는 경우 스크립트는 해당 로그에서 값, 즉 및 값을 찾아야 합니다Framed-IP-Address
.User-Name="Harvey.specter" Framed-IP-Address="10.0.0.16"
스크립트는 결국1.1.1.1과 같은 미리 결정된 IP 주소에 대한 출력으로 URL 요청을 보냅니다.
https://1.1.1.1:8999/wbc/APICrl?requexml=<request><login><username><Harvey.specter><ipaddress> <10.0.0.16></ipaddress></username></login>
로그 항목 예시:
CISE_RADIUS_Accounting 000011 1 0 2016-05-09 12:53:52.823 +03:00 0000012451 3000 NOTICE Radius-Accounting: RADIUS Accounting start request, ConfigVersionId=104, Device IP Address=10.0.0.12, RequestLatency=12, NetworkDeviceName=DefaultNetworkDevice, User-Name=Harvey.specter, NAS-IP-Address=10.0.0.1, Framed-IP-Address=10.0.0.16, Session-Timeout=90, Calling-Station-ID=, Acct-Status-Type=Start, Acct-Session-Id=6, cisco-av-pair=audit-session-id=5