在查看Kubernetes之前,我们将所有日志写入stdout(根据12-factor-app)并使用logspout将日志收集到Logstash。然后在Logstash中,我们将日志路由到不同的目标:
如何在Kubernetes中完成这些工作? 我知道使用Heapster你可以看到JVM级别的图形(内存使用等),甚至可能Heapster可以向Riemann发送事件以警告某些系统级别的统计信息(例如,磁盘已满)。但是对于应用程序级别的东西,那么什么是正确的方法呢?
答案 0 :(得分:0)
Heapster也应该从容器中抓取stdout,并且可以将数据发送到不同的后端(接收器)。它本质上是一个带有数据的API调用。查看:https://github.com/kubernetes/heapster/blob/master/docs/sink-configuration.md
我不是百分之百确定stdout是12fa的唯一方法,但我们使用内部日志库,它还将stdout流式传输到我们的日志引擎(graylog)。这发生在应用程序内部,以便将日志消息保存为完整的“事件”与heapster或其他stdout剪贴画,将每一行视为事件。