Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 网络弹性集中式日志记录的最佳实践_Logging_Syslog - Fatal编程技术网

Logging 网络弹性集中式日志记录的最佳实践

Logging 网络弹性集中式日志记录的最佳实践,logging,syslog,Logging,Syslog,我们有50多台服务器,它们都会生成大量日志,并通过rsyslog发送给第三方(Logtrust),因此我们可以进行集中分析。Logtrust还允许进行实时分析 到目前为止,我们没有保存我们的应用程序的任何本地文件日志。它们都写入syslog,syslog直接写入Logtrust 我不想将所有日志都保存在本地,但我担心第三方/非机器依赖性。如果出于某种原因,我们的日志无法访问它们(本地配置问题、本地中继中断、第三方服务器中断、网络/ISP问题),我们无法查看日志 我们还可以让rsyslog写入本地

我们有50多台服务器,它们都会生成大量日志,并通过rsyslog发送给第三方(Logtrust),因此我们可以进行集中分析。Logtrust还允许进行实时分析

到目前为止,我们没有保存我们的应用程序的任何本地文件日志。它们都写入syslog,syslog直接写入Logtrust

我不想将所有日志都保存在本地,但我担心第三方/非机器依赖性。如果出于某种原因,我们的日志无法访问它们(本地配置问题、本地中继中断、第三方服务器中断、网络/ISP问题),我们无法查看日志

我们还可以让rsyslog写入本地文件,并对其进行日志轮换,使其不会变得太大(例如1Gb),或者让每个应用程序管理自己的tee到syslog和本地文件


这个文件上限有多大?我们应该在本地登录吗?这里有哪些行业最佳实践?

有多种可能性。rsyslog是一个非常稳定和高性能的产品,因此在任何情况下,我都建议您的应用程序始终与rsyslog通信,而不是直接写入某个文件

在rsyslog中,您可以为日志消息定义多个操作

一个操作负责将日志发送到Logtrust。该操作应该有一个磁盘辅助内存队列()。当rsyslog无法将某些消息中继到Logtrust时,消息将在rsyslog队列中缓冲,直到可以传递为止

您可以定义更多操作:

  • 您可以要求rsyslog也使用文件操作将每条消息写入本地文件。然后使用logrotate清除旧文件。保留期应足够长,以便在发生事故时有时间进行调查。因此通常在3天(应付周末)到1周之间

  • 如果您负担得起复杂性,您可以在内部设置一个集中的rsyslog实例。集中式服务器将收集所有应用程序的日志,并在Logtrust关闭时作为备份解决方案。在本地rsyslog实例和集中式实例之间,使用协议RELP确保没有日志丢失

  • 如果您需要能够高效地搜索集中实例中的日志,那么当前的最佳实践是将它们进一步存储到Elasticsearch或Graylog(也是基于Elasticsearch的)中。Rsyslog可以以本机方式将日志转发到这两种产品