The Elastic Stack包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack),能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。Beats 是一个免费且开放的平台,集合了多种单一用途轻量型数据采集器。Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,集中、转换和存储数据。
一、Elasticsearch安装
本示例运行在centos7,通过直接下载tar包进行安装,不使用docker方式。
关于es的windows安装和使用语法,可参见【https://blog.csdn.net/weixin_44153121/article/details/89288452】
1.1、下载安装包,并解压
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz
tar -xzvf elasticsearch-7.13.0-linux-x86_64.tar.gz
1.2、创建elk用户,并赋权
因Elasticsearch默认不支持root用户启动,故此创建elk用户,用于启动Elastic Stack相关程序。
adduser elk
passwd elk yourpw
chown -R elk elasticsearch-7.13.0
1.3、启动(elk用户)
cd elasticsearch-7.13.0
./bin/elasticsearch
1.4、更改network参数
更改config目录下elasticsearch.yml中的network参数,以便支持其他机器的访问。
network.host: 0.0.0.0
再次启动ES,后台报错,如下:
ERROR: [4] bootstrap checks failed. You must address the points described in the following [4] lines before starting Elasticsearch.
bootstrap check failure [1] of [4]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [4]: max number of threads [3757] for user [elk] is too low, increase to at least [4096]
bootstrap check failure [3] of [4]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
bootstrap check failure [4] of [4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
按以上提示进行更改,需要注意的是修改安全限制文件后,存在不生效的情况,通过重启操作系统,可以使变更生效。
1.4.1、 修改安全限制配置文件
vi /etc/security/limits.conf
1.4.2、 vim /etc/sysctl.conf
1.5、更改防火墙配置
1.6、运行效果
二、Kibana安装
参照第一步中ES的安装,Kibana安装简化如下:
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.13.0-linux-x86_64.tar.gz
tar xzvf kibana-7.13.0-linux-x86_64.tar.gz
cd kibana-7.13.0-linux-x86_64/
./bin/kibana
修改 config/kibaba.yml 下的 server.host 为 0.0.0.0, 默认是注释掉的或者是localhost
三、Beats安装
本示例使用tomcat日志进行演示,故此安装Filebeat组件
3.1、Filebeat安装
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.13.0-linux-x86_64.tar.gz
tar -xzvf filebeat-7.13.0-linux-x86_64.tar.gz
cd filebeat-7.13.0-linux-x86_64/
3.2、修改filebeat.yml配置文件
配置ES地址,及用户和密码信息
3.3、配置apache模块
3.3.1、 启动apache模块
./filebeat modules enable apache
3.3.2、 更改配置 modules.d \ apache.yml,增加log日志文件路径
3.4、启动Filebeat
创建assets,并启动
Filebeat comes with predefined assets for parsing, indexing, and visualizing your data.
./filebeat setup
./filebeat -e
3.5、Kibana展示日志数据
使用菜单导航中的Discover功能
In the side navigation, click Discover. To see Filebeat data, make sure the predefined filebeat-* index pattern is selected.
使用KQL查询条件,过滤数据