我在 Linux 环境中工作,我想从唯一机器 X 上的机器池中收集所有日志。我需要移动几个日志文件,但我不确定应该如何做。
我是否应该让机器不时地将日志发送到特定的监控机器,我会在每台机器上配置一个 cron,创建日志的副本并通过 scp 发送。
或者我应该配置监控机器去获取日志文件,这意味着我在每台 X 将使用 scp 连接的机器上创建了一个特定的用户“logger”(logger 将拥有我需要的日志的读取权限)。
我不知道我的池中会有多少台机器,所以它可能从 1 台机器到 99999 台机器。日志文件路径可能因机器而异。对我来说,安全性很重要,我不希望其他人能够拦截或读取日志。
我希望这个过程尽可能简单,并且尽可能不使用库或其他软件。
答案1
操作系统安全评估中心做你想做的事,并且可能让你免于重新发明轮子。
如果你真的不想使用额外的软件,至少有一个看他们的模型、他们如何验证他们的客户端、以及他们在哪里和为什么信任处理过的日志的输出。
答案2
如果您创建这样的应用程序,请为您的用户提供这两种方式。
如果服务器必须主动推送日志文件,则您的用户需要在其受监控的服务器上安装某种代理。在某些环境中,可能不鼓励这样做。
如果您拉取日志文件,那么除了允许服务器访问日志文件之外,不需要在服务器上进行进一步的安装。
因此,请向您的客户提供这两种服务并让他们自己决定。