搭建ELK详细-一(准备篇)
文件准备
本次演示文件版本为
elasticsearch-6.6.1.tar.gz
Logstash-6.6.1.tar.gz
kibana-6.6.1.tar.gz
统一下载地址
https://www.elastic.co/cn/downloads/
jdk-8u241-linux-x64.rpm (自行下载)
简介
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana
1、Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。
它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
2、Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。
一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
3、Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
4、FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。
虚机准备
CentOS7.5 可连接互联网
192.168.10.11 1c8g20g elasticsearch
192.168.10.12 1c8g20g Logstash kibana
环境准备
1.优化文件句柄数可用进程数
新版 Elasticsearch 要求其可用的文件句柄至少为 65536,同時要求其进程数限制至少为 2048,对应下面两个报错信息
- max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536];
- max number of threads [1024] for user [es] is too low, increase to at least [2048]。
vim /etc/security/limits.conf
#最后添加以下内容
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft memlock unlimited
* hard memlock unlimited
2.修改内核交换
为了避免不必要的磁盘和內存交换,影响效率,需要将 vm.swappiness
修改为 1。
此外需要修改最大虚拟內存 vm.max_map_count
防止启动时报错:
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]。
vim /etc/sysctl.conf
#添加
vm.swappiness = 1
vm.max_map_count = 655360
#保存退出执行
sysctl -p # 立即生效
3.关闭swap
两者选其一
#(1)临时关闭swap分区, 重启失效;
swapoff -a
#(2)永久关闭swap分区
sed -ri 's/.*swap.*/#&/' /etc/fstab
4.同步时间
Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步
#未安装ntpdate
yum install -y ntpdate
#同步时间服务器
ntpdate ntp1.aliyun.com
5.为ELK创建用户
elasticsearch不支持使用root
用户启动
需要创建一个用户来启动
useradd elk
6.安装JDK
将jdk-8u241-linux-x64.rpm上传至服务器
安装jdk
rpm -ivh jdk-8u241-linux-x64.rpm
配置环境变量
#vim /etc/profile.d/java.sh
JAVA_HOME=/opt/java/jdk
JRE_HOME=/opt/java/jdk/jre
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使用环境变量生效
source /etc/profile
检测是否成功
敲击java -version
命令回车 将会输出以下内容
[root@qwq ~]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)