Rancher怎么设置把日志发送给elasticsearch和kafka
- 搭建elascsearch集群
不详述 - 配置日志发送
打开日志Rancher配置日志发送
其实时在node启用了Daemonset使用fluentd进行日志收集
# kubectl get daemonset -n cattle-logging
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
rancher-logging-fluentd-linux 6 6 6 6 6 beta.kubernetes.io/os=linux 4d23h
rancher-logging-log-aggregator-linux 6 6 6 6 6 beta.kubernetes.io/os=linux 4d23h
- kibana添加日志和查看
在Discover查看时可以使用image名进行过滤
2024-04-10补充
使用以上步骤可以把日志直接发送至elasticsearch但是有可能导致es内存溢出而宕掉
下面设置把K8S日志发送至kafka再发送至elasticsearch
搭建kafka参考
https://www.cnblogs.com/minseo/p/10460886.html
通过以上设置则把日志发送至消息队列kafka
设置logstash配置文件把kafka日志输出至elasticsearch
# cat kafka-out.conf
input{
kafka {
#kafka输入
bootstrap_servers => "192.168.3.41:9092,192.168.3.42:9092,192.168.3.43:9092"
#codec => plain { format => "%{message}"}
#codec => plain
#主题
topics => ["xxx"]
consumer_threads => 5
decorate_events => false
auto_offset_reset => "earliest"
#定义type方便后面选择过滤及输出
#type => "system-messages"
}
}
# 增加过滤把不同字段分离 否则会把message输出为一个json
filter{
json {
source => "message"
skip_on_invalid_json => true
remove_field => ["message"]
}
}
output{
#if "system-messages" in [type] {
elasticsearch{
hosts => ["192.168.3.81:9200"]
index => "xxx-kafka-%{+YYYY.MM}"
}
# stdout{
# codec => rubydebug
# }
# }
}
启动logstash把kafka收集到的日志输出至elasticsearch
怎么在kibana添加index不详述,日志查看和上面直接输出至elasticsearch是一样的
2024-08-29补充开始
发现日志没有输出,打开Rancher配置发现配置Broker里面多了一个SASL配置并且也不知道admin对应的密码
解决方法
测试
2024-08-29补充结束