目录
ELK简介
Elasticsearch安装步骤
1:下载
2:解压
3:修改配置文件elasticsearch.yml
4:启动elasticsearch
5:报错问题解决
6:访问elasticsearch
7:elasticsearch-head插件安装于配置
Logstash安装步骤
1:下载,解压
2:创建配置文件logstash-es.conf
3:检测配置文件是否有错
4:指定配置文件,启动 logstash
5:验证是否启动成功
Kibana安装步骤
1:下载,解压
2:修改配置文件
3:启动 kibana
4:访问 kibana http://192.168.44.131:5601/
ELK简介
ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。ELK本文讲解安装(以elasticsearch-6.4.3为例)
Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。
Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。
Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据
官网地址:https://www.elastic.co/cn/
官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.html
Elasticsearch安装步骤
1:下载
cd /usr/local
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
2:解压
tar -xzf elasticsearch-6.4.3.tar.gz
cd elasticsearch-6.4.3/
3:修改配置文件elasticsearch.yml
vi /usr/local/elasticsearch-6.4.3/config/elasticsearch.yml
#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es
#节点名称
node.name: node-1
#设置索引数据的存储路径
path.data: /usr/local/elasticsearch-6.4.3/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch-6.4.3/logs
#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中
network.host: 0.0.0.0
#设置对外服务的http端口
http.port: 9200
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1","10.10.10.34:9200"]
注意:
(1):如果没有/usr/local/elasticsearch-6.4.3/data,/usr/local/elasticsearch-6.4.3/logs 文件夹请自行创建该文件夹。
(2):elasticsearch必须依赖JAVA环境,所以需要安装JDK1.8及其以上版本,查看JDK版本如下
java -version
#返回信息如下
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
4:启动elasticsearch
cd /usr/local/elasticsearch-6.4.3
./bin/elasticsearch
5:报错问题解决
原因:因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
具体操作如下:
useradd esuser
passwd esuser
再输入两次密码(自定义)
为用户赋权限 chown -R esuser:esuser /usr/local/elasticsearch-6.4.3
然后使用es用户启动 :su esuser
cd /usr/local/elasticsearch
启动es命令:bin/elasticsearch
原因1:无法创建本地文件问题,用户最大可创建文件数太小,解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
vi /etc/security/limits.conf
然后添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
注:* 代表Linux所有用户名称(比如 hadoop)
需要保存、退出、重新登录才可生效。
原因2:最大虚拟内存太小,解决办法切换到root用户修改配置sysctl.conf:
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
最后记得执行:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
启动es命令:bin/elasticsearch
启动后台es命令:bin/elasticsearch -d
6:访问elasticsearch
http://192.168.44.131:9200/
7:elasticsearch-head插件安装于配置
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es
elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。
你可以通过插件把它集成到es(首选方式),也可以安装成一个独立webapp。
elasticsearch-head主要有三个方面的操作:
a、显示集群的拓扑,并且能够执行索引和节点级别操作
b、搜索接口能够查询集群中原始json或表格格式的检索数据
c、能够快速访问并显示集群的状态 有一个输入窗口,允许任意调用RESTful API。
d、这个接口包含几个选项,可以组合在一起以产生有趣的结果; 请求方法(get、put、post、delete),查询json数据,节点和路径
e、支持JSON验证器
支持重复请求计时器
支持使用javascript表达式变换结果
f、收集结果的能力随着时间的推移(使用定时器),或比较的结果,能力图表转换后的结果在一个简单的条形图(包括时间序列)
7.1:elasticsearch-head下载地址:https://github.com/mobz/elasticsearch-head
#安装git插件
yum install -y git
#验证git版本
git --version
#下载并安装head插件
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
npm install
7.2:配置elasticsearch,允许head插件远程访问
cd /usr/local/elasticsearch-6.4.3/config
vi elasticsearch.yml
#在配置文件末尾添加如下内容,重新启动elasticsearch服务
http.cors.enabled: true
http.cors.allow-origin: "*"
7.3:启动elasticsearch-head服务
cd /usr/local/elasticsearch-head/
npm run start
#如果后台启动使用
nohup npm run start &
7.4:访问elasticsearch-head http://192.168.44.131:9100/,输入elasticsearch的地址 http://192.168.44.131:9200/
Logstash安装步骤
1:下载,解压
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.3.tar.gz
tar -zxvf logstash-6.4.3.tar.gz
2:创建配置文件logstash-es.conf
cd /usr/local/logstash-6.4.3/config/
mkdir conf.d
vi conf.d/logstash-es.conf
#输入以下内容
input {tcp {port => 10514codec => "json"}
}
output {elasticsearch {action => "index"hosts => ["localhost:9200"]index => "%{[appname]}"}
}
说明:
10514:接受日志端口
hosts => ["localhost:9200"] :es的ip和端口
"%{[appname]}" :取值日志中appname值为索引
3:检测配置文件是否有错
/usr/local/logstash-6.4.3/bin/logstash --path.settings /usr/local/logstash-6.4.3/config/ -f /usr/local/logstash-6.4.3/config/conf.d/logstash-es.conf --config.test_and_exit
Configuration OK # 为ok则代表配置文件没有问题
命令说明:
- --path.settings 用于指定logstash的配置文件所在的目录
- -f 指定需要被检测的配置文件的路径
- --config.test_and_exit 指定检测完之后就退出,不然就会直接启动了
4:指定配置文件,启动 logstash
/usr/local/logstash-6.4.3/bin/logstash --path.settings /usr/local/logstash-6.4.3/config/ -f /usr/local/logstash-6.4.3/config/conf.d/logstash-es.conf
#如果后台运行
/usr/local/logstash-6.4.3/bin/logstash --path.settings /usr/local/logstash-6.4.3/config/ -f /usr/local/logstash-6.4.3/config/conf.d/logstash-es.conf &
5:验证是否启动成功
[root@localhost ~]# netstat -lntp |grep 10514
tcp6 0 0 :::10514 :::* LISTEN 12385/java
[root@localhost ~]#
Kibana安装步骤
1:下载,解压
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.3-linux-x86_64.tar.gz
tar -zxvf kibana-6.4.3-linux-x86_64.tar.gz
2:修改配置文件
cd /usr/local/kibana-6.4.3-linux-x86_64
vi config/kibana.yml
#修改一下内容
server.port: 5601 ##服务端口
server.host: "0.0.0.0" ##服务器ip 本机
elasticsearch.url: "http://localhost:9200" ##elasticsearch服务地址 与elasticsearch对应
3:启动 kibana
/usr/local/kibana-6.4.3-linux-x86_64/bin/kibana
#后台启动
/usr/local/kibana-6.4.3-linux-x86_64/bin/kibana &