EKL日志平台架构概括

EKL日志分析平台是目前正在运行的日志处理项目。kibana使用的版本是4.5.3,因为较新版本的kibana页面比较酷炫,领导要求升级kibana。本来就是简单的一个组件的升级,结果因为兼容问题导致es、logstash、kafka都要升级。
以下是日志平台现有服务器及组件分布情况:

Zookeeper:
*.*.*.157 (flower)
*.*.*.194 (flower)
*.*.*.214 (leader)
Spark:
*.*.*.181 (master)
*.*.*.243 (worker)
*.*.*.168 (worker)
*.*.*.140 (worker)
*.*.*.141 (worker)
*.*.*.195 (worker)
Hadoop:
*.*.*.181 (nn1 namenode datanode)
*.*.*.243 (nn2 secondnamenode datanode)
*.*.*.168 (datanode)
*.*.*.140 (datanode)
*.*.*.141 (datanode)
*.*.*.195 (datanode)
Mysql:
*.*.*.168
*.*.*.140
*.*.*.141
Elasticsearch
*.*.*.217 (master datanode)
*.*.*.244 (master datanode)
*.*.*.106 (master datanode)
*.*.*.107 (datanode)
*.*.*.214 (master datanode)
*.*.*.194 (master datanode)
Kafka:
*.*.*.157
*.*.*.194
*.*.*.214
Hbase:
*.*.*.217
*.*.*.194
*.*.*.214
*.*.*.244
*.*.*.106
*.*.*.107
*.*.*.181
*.*.*.243
*.*.*.168
Zkui:
*.*.*.157
Kibana:
*.*.*.217
*.*.*.106
Elasticsearch-Head:
*.*.*.217
Cerebro:
*.*.*.217
Bigdesk:
*.*.*.217

以上服务器均为16核、32G内存、500G存储;并安装了CentOS6.3系统;均已安装jdk1.8.0_121;root权限的账号和普通账号各一个;上百个flume节点分布在日志收集点所在的服务器;各组件系统架构图如下所示:
系统架构图
平台主要用于收集系统的日志,各系统产生的日志量日平均约为2T,但是处在开发阶段仅接入20个系统,日日志量也有200G。平台的flume是通过自动化部署的,后续将实现logstash,hadoop,spark等基本所有组件的自动化部署,节约人工成本,甚至完成在线调优功能。
回归正题,由于领导要升级kibana使页面更丰富,升级后发现版本不兼容,出了一些异常,查资料才知道:在es 5.0之前,不同版本号的es与kibana 之间会有兼容性问题,从es 5.0开始,统一了版本号,相同版本号的es和kibana是兼容的。因为之前es用的是2.x与kibana差别太大,因此需要升级elasticsearch。同时版本差异太大,升级产生很多问题:数据的迁移,api兼容问题,kafka、logstash兼容问题等等…
这次升级过程中很多问题并未完全解决,理解不够透彻。
此次安装的组件及版本号:
kibana-6.4.1
elasticsearch-6.4.1
logstash-6.4.1
kafka_2.11-2.0.0

要在Docker中安装Elasticsearch、Kibana和Logstash(EKL)堆栈,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker和Docker Compose。您可以根据您的操作系统找到适合您的安装方法。 2. 创建一个新的目录来存放您的EKL配置文件和数据。例如,您可以创建一个名为`ekl`的目录。 3. 在`ekl`目录中创建一个名为`docker-compose.yml`的文件,并使用以下内容填充它: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.0 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 volumes: - esdata:/usr/share/elasticsearch/data kibana: image: docker.elastic.co/kibana/kibana:7.15.0 container_name: kibana ports: - 5601:5601 environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 logstash: image: docker.elastic.co/logstash/logstash:7.15.0 container_name: logstash volumes: - ./logstash/config/:/usr/share/logstash/pipeline/ ports: - 5044:5044 volumes: esdata: ``` 4. 在`ekl`目录中创建一个名为`logstash`的子目录,并在其中创建一个名为`config`的子目录。 5. 在`config`目录中创建一个名为`logstash.conf`的文件,并使用以下内容填充它: ``` input { beats { port => 5044 } } output { elasticsearch { hosts => "elasticsearch:9200" index => "logs-%{+YYYY.MM.dd}" } } ``` 6. 确保您在`ekl`目录中打开一个终端或命令提示符窗口,并运行以下命令来启动EKL堆栈: ``` docker-compose up ``` 这将下载所需的Docker镜像并启动Elasticsearch、Kibana和Logstash容器。 7. 在浏览器中访问`http://localhost:5601`以打开Kibana控制台。您可以使用Kibana来管理和可视化您的日志数据。 请注意,以上步骤提供了一个基本的配置,并且默认情况下没有进行任何安全性配置。在生产环境中,您应该根据需要进行进一步的配置和安全性硬化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值