ELK监视Kubernetes

时间:2019-03-07 06:51:39

标签: performance azure docker kubernetes elastic-stack

我正在运行Kubernetes集群,并在另一台机器上创建了ELK堆栈。 现在我想将日志从Kubernetes集群发送到ELK,我该如何实现呢? ELK堆栈在群集之外。

4 个答案:

答案 0 :(得分:1)

您尝试过fluentd吗?收集日志并能够将日志发送到Elastic search的日志记录代理。

更新

我刚刚在kops回购中找到了一些示例。您可以检查here

答案 1 :(得分:0)

您可以运行filebeat来从kubernetes收集日志。 按照链接上的documentation的说明:

下载kubernetes.yaml更改后:

- name: ELASTICSEARCH_HOST
  value: [your elastic search domain]
- name: ELASTICSEARCH_PORT
  value: "9200"
- name: ELASTICSEARCH_USERNAME
  value: elastic
- name: ELASTICSEARCH_PASSWORD
  value: changeme

请注意!您需要管理员权限才能创建filebeat ServiceAccount

答案 2 :(得分:0)

我们可以使用EFK堆栈进行Kubernetes日志记录和监视。我们需要一个具有以下功能的Kubernetes集群。

  1. 能够运行特权容器。
  2. 已启用头盔和分till。
  3. 状态集和动态卷供应功能:Elasticsearch作为状态集部署在Kubernetes上。最好使用Kubernetes的最新版本(撰写本文时为1.10版)

有关逐步指南,请参考https://platform9.com/blog/kubernetes-logging-and-monitoring-the-elasticsearch-fluentd-and-kibana-efk-stack-part-2-elasticsearch-configuration/

答案 3 :(得分:0)

您可以使用Winston之类的日志记录模块,通过其提供的插件将日志发送给Elastic

它非常直接且易于设置

在我的节点应用程序中,我使用了这个 Winston plugin