ログファイルを継続的に解析し、所定のIPアドレスにURLリクエストを送信します。

ログファイルを継続的に解析し、所定のIPアドレスにURLリクエストを送信します。

LinuxサーバーでホストされているSyslogサーバーにアカウントメッセージを転送するRadiusサーバーがあります。このログファイルから特定の値を収集し、この値を要求の形式でWebサーバーに送信される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

関連情報