一、下载、安装、配置、启动:
1、下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-linux-x86_64.tar.gz
2、解压:
tar -zxvf elasticsearch-8.3.2-linux-x86_64
3、配置
启动Elasticsearch,进入/bin目录下./elasticsearch
,不出意外的外会报以下错误:
报错1:能打开的文件或进程数太低。
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
解决方法:
修改/etc/security/limits.conf 配置文件,添加配置如下:
hard nofile 655360soft nofile 131072hard nproc 4096soft nproc 2048# nofile - 打开文件的最大数目# noproc - 进程的最大数目# soft 指的是当前系统生效的设置值# hard 表明系统中所能设定的最大值
报错2:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:
修改/etc/sysctl.conf 配置文件,添加配置如下:
vm.max_map_count=655360# 缺省配置下,单个jvm能开启的最大线程数为其一半fs.file-max=655360# 设置 系统所有进程一共可以打开的文件数量
修改完之后执行命令:sysctl -p
配置3:
根据自身主机内存大小设置es,修改/jvm.options配置文件,太大或太小都可能导致启动失败
-Xmx2g-Xms2g
配置4:外网访问
修改elasticearsh.yml文件:
network.host: 0.0.0.0# 设置为自己的ip或0.0.0.0
开放端口号,重启防火墙:
firewall-cmd --zone=public --add-port=9200/tcp --permanentfirewall-cmd --query-port=9200/tcpsystemctl restart firewalld.service
配置Kibana
同样下载解压缩Kibana,打开/config/kibana.yml设置连接ES信息:
elasticsearch.hosts: ["IP:9200"]elasticsearch.username: nameelasticsearch.password: password
二、索引生命周期和索引模板
日志信息不可能永久的存储在ES中,所以需要对索引进行管理,按照采集的日志的保存时长定期删除,可通过程序定时任务每天检查到期的索引然后删除,也可以使用ES的索引生命周期对索引进行管理,使用索引生命周期需结合绑定索引模板搭配使用。
生命周期策略及索引模板的创建及使用参考文章:ElasticSearch——索引生命周期管理
2.1、创建索引生命周期策略
如上图所示,只启用了热阶段和删除阶段,索引建立30天之后删除。
2.2、创建索引模板
如上图所示,创建索引模板并关联生命周期策略,设置索引分片数量和副本数量。因为未启用热阶段的滚动更新,所以不用设置别名。
测试时可将热阶段到删除阶段过程缩短到几分钟,但生命周期策略刷新时间默认是10min,我们在测试的时候可以设置的短一些,如1min:
PUT _cluster/settings{"transient": {"indices.lifecycle.poll_interval": "1min" }}
如图所示,新创建的索引根据索引模板关联上了生命周期策略,30天后进入删除阶段进行删除。