ELK集群搭建流程

一.背景

 本来打算采用Redis作为消息缓存,当日志数据量较小的时候,处理速度要优于Kafka技术,但针对数据量大并发的时候性能却表现不佳,无法应对吞吐量大的情况。采用Kafka作为消息队列缓存,支持分布式计算,可以多个Kafka节点同时处理信息,能有效解决数据量大并发的问题,拥有很高的吞吐量,单台支持每秒10万条数据以上的处理速率。由于项目较多,所有系统一天产生的日志总量保守估计有千万级别,采用Kafka作为ELK平台的缓存技术较为合适。

本集群采用的是 Kibana+Elasticsearch+Logstash+Kafka+Filebeat 的架构

二.操作系统环境和软件版本介绍

操作系统版本:CentOS 7.9.2009(Core) X86_64

软件版本:

名称

版本号

备注

filebeat7.10.0
kafka2.4.1
zookeeper3.5.7
logstash7.5.2
elasticsearch7.5.2
kibana7.5.2

服务器信息:

A:192.168.145.109

B:192.168.145.110

C:192.168.145.111

三.系统架构图:

各服务节点可以根据实际数据量和负载需要进行横向扩展

四.搭建流程:

1.新建程序运行用户elk:

(1) 在每台服务器上新建用户elk,用来操控集群涉及到的应用和中间件等,避免使用root运行权限过高,带来系统安全隐患:

useradd -s /sbin/nologin -M elk

(2) 修改elk用户下系统运行内核参数,如最大文件打开数,最大进程数,等,修改/etc/security/limit.conf文件,添加或调整以下配置:

elk soft nofile 65535
elk hard nofile 65535
elk soft nproc 65535
elk hard nproc 65535
elk soft memlock unlimited
elk hard memlock unlimited

重启服务器后生效

2. 安装Zookeeper

3. 安装Kafka

4. 安装Logstash

5. 安装Elasticsearch

6. 安装Kibana

安装完毕后查看监控图表,假如发现没有数据,则可以在Kibana的开发工具DEV tools里执行:

首先检查相关监控数据索引

# 查看模板
GET _cat/templates/.monitoring*?v
# 查看是否有 .monitoring-es-* 的索引
GET _cat/indices/.monitoring-*
# 查看集群配置
GET /_cluster/settings

假如没有相关的索引则执行以下请求

PUT _cluster/settings
{
  "persistent": {
    "xpack": {
      "monitoring": {
        "elasticsearch": {
          "collection": {
            "enabled": "true"
          }
        },
        "collection": {
          "enabled": "true"
        }
      }
    }
  }
}

7. 安装Filebeat

五.日志接入:

日志接入可参考该文章《ELK日志接入步骤》

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值