我们有一个 Radius 服务器,它将记帐消息转发到 Linux 服务器上托管的 Syslog 服务器。我们希望从该日志文件中收集特定值,并将这些值用作 URL 中的参数,以请求形式发送到 Web 服务器。
代码应该 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"
脚本最终应该发送 URL 请求作为输出到预先确定的 IP 地址,例如 1.1.1.1。
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