ELK+kafka日志处理
此次使用kafka代替redis,elk集群搭建过程请参考:https://www.cnblogs.com/dmjx/p/9120474.html
kafka名词解释:
- 1、话题(Topic):是特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名;
- 2、生产者(Producer):是能够发布消息到话题的任何对象;
- 3、服务代理(Broker):已发布的消息保存在一组服务器中,它们被称为代理(Broker)或Kafka集群;
- 4、消费者(Consumer):可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息;
系统环境信息:
CentOS Linux release 7.3.1611 (Core)
基础环境准备:
关闭防火墙:systemctl stop firewalld
SeLinux设为disabled: setenforce 0
jdk版本:jdk_1.8
kafka版本:kafka_2.12-2.1.0
本次搭建使用了三个节点,kafka下载地址:http://mirror.rise.ph/apache/kafka/2.1.0/kafka_2.12-2.1.0.tgz
环境搭建
zookeeoer配置部署:
1. 修改配置文件:zookeeper.properties
dataDir=/apps/product/zookeeper/data
clientPort=
maxClientCnxns=
tickTime=
initLimit=
syncLimit= server.=10.20.88.199::
server.=10.20.88.200::
server.=10.20.88.201::
2. 创建zookeeper所需要的目录
mkdir /apps/product/zookeeper/data
3. 创建myid文件用于标识主机
echo > /apps/product/zookeeper/data/myid
以上就时zookeeper的配置,将上边的配置复制到其他两个节点就可以了,注意修改myid文件。
4. 启动zookeeper并查看状态
./bin/zookeeper-server-start.sh config/zookeeper.properties >> /apps/product/kafka_2.-2.1./logs/zookeeper.log & netstat -nlpt | grep -E "2181|2888|3888"
tcp 10.20.88.200: 0.0.0.0:* LISTEN /java
tcp 0.0.0.0: 0.0.0.0:* LISTEN /java
tcp 10.100.67.62: 0.0.0.0:* LISTEN /java
kafka的配置部署:
1. 修改配置文件:server.properties(以下为本次的配置)
broker.id=
prot=
host.name=10.20.88.199
num.network.threads=
num.io.threads=
socket.send.buffer.bytes=
socket.receive.buffer.bytes=
socket.request.max.bytes=
log.dirs=/apps/product/kafka_2.-2.1./kafka_data
num.partitions=
offsets.topic.replication.factor=
transaction.state.log.replication.factor=
transaction.state.log.min.isr=
log.cleanup.policy=delete
log.retention.hours=
log.segment.bytes=
log.retention.check.interval.ms=
zookeeper.connect=10.20.88.199:,10.20.88.200:,10.20.88.201:
zookeeper.connection.timeout.ms=
log.cleaner.backoff.ms=
group.initial.rebalance.delay.ms=
2. 创建kafka所需要的数据目录
/apps/product/kafka_2.-2.1./kafka_data
3. kafka启动
./bin/kafka-server-start.sh config/server.properties >> /dev/null &
kafka的操作:
1. 创建一个topic
kafka-topics.sh --create --zookeeper 10.20.88.200: --replication-factor --partitions --topic test_wx
--partitions # 4个分区
--replication-factor # 3个副本
# 将分区被复制到三个broker上
2. 查看有哪些topic
bin/kafka-topics.sh --zookeeper 127.0.0.1: --list
3. 查看主题的详情
./bin/kafka-topics.sh --describe --zookeeper 10.20.88.199: --topic test_wx
Topic:test_wx PartitionCount: ReplicationFactor: Configs:
Topic: test_wx Partition: Leader: Replicas: ,, Isr: ,,
Topic: test_wx Partition: Leader: Replicas: ,, Isr: ,,
Topic: test_wx Partition: Leader: Replicas: ,, Isr: ,,
Topic: test_wx Partition: Leader: Replicas: ,, Isr: ,,
4. 输入输出测试
# 输入
./bin/kafka-console-producer.sh --topic test_wx --broker-list 10.20.88.199:
# 输出
./bin/kafka-console-consumer.sh --bootstrap-server 10.20.88.199: --topic test_wx --from-beginning
5. 修改操作
# 增加分区数
./bin/kafka-topics.sh --zookeeper zk_host:port --alter --topic my_topic_name --partitions
# 增加配置
./bin/kafka-topics.sh --zookeeper zk_host:port --alter --topic my_topic_name --config flush.messages=
# 删除配置
./bin/kafka-topics.sh --zookeeper zk_host:port --alter --topic my_topic_name --delete-config flush.messages
6. 删除topic
# 删除topic
目前删除操作默认情况下只是打上一个删除的标记,再重新启动kafka后才删除。如果需要立即删除,则需要在server.properties中配置:delete.topic.enable=true ./bin/kafka-topics.sh --zookeeper zk_host:port --delete --topic my_topic_name
filebeat中输出至kafka配置
filebeat:
prospectors:
-
paths:
- /var/log/named/namequery.log output.kafka:
hosts: ["10.20.88.199:9092","10.20.88.200:9092","10.20.88.201:9092"]
topic: 'dns_ct'
partition.round_robin:
reachable_only: false
required_acks:
compression: gzip
max_message_bytes:
logstash取kafka中的数据
input {
kafka {
bootstrap_servers => ["10.20.88.199:9092,10.20.88.200:9092,10.20.88.201:9092"]
topics => ["dns_ct"]
codec => "plain"
auto_offset_reset => "latest"
consumer_threads =>
decorate_events => true
type => "dns-ct"
}
} output {
file { path => "/apps/logs/output-dns" }
stdout { codec => rubydebug }
}
ELK+kafka日志处理的更多相关文章
- 离线部署ELK+kafka日志管理系统【转】
转自 离线部署ELK+kafka日志管理系统 - xiaoxiaozhou - 51CTO技术博客http://xiaoxiaozhou.blog.51cto.com/4681537/1854684 ...
- ELK + kafka 日志方案
概述 本文介绍使用ELK(elasticsearch.logstash.kibana) + kafka来搭建一个日志系统.主要演示使用spring aop进行日志收集,然后通过kafka将日志发送给l ...
- ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群
0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用 ...
- ELK+kafka日志收集分析系统
环境: 服务器IP 软件 版本 192.168.0.156 zookeeper+kafka zk:3.4.14 kafka:2.11-2.2.0 192.168.0.42 zookeeper+kaf ...
- ELK+kafka日志收集
一.服务器信息 版本 部署服务器 用途 备注 JDK jdk1.8.0_102 使用ELK5的服务器 Logstash 5.1.1 安装Tomcat的服务器 发送日志 Kafka降插件版本 Log ...
- .Net Core 商城微服务项目系列(十三):搭建Log4net+ELK+Kafka日志框架
之前是使用NLog直接将日志发送到了ELK,本篇将会使用Docker搭建ELK和kafka,同时替换NLog为Log4net. 一.搭建kafka 1.拉取镜像 //下载zookeeper docke ...
- ELK+Kafka日志收集环境搭建
1.搭建Elasticsearch环境并测试: (1)删除es的容器 (2)删除es的镜像 (3)宿主机调内存: 执行命令:sudo sysctl -w vm.max_map_count=655360 ...
- ELK+Kafka
kafka:接收java程序投递的消息的日志队列 logstash:日志解析,格式化数据为json并输出到es中 elasticsearch:实时搜索搜索引擎,存储数据 kibana:基于es的数据可 ...
- ELK+Kafka集群日志分析系统
ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部 ...
随机推荐
- jQuery源码浅析2–奇技淫巧
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...
- return break continue区别
return:1.跳出整个方法体 2.返回值 function(a){return a=2}; break:跳出当前循环, continue:跳出当前判断继续执行
- springboot从入门到精通(三)
再开始第三节之前,先补充一下第二节里出现的小问题,就是springboot的application.properties,我在文件中添加了server.port=9090这个参数,但是启动项目后并未生 ...
- 从零开始的全栈工程师——js篇2.19(BOM)
一.BOM 浏览器对象模型 1.window.open(url,ways) url 是打开的网页地址ways 打开的方式 _self 2.window.close() 关闭当前页面 3.window. ...
- better-scroll 遇到的问题 1
备注:better-scroll 实现下拉,是父子层的结构,父层的第一个子元素,如果超出父容器,那么就可以实现下拉 问题: 今天在使用better-scroll实现下拉功能,遇到了一个问题 &quo ...
- SublimeText插件 : sass语法高亮
安装 :sublime中安装sass插件和sass build插件 就可以高亮显示sass 步骤:安装 sass插件和sass build (安装过程不细说) 步骤2:打开.sass文件,进行以下设 ...
- Vue.js双向数据绑定模板渲染
准备知识 1. 前端开发基础 html.css.js2. 前端模块化基础3. 对ES6有初步的了解 vuejs官网:cn.vuejs.org HTML: <!DOCTYPE html> & ...
- C++ Knowledge series 2
Programming language evolves always along with Compiler's evolvement The semantics of constructors O ...
- Zamplus 晶赞天机
类型: 定制服务 软件包: car/vehicle integrated industry solution collateral tourism 联系服务商 产品详情 解决方案 概要 DMP:通常称 ...
- python标准库 - socket
地址簇(address family) socket.AF_UNIX # (UNIX Domain Sockets) socket.AF_INET # ipv4 socket.AF_INET6 # i ...