这个搞了一天,记录一下,
腾讯云EC2,2核2G,上面通过minikube部署了一个单节点K8S。
想传日志,内存不太够,不可能在同一台服务器上搭ELK或者EFK了,只能用daemonset来装个filebeat,
上面连接很全了,不过有几点需要改动,
1.我传的不是kafka,而是ES,
2.type: container,这里我开始改成了log,并不好用,改回container就好了。果然是需要container来搜集容器的日志。。。另外下面的xpack和ilm也是坑,写上吧。。。
apiVersion: v1
kind: ConfigMap
metadata:
namespace: kube-system
name: filebeat-config
labels:
app: filebeat
data:
filebeat.yml: |-
filebeat.inputs:
- type: container
enabled: true
paths:
- /var/log/containers/*.log
output.elasticsearch:
hosts: ["ESendpoint:443"]
index: "test-es-logs"
username: ""
password: ""
ssl_certificate_verification: false
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
xpack.security.enabled: false
xpack.monitoring.enabled: false
xpack.graph.enabled: false
xpack.watcher.enabled: false
xpack.reporting.enabled: false
xpack.ml.enabled: false
LoadML.enabled: false
setup.ilm.enabled: false
至于ES,我买的AWS ES免费版,7.10,大家都知道,ELK家族很重视版本血统,这里有个坑,AWS的版本跟ELK并不是完全match的,
所以filebeat我又换成了文档中的filebeat-oss:7.10.2
这个是在daemonset中改的,拉取filebeat镜像时注意下。
ES配置时,记得开公网和精细化访问。就按照开始文档来就没问题。
全都配置好了,
测试阶段就是反复,
PS:今天没时间搞了,ES上时间长堆积数据,
可以过几天试试如下方法删除