如何使用位于远程 unix 服务器上的日志文件配置 splunk?
通常,我会通过 putty 登录到 Linux 服务器,然后从那里通过 ssh 进入另一台公司服务器,然后浏览目录并主要使用 grep 过滤器执行操作等。例如cat
:zcat
- 使用 putty 登录到 example_server
- ssh 到 ssh_server
- cd 到所需目录
- 表演猫等,
ssh_server 不允许直接从 putty 登录,我必须先登录到 example_server,然后再登录 ssh_server。
我如何配置这些日志文件以供 splunk 使用来搜索字符串,类似于我使用 grep 的方式。我已经在笔记本电脑上安装了 splunk,单击后add data > files
会dir > add new
显示数据字段的完整路径,我应该用什么路径来填充它?
1) I can't do any modification to server(have no rights), so i couldn't use splunk universal forwarder
2)There's no way i can open port to write to and make splunk listen to it, as i said my higher-ups won't allow, if something goes wrong, it will cost my job
if there's anyway i can write to port securely ,that might help.
3) I can run shell scripts FYI
4)It will help if anyone suggest how i can securely connect to log servers, download data files(not manually) a python script or .bat file, and will use this local directory in splunk :)
答案1
假设您已经在某处设置了 Splunk 实例,则有几种方法可以将日志数据转发到中心位置。
首先,最简单的方法是将您的系统日志消息发送到远程日志服务器。这仅适用于您拥有这样做的必要权利和权限并且可以将您想要的日志写入系统日志的情况。
如果您有安装权限,您可以在远程机器上设置 Splunk 转发器实例。Linux、Unix 和 Windows 甚至更多操作系统均支持此功能。
您还可以使用其他工具来转发日志,包括结语并转发系统日志。
由于无法在服务器上安装任何东西,我设置了一些脚本,这些脚本可以有效地跟踪输出文件并将结果转储到打开到 Splunk 服务器的 TCP 或 UDP 连接中。
编辑 - 由于您回复说您无权安装到此框,您可以查看通过 SSH 复制文件并将复制的目标文件夹添加到您的 Splunk 索引。安排此作业通过 cron 执行。这不是理想的选择 - 它允许在发送日志之前进行一定程度的篡改 - 但它是可行的。
编辑 - 对于您的情况,我建议您使用 nc 命令(如果有)。这是一种无需安装即可监控日志的好方法。
tail /your/log/file -f | nc <your.server.ip.addr> <yourport>
答案2
使用 Linux 系统和大多数日志管理解决方案,您只需修改 Linux 服务器上的 syslog 或 rsyslog 配置即可将所有数据发送到日志服务器。
sudo vi /etc/syslog.conf 。 @XXXX sudo /sbin/service syslog 重启
使用此配置会通过端口 514 将所有日志发送到您设置的 Splunk 日志服务器。您只需确保已设置 Splunk 以允许该流量入站。大多数情况下,这是通过设置允许 X IP 将流量发送到机器的各种主机来完成的。
其他日志记录实现(例如 OSSEC)允许您在机器上安装代理,这样您就不必修改 syslog。