ELK实践(一):基础入门

虽然用了ELK很久了,但一直苦于没有自己尝试搭建过,所以想抽时间尝试尝试。原本打算按照教程 《ELK集中式日志平台之二 — 部署》(作者:樊浩柏科学院) 进行测试的,没想到一路出了很多坑,所以又按照自己成功搭建的流程写了本文。

《ELK集中式日志平台之二 — 部署》一文参考价值非常大,图文并茂,大家可以在学习过程中参考参考。作者一上来就安装ELK插件,实际可以按需选择安装,但作为初学者,无疑增加了复杂度。ELK插件后续我会单独拿出来讲解,本文略过。

简介

ELK 指的是一套解决方案,是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写,Beats 是 ELK 协议栈的新成员。

E:代表 Elasticsearch,负责日志的存储和检索;

L:代表 Logstash,负责日志的收集、过滤和格式化;

K:代表 Kibana,负责日志数据的可视化;

Beats:是一类轻量级数据采集器;

ELK实践(一):基础入门

本来ELK是没有Beats的。

最开始的架构中,由 Logstash 承担数据采集器和过滤功能,并部署在应用服务器。由于 Logstash 对大量日志进行过滤操作,会消耗应用系统的部分性能,带来不合理的资源分配问题;另一方面,过滤日志的配置,分布在每台应用服务器,不便于集中式配置管理。

所以就有了Beats。

由于 Beats 的系统性能开销更小,所以应用服务器性能开销可以忽略不计;另一方面,Beats 可以作为数据采集插件形式工作,可以按需启用 Beats 下不同功能的插件,更灵活,扩展性更强。例如,应用服务器只启用 Filebeat,则只收集日志文件数据,如果某天需要收集系统性能数据时,再启用 Metricbeat 即可,并不需要太多的修改和配置。

ELK实践(一):基础入门

其中,目前 Beats 家族根据功能划分,主要有:

Filebeat
Real-time insight into log data.
负责收集文件数据。

Packetbeat
Analyze network packet data.
负责收集网络流量数据。

Winlogbeat
Analyze Windows event logs.
负责收集 Windows 事件日志数据。

Metricbeat
Ship and analyze metrics.
负责收集系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据。

Heartbeat
Ping your Infrastructure.

Auditbeat
Send audit data to Elasticsearch.

如果日志量巨大,可能还会引入Kafka用以均衡网络传输,从而降低了网络闭塞,尤其是丢失数据的可能性;另一方面,这样可以系统解耦,具有更好的灵活性和扩展性。

ELK实践(一):基础入门

环境说明

环境:CentOS6.8

elk版本

ELK各自版本最好都是一致的,否则可能会有兼容性问题
本次都是使用5.6.2版本。截止到2018-09-23,官网的最新版本是6.4.1。

官网下载地址:
https://www.elastic.co/downloads

elasticsearch
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.tar.gz

kibana
https://artifacts.elastic.co/downloads/kibana/kibana-5.6.2-linux-x86_64.tar.gz

logstash
https://artifacts.elastic.co/downloads/logstash/logstash-5.6.2.tar.gz

filebeat
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.6.2-linux-x86_64.tar.gz

历史版本汇集页:
https://www.elastic.co/downloads/past-releases

安装方式

安装有两种方法:

yum安装

二进制包手动安装

建议第二种方法,可以自由安装版本及定义安装目录。

启动方式

另外需要注意的是:ELK系列软件启动服务的时候不允许以root用户启动。这里我们统一建立用户 elk:

useradd elk

Mac因为默认用户就不是root,可以忽略这一步。

启动软件的时候,有2种方式启动:

切换到elk用户执行命名

配置service,使用service启动

测试的时候建议以第一种,这样可以及时查看错误日志。生产环境可以配置service启动。

特点

1、ElasticSearch、Kibana都支持安装插件:例如x-pack。
2、ElasticSearch、Kibana的配置文件一般在安装目录的config里(yml格式),二进制文件在bin里。ElasticSearch和Logstatsh config目录都有jvm.options,测试环境建议修改:

-Xms256m -Xmx1g

默认可能是2g,测试环境改小一点。后面这点还会说明。

配置JDK

安装JDK1.8:

yum install -y java-1.8.0-openjdk

配置环境变量:

vi /etc/profile

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjsyj.html