ELK是三个开源软件Elasticsercher、Logstash、Kibana的缩写,现在又增加一个 Beats
轻量级日志搜集工具
用于在各种服务器上搜集日志后传给logstash。
ELK介绍及资源下载:https://www.elastic.co/cn/products
Elasticsearch 是一个基于 java lucene 开发的全文搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web 接口。也是当前流行的企业级搜索引擎,能够达到近实时的搜索引擎,稳定、可靠、快速及安装方便。
Logstash 主要是用于日志的搜集、分析、过滤的工具,支持大量数据的获取方式。一般的是 c/s 工作架构,client安装在需要搜集日志的主机上,server负责将各client节点搜集到的日志,进行修改、过滤等工作,一并传到Elasticsearch服务器。
Kibana 是一个开源的分析和可视化的平台工具,提供搜索、查看和与存储在Elasticsearch索引中的数据进行交互的功能。开发人员和运维人员可以轻松的执行高级数据分析,并在各种图表、表格和地图中可视化数据。
总之:ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。
linux中,简单安装 Elasticsearch 和 Kibana
下载的版本:elasticsearch-6.4.1.tar.gz
、kibana-6.4.1-linux-x86_64.tar.gz
修改 Elasticsearch 安装所需要的linux环境;
查看系统内核
ES 6.x 要求 Linux的内核要在 3.5+ 以上,内核查看命令 uname -a
如果不足 3.5 则需要升级内核;centos7内核升级如下
#注册内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#下载内核安装包
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#安装内核
yum --enablerepo=elrepo-kernel install kernel-ml
#修改配置文件:
vim /etc/default/grub
#修改内容为 GRUB_DEFAULT 改为 0 ;
GRUB_DEFAULT=0
#生成配置文件并且重启
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
#重启后查看内核
uname -a
修改应用创建文件的个数:
linux一般来说,限制应用最多创建65535个文件,但是Elasticserach要有至少创建65536个文件的权限,
vim /etc/security/limits.conf
#文件中增加下面两条:
* soft nofile 65536
* hard nofile 65536
修改进程开启线程的限制:
linux系统 默认 root 用户启动的进程可以开启无限个线程,其他用户开启的进程最多开启1024个线程。而Elasticsearch则要求最少开启线程为4096个,所以要修改默认配置。ES在 5.x版本后,强制不能使用root用户启动,所以必须其他用户启动ES。
vim /etc/security/limits.d/20-nproc.conf # 20-nproc.conf 也可能是其他文件,要查看自己的机器
# 如果不存在,则增加下面两条;
* hard nproc 4096
* soft nproc 4096
root soft nproc unlimited
修改开辟虚拟内存:
Es需要开辟一个65536字节空间以上的虚拟内存,而linux默认不允许任何用户和应用开启虚拟内存。
vim /etc/sysctl.conf
#在文件中增加下面内容:
vm.max_map_count=655360
#保存后,让修改后的文件生效
sysctl -p
安装Elasticsearch
解压 elasticsearch-6.4.1.tar.gz 到/usr/local/elk目录下
修改配置文件
vim /usr/local/elk/elasticsearch-6.4.1/config/elasticsearch.yml
#增加一条
network.host: 0.0.0.0
# 进入bin目录启动Elasticsearch
./elasticsearch
#出现下面错误
#Caused by: java.lang.RuntimeException: can not run elasticsearch as root
#说明是用root用户启动,应该改为其他用户启动,
#创建新用户
adduser elk
passwd elk
# 连续输入两次密码
#修改elasticsearch-6.4.1的所有者
chown -R elk.elk /usr/local/elk/elasticsearch-6.4.1
su elk
#启动 Elasticsearch
#测试启动成功
curl http://192.168.2.119:9200
也可以在本地浏览器访问:http://192.168.2.119:9200
安装Kibana
解压 kibana-6.4.1-linux-x86_64.tar.gz
到 /usr/local/elk 目录下
#修改config/kibana.yml
#增加一条:
server.host: "0.0.0.0"
#用root启动就可以
#进入bin目录
./kibana
#在浏览器查看:
http://192.168.209.129:5601
到此 Elasticsearch 和 Kibana 的 Linux版本 安装成功