로그 파일을 지속적으로 구문 분석하고 미리 결정된 IP 주소로 URL 요청을 보냅니다.

로그 파일을 지속적으로 구문 분석하고 미리 결정된 IP 주소로 URL 요청을 보냅니다.

Linux 서버에서 호스팅되는 Syslog 서버에 계정 메시지를 전달하는 Radius 서버가 있습니다. 우리는 이 로그 파일에서 특정 값을 수집하고 이 값을 요청 형태로 웹 서버에 전송되는 URL의 매개변수로 사용하려고 합니다.

코드는 1. radiusmsg.logLinux 서버에서 로그 파일을 지속적으로 구문 분석합니다. (): 코드는 tail -f2초마다 실행되어 새 줄을 확인하고 로그 파일에서 특정 키워드를 찾습니다.

  1. 라는 특정 키워드를 검색합니다 Acct-Status-Type=Start.

  2. User-Name위의 키워드가 로그 항목에 있는 경우 스크립트는 해당 로그에서 값, 즉 및 값을 찾아야 합니다 Framed-IP-Address.

    User-Name="Harvey.specter" 
    Framed-IP-Address="10.0.0.16"
    
  3. 스크립트는 결국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

관련 정보