繁体   English   中英

将Kubernetes群集日志发送到AWS Elasticsearch

[英]Send Kubernetes cluster logs to AWS Elasticsearch

我有一个测试Kubernetes集群,我在AWS上创建了包含Kibana用于日志管理的elasticsearch。

端点: https//search-this-is-my-es-wuktx5la4txs7avvo6ypuuyri.ca-central-1.es.amazonaws.com

据我搜索,我必须从流利的发送日志。 然后我尝试使用本文实现DaemonSet。 没运气。

请你帮我分享一下好的文件

Kibana在Elasticsearch集群上索引的内容之上提供可视化功能。 用户可以在大量数据之上创建条形图,折线图和散点图,或饼图和贴图。

要将日志数据推送到Elasticsearch,大多数人都使用logstash / fluentd(日志/数据收集器)

结帐以下链接了解更多信息:

https://www.elastic.co/webinars/introduction-elk-stack

https://logz.io/blog/fluentd-logstash/

我遇到了类似的问题。 以下是我如何运作的全部细节。

建立:

  • 可通过VPC访问AWS ES实例。
  • 使用此yaml文件作为模板。
  • k8s客户端版本v1.9.2
  • k8s服务器版本v1.8.7

主机问题:

我遇到的主要问题是正确定义环境变量。 对于FLUENT_ELASTICSEARCH_HOST ,我在主机URL上包含了https://前缀。 删除后,我的连接问题就消失了。

验证:

没有为AWS ES配置用户名或密码。 根据此讨论 ,我将FLUENT_ELASTICSEARCH_USERFLUENT_ELASTICSEARCH_PASSWORD值设置为null。

示例配置:

这是我的守护进程yaml文件中的完整环境变量集:

- name:  FLUENT_ELASTICSEARCH_HOST
  value: "vpc-MY-DOMAIN.REGION.es.amazonaws.com"
- name:  FLUENT_ELASTICSEARCH_PORT
  value: "443"
- name: FLUENT_ELASTICSEARCH_SCHEME
  value: "https"
- name: FLUENT_ELASTICSEARCH_USER
  value: null
- name: FLUENT_ELASTICSEARCH_PASSWORD
  value: null

奖金:连接到Kibana

我没有设置AWS Cognito,而是在我的kubernetes集群中创建了一个nginx pod,我用它作为代理来到达Kibana。 我使用kubectl port-foward命令从本地计算机到达nginx服务器。

这是我的nginx.conf:

server {
  listen 80;
  listen [::]:80;

  server_name MY-DOMAIN;

  location /_plugin/kibana {
      proxy_pass https://vpc-MY-DOMAIN.REGION.es.amazonaws.com/_plugin/kibana;
  }
  location / {
      proxy_pass https://vpc-MY-DOMAIN.REGION.es.amazonaws.com;
  }
}

部署nginx pod后,我运行以下命令:

kubectl port-forward POD_NAME 8888:80

现在可以通过http:// localhost:8888 / _plugin / kibana访问Kibana

我仍然遇到port-foward命令的超时问题以及nginx缓存ES服务IP的问题(因为这可能会改变),但是一旦我解决了这些问题,我就会更新我的响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM