ELK
ELK 是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它 们都是开源软件。
Elasticsearch 是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功 能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据 获取方式。一般工作方式为 c/s 架构,client 端安装在需要收集日志的主机上, server 端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch 上去。
Kibana 也是一个开源和免费的工具,Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重 要数据日志。 新增了一个 Beats 系列组件,它是一个轻量级的日志收集处理工具(Agent), Beats 占用资源少,适合于在各个服务器上搜集日志或信息后传输给 Logstash。 加入 Beats 系列组件后,官方名称就变为了 Elastic Stack,产品如下:
LINUX下ELK的安装和启动
环境和安装
我使用的是7.7版本(版本要一致,不然会报错),需要安装jdk1.8。下载完成之后直接解压
下载
运行
Elasticsearch
Elasticsearch 默认不允许用 root 用户运行,会报错,而且从服务器安全的 角度来说,也不应该以 root 用户来做日常工作,因此我们新建一个用户 elk 并以 elk 用户登录。
用tar -xvf命令解压压缩包elasticsearch-7.7.0-linux-x86_64.tar.gzip后进入 elasticsearch-7.7.0 文件夹中的 bin 文件夹,并执行命令./elasticsearch。
输入 curl http://localhost:9200
显示
如果需要浏览器外部可以访问。我们还需要配置一下 Elasticsearch 以允许我们进行外网访问,进入 elasticsearch-7.7.0 下的 config 目录,编辑 elasticsearch.yml 文件,删除 network.host 前的#字符,并写入服务器的地址并 保存。
然后就在浏览器中访问:
Elasticsearch 提供的是 restful 风格接口,我们用浏览器访问不 是很方便,除非我们自行编程访问 restful 接口。这个时候,就可以用上 Kibana 了, 它已经为我们提供了友好的 Web 界面
Kibana
同样用 tar -xvf 命令解压压缩包,进入解压后的目录。为了方便我们的访问 和连接 Elasticsearch,也需要进入 Kibana 的 config 目录对 Kibana 进行配置。配置IP和Elasticsearch的访问地址
然后进入 Kibana 的 bin 目录运行./kibana,kibana 因为是用 node.js 编写的, 所以启动和运行较慢。访问地址为:http://192.168.10.130:5601