【发布时间】:2019-08-30 08:22:27
【问题描述】:
我想设置弹性堆栈(弹性搜索、logstash、beats 和 kibana)来监控我在本地裸机上运行的 kubernetes 集群。我需要关于以下两种方法的一些建议,比如哪一种更健壮、容错和生产级。假设我有一个名为 K8-abc 的 K8 集群。
方法 1- 在 kubernetes 集群之外设置弹性堆栈会更好吗?
在这种方法中,所有来自运行在 kube-system 命名空间和用户定义命名空间中的 pod 的日志都将通过 beats(在 K8-abc 上运行)获取并放入配置在 Linux Bare Metals 上的 ES 集群中Logstash(也在虚拟机上运行)。而为了获取 kubernetes 节点日志,在各个 VM(参与形成 K8-abc)上运行的节拍将获取日志并将其放入 VM 上配置的 ES 集群中。这里需要注意的是,用于形成 ES Cluster 的 VM 不是 K8-abc 的一部分。
方法 2- 在 kubernetes 集群 k8-abc 本身上设置弹性堆栈会更好吗?
在这种方法中,在 kube-system 命名空间和用户定义的命名空间中运行的 pod 的所有日志都将通过 logstash 和 beats(都在 K8-abc 上运行)发送到在 K8-abc 上配置的 Elastic 搜索集群。为了获取 K8-abc 节点日志,运行在 VM(参与形成 K8-abc)上的节拍将通过在 k8-abc 上运行的 logstash 将日志放入运行在 K8-abc 上的 ES。
有人可以帮助我评估上述两种方法的优缺点吗?即使提供了博客和案例研究的相关链接,也会有所帮助。
【问题讨论】:
标签: elasticsearch kubernetes logstash kibana elastic-stack