目录
1.各个版本下载地址
这里我们选择最新的7.13.4版本。下载步骤4中的安装包。JDK1.8的话,一般用7版本,8版本会报错
2.环境:凝思系统6.0.80版本
3.概述
ELK其实是Elasticsearch,Logstash 和 Kibana三个产品的首字母缩写,这三款都是开源产品。
ElasticSearch(简称ES),是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。
Logstash,是一个数据收集引擎,主要用于进行数据收集、解析,并将数据发送给ES。支持的数据源包括本地文件、ElasticSearch、MySQL、Kafka等等。
Kibana,为 Elasticsearch 提供了分析和 Web 可视化界面,并生成各种维度表格、图形。
上面只是用到了核心的三个组件简单搭建的ELK,实际上是有缺陷的。如果Logstash需要添加插件,那就全部服务器的Logstash都要添加插件,扩展性差。所以就有了FileBeat,占用资源少,只负责采集日志,不做其他的事情,这样就轻量级,把Logstash抽出来,做一些滤处理之类的工作。
4.安装包准备
一共四个,选择Linux X86_64版本即可
elasticsearch-7.13.4-linux-x86_64.tar.gz
filebeat-7.17.7-linux-x86_64.tar.gz
kibana-7.13.4-linux-x86_64.tar.gz
logstash-7.13.4-linux-x86_64.tar.gz
5.安装
5.1 上传安装包
将elasticsearch、logstash、kibana安装到ELK服务器;将filebeat安装到要采集日志的服务器。
在/home/下面新建目录elk,将安装包复制到elk文件夹下面
5.2 安装ElasticSearch
1.进入/home/elk目录
cd /home/elk
2.解压安装包
tar -zxvf elasticsearch-7.13.4-linux-x86_64.tar.gz
3.修改配置:elasticsearch.yml
#当前目录为/home/elk
vim elasticsearch-7.13.4/config/elasticsearch.yml
4.添加配置:jvm参数
#当前目录为/home/elk
vim elasticsearch-7.13.4/config/jvm.options
5.修改配置:文件句柄数
#在文件末尾添加下图红框内容(有则修改,没有则添加)
vim /etc/security/limits.conf
6.修改配置:系统配置
#末尾添加:vm.max_map_count=262144
vim /etc/sysctl.conf
#对刚才修改的配置使其立即永久生效
sysctl -p /etc/sysctl.conf
7.修改配置:变量文件
#文件末尾添加:ulimit -HSn 65535
vim /etc/profile
#使刚才修改配置立即永久生效
source /etc/profile
8.创建用户elastic 并切换到新用户
# 因为es不允许以root账号启动,所以需要提前创建一个其他账号。
#创建用户组
groupadd elastic
#创建用户,-M 表示创建用户时不生成对应home目录
useradd -g elastic -M elastic
#修改用户密码
passwd elastic
#设置用户elastic根目录为/home/elk/elasticsearch-7.13.4
usermod -d /home/elk/elasticsearch-7.13.4 elastic
#设置elastic用户组和elastic用户的目录操作权限
chown root:elastic /home/elk/elasticsearch-7.13.4
chmod 755 /home/elk/elasticsearch-7.13.4
chown elastic:elastic /home/elk/elasticsearch-7.13.4
chmod 755 /home/elk/elasticsearch-7.13.4
chown -R elastic:elastic /home/elk/elasticsearch-7.13.4
#切换用户
su - elastic
#保证config目录下文件是elastic用户的
#如果不是,使用下列命令赋权
chown elastic:elastic elasticsearch.yml
9.启动es与验证
#先进入elasticsearch的根目录
#参数 -d 表示后台启动
./bin/elasticsearch -d
启动后如下:
验证,安装成功:
5.3 安装Logstash
1.进入/home/elk目录
cd /home/elk
2.解压安装包
tar -zxvf logstash-7.13.4-linux-x86_64.tar.gz
3.修改配置:logstash-sample.conf
找到/config目录下的logstash-sample.conf文件,注释原来的output内容,新添红框中的内容
其中mes3-log是filebeat的标签,用于区别哪个日志来源写入不同的位置
4.赋予用户权限
chown -R elastic:elastic /home/elk/logstash-7.13.4
5.切换用户启动程序
su - elastic
cd /home/elk/logstash-7.13.4
nohup ./bin/logstash -f /home/elk/logstash-7.13.4/config/logstash-sample.conf &
启动成功如下:可以使用tail -f nohup.out命令查看启动日志是否正常
5.4 安装Kibana
1.进入/home/elk目录
cd /home/elk
2.解压安装包
tar -zxvf kibana-7.13.4-linux-x86_64.tar.gz
3.修改配置:kibana.yml
找到/config目录下的kibana.yml文件,修改配置
#当前目录:/home/elk
vim kibana-7.13.4-linux-x86_64/config/kibana.yml
4.赋予用户权限
chown -R elastic:elastic /home/elk/kibana-7.13.4-linux-x86_64
5.切换用户启动与验证
#切换用户
su - elastic
#切换目录
cd /home/elk/kibana-7.13.4-linux-x86_64
#后台启动
nohup ./bin/kibana &
5.5 安装filebeat
filebeat是安装在客户端侧服务器,配置后将日志传输到logstash服务器。
filebeat依赖的rseq组件,在低版本没有,必须要升级到7.17.2版本之上才可以
并且需要在filebeat配置文件中配置rseq相关信息,所以我们此处选择7.17.7
1.选择一个目录,解压安装包
tar -zxvf filebeat-7.17.7-linux-x86_64.tar.gz
2.修改配置:filebeat.yml
vim filebeat-7.17.7-linux-x86_64/filebeat.yml
3.后台启动
#进入filebeat-7.17.7-linux-x86_64目录下进行启动
nohup ./filebeat -e -c filebeat.yml &
6. 配置Kibana
注意:因安装过程我把上述安装中的tags:mes3-log改成了tags:sys,所以下图中全是sys,tags是自己任意命名的,无所谓
1.登录页面http://IP:5601/
2.打开kibana,进入stack management > index management,选中下图中的索引,点击Edit Settings,将图中的数值改为0,并保存
3.创建索引,点击索引模式
输入mes3-log的正则匹配:[mes3-log]-*,进行通配。我配置文件是sys_,所以下图略有不同
配置完毕
7. 查看页面
点击最左侧顶部按钮,展开页面,点击discover
输入查询条件
END