ELK日志系统设计方案-集群扩展
Posted niaonao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 部署主机
节点名称 | 服务器地址 | 服务器配置 |
---|---|---|
Node1 | 192.168.200.81 | 8G内存,双核四线程 |
Node2 | 192.168.200.83 | 4G内存,双核双线程 |
2. 集群部署设计
2.1 Logstash 扩展
2.1.1 Logstash的部署
分别在Node1和Node2上各部署了一个Logstash实例
Logstash实例的安装与部署可参照Logstash安装部署文档来进行。
clientId | Host |
---|---|
logstash81 | Node1(192.168.200.81) |
logstash83 | Node2(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软件安装部署文档分别在两台服务器上安装部署,再修改相应配置文件。
Host | Master/Node | cluster.name | node.name |
---|---|---|---|
Node1(192.168.200.81) | Master节点 | nascent_elk | node-1 |
Node2(192.168.200.83) | Node节点 | nascent_elk | node-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
以上是关于ELK日志系统设计方案-集群扩展的主要内容,如果未能解决你的问题,请参考以下文章
Centos7下ELK+Redis日志分析平台的集群环境部署记录
ELK日志系统设计方案-Filebeat日志收集推送Kafka