elk+kafka+log4j2.xml日志收集

下载地址:下载 Elastic 产品 | Elastic

elasticsearch

配置修改:vi config/elasticsearch.yml

node.name: node-1

path.data: ~/elasticsearch/data

path.logs: ~/elasticsearch/logs

network.host: 127.0.0.1

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

启动:

./bin/elasticsearch -d

kibana

配置修改:vi config/kibana.yml

server.port: 5601

server.host: "127.0.0.1"

elasticsearch.hosts: ["http://127.0.0.1:9200"]

启动

./bin/kibana & 

logstash

配置修改:vi config/logstash.yml

path.data: ~/logstash/data

path.logs: ~/logstash/logs

path.config: ~/logstash/config

http.host: "127.0.0.1"

添加配置

input{

      kafka{

        bootstrap_servers => ["127.0.0.1:9092"]

        client_id => "kafkalog"

        group_id => "kafkalog"

        #从最新的偏移量开始消费

        auto_offset_reset => "latest"

        consumer_threads => 5

        #此属性会将当前topic、offset、group、partition等信息也带到message中

        decorate_events => true

        #数组类型,可配置多个topic

        topics => ["kafka-log"]

        #所有插件通用属性,自定义,尤其在input里面配置多个数据源时很有用

        type => "kafkalog"

      }

}

output {

   if[type] == "kafkalog"{

        elasticsearch{

                hosts => ["127.0.0.1:9200"]

                #索引名称不能有点

                index => "springboot"

                timeout => 300

   }

}

}

启动

./bin/logstash & 

Zookeeper启动

在网上下载zk,然后启动安装。

zk默认的内存是1000m,最好修改一下xmx参数,不然如果zk内存不够,会导致频繁fullgc影响服务器性能。

kafka

配置修改:vi config/server.properties

listeners=PLAINTEXT://127.0.0.1:9092

log.dirs=/tmp/kafka-logs

zookeeper.connect=localhost:2181

启动

./bin/kafka-server-start.sh ./config/server.properties &

代码相关:

使用KafkaAppender的方式

log4j2和logback都提供了自定义appender的方式。

该集成方式主要是编写KafKaAppender,在打印日志的时候,调用kakfa的producer,将日志推送到kafka,然后由logstash从kafka拉取数据,写入到es。

增加kafka+logstash的原因,主要是es的写入性能可能不够高,担心压力太大。

使用日志文件收集的方式

在部署应用的时候,同时部署logstash,由logstash读取文件,然后写入到es。

好处就是:代码无需修改,而且打印日志的时候,不用调用kafkaappender,减少网络io。

坏处就是:日志格式转换没有那么灵活,需要部署很多个logstash占用资源、管理也不是很方便。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我不太清楚您想要哪方面的代码,因为ELK+kafka+reyslog+filebeat是一个比较复杂的系统架构,它们涉及到不同的组件和配置。以下是一个简单的流程示例,仅供参考: 1. 安装配置Kafka Kafka是一个分布式消息队列,可用于实现日志传输。可从官方网站下载Kafka的二进制包,然后按照官方文档进行配置。 2. 安装配置Reyslog Reyslog是一个开源的日志收集器,可用于将日志发送到Kafka。可从官方网站下载Reyslog的二进制包,然后按照官方文档进行配置。 3. 安装配置Filebeat Filebeat是一个轻量级的日志采集器,可用于将本地日志文件发送到Reyslog。可从官方网站下载Filebeat的二进制包,然后按照官方文档进行配置。 4. 安装配置ELK ELK是一个开源的日志分析平台,由Elasticsearch、Logstash和Kibana三个组件组成。可从官方网站下载ELK的二进制包,然后按照官方文档进行配置。 5. 配置Kafka输出插件 在Logstash配置Kafka输出插件,以将从Reyslog接收到的日志发送到Kafka。 6. 配置Elasticsearch输入插件 在Logstash配置Elasticsearch输入插件,以将从Kafka接收到的日志发送到Elasticsearch进行存储和索引。 7. 配置Kibana 在Kibana配置索引和仪表板,以可视化和分析存储在Elasticsearch日志数据。 以上是一个简单的ELK+kafka+reyslog+filebeat的流程示例,具体的代码实现需要根据实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值