我对 Linux 和网络还比较陌生,但在工作中被分配了以下任务:我建立了一台 CentOS VM 机器(使用 VirtualBox),我必须在上面安装 Splunk Heavy Forwarder 和 syslog-ng。其想法是 syslog-ng 将在端口上监听传入日志并将其写入文件。之后,我将把这些日志导入 Splunk,对特定文件进行文件监控。
我遇到了两个问题。
- 我不确定我是否正确配置了 syslog-ng,因为我发现模拟流量很困难。我被告知尝试使用 netcat。我所做的如下:
我创建了 /var/log/syslog-ng/testlog.txt 文件,它具有以下权限 -rw-r--r--
我的 syslog-ng.conf 中的源驱动程序 -
源 s_test { 网络( ip(“ 127.0.0.1”) 传输(“ tcp”) 端口(2514) ); };
我的目标驱动因素是 -
目标 d_tests { 文件 ( “/var/log/syslog-ng/testlog.txt” ) ; };
我的日志声明是 -
日志 { 源(s_test); 目的地(d_test); 目的地(d_tests); };
我尝试使用 nc -q0 127.0.0.1 2514 来模拟流量,但它产生错误,即 q 是 nc 的无效选项。
任何帮助我都会非常感激。谢谢。
答案1
只需创建三个不同的来源:
源 s_test { 网络( ip(“ 127.0.0.1”) 传输(“ tcp”) 端口(2514) ); };
源 s_test2 { 网络( ip(“127.0.0.1”) 传输(“tcp”) 端口(2515) ); };
源 s_test3 { 网络( ip(“127.0.0.1”) 传输(“tcp”) 端口(2516) ); };
还创建三个目的地和日志路径。
您可以使用以下方式模拟流量登录syslog-ng 的命令。