ShareWAF二次开发实例:实现对SysLog日志的支持。
在ShareWAF中,日志是以特有的格式记录在ShareWAF本地或远程mongodb数据库。
而有的场景中,需要标准化的日志记录,比如常用的syslog协议的远程日志记录。
通过ShareWAF的二次开发接口,是可以实现的。
以记录请求的URL、记录到远程SysLog日志服务器为例。实现方法如下:
一、首先编写一个简单的syslog服务器
用于演示接收syslog日志信息。nodejs编程,借助于syslog-server模块实现。
代码如下:
注:仅做演示之用,输出信息,并不存储。
二、通过ShareWAF接口,实现syslog客户端、记录信息到syslog服务器
打开developer.js,在modify_req_url中,添加如下代码:
即:记录url到127.0.0.1地址的syslog日志服务器。
syslog日志记录效果
发起访问,然后在ShareWAF和syslog服务器中,都可以看到同步的日志信息:
可以看到,syslog服务器接收到了时间、ip、ip类型、url等信息。