Kubernetes中的应用程序记录/警报/计量

时间:2017-01-04 15:18:21

标签: kubernetes

在查看Kubernetes之前,我们将所有日志写入stdout(根据12-factor-app)并使用logspout将日志收集到Logstash。然后在Logstash中,我们将日志路由到不同的目标:

  1. InfluxDB + Grafana:监控应用程序指标(例如,某项计算需要多长时间)
  2. Riemann:如果超出某些性能阈值,则发出警报
  3. 如何在Kubernetes中完成这些工作? 我知道使用Heapster你可以看到JVM级别的图形(内存使用等),甚至可能Heapster可以向Riemann发送事件以警告某些系统级别的统计信息(例如,磁盘已满)。但是对于应用程序级别的东西,那么什么是正确的方法呢?

1 个答案:

答案 0 :(得分:0)

Heapster也应该从容器中抓取stdout,并且可以将数据发送到不同的后端(接收器)。它本质上是一个带有数据的API调用。查看:https://github.com/kubernetes/heapster/blob/master/docs/sink-configuration.md

我不是百分之百确定stdout是12fa的唯一方法,但我们使用内部日志库,它还将stdout流式传输到我们的日志引擎(graylog)。这发生在应用程序内部,以便将日志消息保存为完整的“事件”与heapster或其他stdout剪贴画,将每一行视为事件。