最近,我们的一位最资深的工程师问我关于使用syslog与将日志从应用程序写到磁盘方面的上下文切换问题。
上下文:我想使用syslog-ng从我们用C++编写的应用程序的输出到远程日志服务器主机上的logstash,然后将其全部放入elasticsearch &使用Kibana作为日志查看、分析和导出有用度量的前端。麋鹿堆
我们目前使用的是一个4K或8K的FSYNC缓冲区,它以间隔期的方式将日志发送到磁盘上的日志文件;也就是说,我们不会强迫每个日志条目都写入磁盘。
像任何优秀的性能寻求工程师一样,他想了解我们是否会看到更大的上下文切换,或者我们是否可以通过利用syslog-ng来提高性能。
所以问题是:使用syslog-ng会减少或增加应用程序主机上的上下文开关吗?
我的专业知识引导我到这里来问这个问题,因为我没有足够的知识来自己想出答案。
长期潜伏,仍未发帖。谢谢!
发布于 2014-09-11 23:01:19
这取决于您需要处理多少日志,以及您愿意投入多少资源。
我们使用Kibana/Elastic和Logstash,负载确实很重,但是我们还是有400多台服务器,所以YMMW。Java对于资源也不太宽容。但是,从好的方面来说,它是相当容易设置。
在Logstash中解析日志可以用grok完成。抛出几个VM,并使用它,如果您有一个大的环境微调配置是一个必须使它可以承受,或者如果你有钱,你可以扔它的硬件,直到它运行。
https://stackoverflow.com/questions/25798086
复制相似问题