ELK日志系统设计方案-集群扩展

ELK 日志系统的常见解决方案:
通常的产品或项目部署至服务器,服务一般会打印日志便于线上问题跟踪。
使用 Log4j 中的自定义 Appender,将服务运行打印的日志直接推送到 Kafka 中。经由 Logstash 消费 Kafka 生产的数据,进行加工过滤后输出到 ElasticSearch 进行日志数据的存储与全文检索。使用 Kibana 对日志数据进行可视化操作。

1. 集群日志系统设计

在这里插入图片描述

1.1 说明
    主要是扩展两个 Logstash 实例,然后搭建两个节点的 ElasticSearch 集群,日志数据经 Log4j 推送到 Kafka 中,然后经过两个 Logstash 并行消费,再将日志数据传送到 ElasticSearch 集群中。
1.2 扩展原因
    Kafka 的生成消息的效率远大于 Logstash 消费效率,提升 Logstash 性能后仍有2倍左右的差距,因此扩展2台 Logstash 来消费 Kafka 生产的消息,并扩展一个 ElasticSearch 节点用于数据存储。
1.3 部署主机

节点名称服务器地址服务器配置
Node1192.168.200.818G内存,双核四线程
Node2192.168.200.834G内存,双核双线程

2. 集群部署设计

2.1 Logstash 扩展

2.1.1 Logstash的部署
分别在Node1和Node2上各部署了一个Logstash实例
Logstash实例的安装与部署可参照Logstash安装部署文档来进行。

clientIdHost
logstash81Node1(192.168.200.81)
logstash83Node2(192.168.200.83)

2.1.2配置文件的配置
在Logstash的配置文件logstash_kafka.conf.c配置:
(1)配置相同的topic: topics => [“logstash-kafka-topic”]
(2)配置相同的group_id: group_id => “logstash”
(3)配置不同的client_id: client_id => “logstash83” 和 client_id => "logstash81”
(4) 配置consumer_threads => 2,要求两个实例的consumer_threads相加小于等于topic的分区数目.

2.2 ElasticSearch 扩展

2.2.1ElasticSearch集群的部署
ElasticSearch集群的安装部署先按照单个ElasticSearch软件安装部署文档分别在两台服务器上安装部署,再修改相应配置文件。

HostMaster/Nodecluster.namenode.name
Node1(192.168.200.81)Master节点nascent_elknode-1
Node2(192.168.200.83)Node节点nascent_elknode-2

2.2.2 ElasticSearch主配置文件的一些增加配置(master和node都需要配置)
Vim elasticsearch.yml

# 配置集群自动发现节点
discovery.zen.ping.unicast.hosts:["192.168.200.81", "192.168.200.83"]
# 配置最大master节点数目
discovery.zen.minimum_master_nodes: 1

3. 集群环境启动

  • 启动Kafka
    Kafka_home = /opt/elkf/kafka/kafka_2.11-2.1.0/
    说明:启动kafka之前,先得启动zookeeper
    启动zookeeper:/opt/elkf/zookeeper/start.sh
    启动kafka:
    {Kafka_home}/bin/kafka-server-start.sh config/server.properties
  • 启动Logstash实例
    说明:分别启动两台主机上的Logstash
    启动Logstash:./bin/logstash -f config/logstash_kafka.conf.c
  • 启动ElasticSearch集群
    说明:需要先启动master节点,再启动node节点,它会根据配置自动寻找其他节点。
    启动ElasticSearch集群:
    /opt/elkf/elasticsearch-6.5.1/bin/elasticsearch
  • 启动Kibana
    /opt/elkf/kibana/kibana-6.5.1-linux-x86_64/bin/kibana

参考文章
ELK日志系统设计方案-Filebeat日志收集推送Kafka
ELK日志系统设计方案-Log4j日志直推Kafka
ELK日志系统设计方案-集群扩展
ELK日志系统部署实现
Powered By niaonao

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

niaonao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值