前面有说过使用 redis 来缓解 elk 的数据接受压力,但是呢,如果 redis 面对突发情况也会承受不住的,这里需要借助两个工具, zookeeper 和 kafka
Zookeeper 主要值借助分布式锁,保证事务的不变,原子性隔离性。。。
Kafka 消息队列,从生产这到 filebeta 再到消费这 logstash 接受到 es 中,起到缓存,减缓压力
来吧开始往上怼了
首先下载 zookeeper 和卡夫卡
wget http: //mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
wget http: //mirror.bit.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz
这里需要注意我是单台服务器安装的,要添加 hosts
这里 zookeeper 和卡夫卡的安装可以参考文档:
http://www.cnblogs.com/saneri/p/8822116.html
只需要 zookeeper 和 kafka 参考就行了,注意修改 ip 和 hostname
完成后验证:
Zookeeper+Kafka 集群测试
创建 topic :
显示 topic :
行了这个成功之后开始配置 filebeat ,这里换是收集 dockerswarm 集群的 tomat 和 nginx 容器的日志
filebeat.prospectors:
- type: log
enabled: true
paths:
- /var/log/docker-nginx/access_json.log
fields:
log_topics: 192.168.9.36-nginx
- type: log
enabled: true
paths:
- /var/log/docker-tomcat/catalina.out
fields:
log_topics: 192.168.9.36-tomcat
# include_lines: ['ERROR','WARN']
# exclude_lines: ['DEBUG']
output.kafka:
enabled: true
hosts: ["node1:9092"]
topic: '%{[fields][log_topics]}'
partition.hash:
reachable_only: true
compression: gzip
max_message_bytes: 1000000
required_acks: 1
接下来配置 logstash
input {
kafka{
bootstrap_servers => "node1:9092"
topics => ["192.168.9.36-nginx","192.168.9.36-tomcat"]
codec => "json"
consumer_threads => 1
decorate_events => true
auto_offset_reset => "latest"
}
}
filter{
date{
match=>["logdate","MMM dd HH:mm:ss yyyy"]
target=>"@timestamp"
timezone=>"Asia/Shanghai"
}
ruby{
code =>"event.timestamp.time.localtime+8*60*60"
}
}
output {
if [fields][log_topics] == "192.168.9.36-nginx" {
elasticsearch {
hosts => ["http://192.168.9.142:9200"]
index => "192.168.9.36-nginx-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
if [fields][log_topics] == "192.168.9.36-tomcat" {
elasticsearch {
hosts => ["http://192.168.9.142:9200"]
index => "192.168.9.36-tomcat-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
}
完成后启动,然后测试一下
去查看一下
以上所述就是小编给大家介绍的《elk6.3.1+zookeeper+kafka+filebeat收集dockerswarm容器日志》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 容器化日志收集方案-EFK
- 使用Fluentd收集Docker容器日志
- 容器服务Windows Kubernetes使用阿里云日志服务来收集容器日志
- k8s容器日志收集方案
- JVM 笔记:垃圾收集算法与垃圾收集器
- JVM 笔记:垃圾收集算法与垃圾收集器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Convergence Culture
Henry Jenkins / NYU Press / 2006-08-01 / USD 30.00
"Convergence Culture" maps a new territory: where old and new media intersect, where grassroots and corporate media collide, where the power of the media producer, and the power of the consumer intera......一起来看看 《Convergence Culture》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
RGB CMYK 转换工具
RGB CMYK 互转工具