当前位置: 代码迷 >> 综合 >> ELK(Elasticsearch、Logstash、Kibana)安装
  详细解决方案

ELK(Elasticsearch、Logstash、Kibana)安装

热度:59   发布时间:2023-10-29 01:55:35.0

目录

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 &

4:访问 kibana  http://192.168.44.131:5601/

  相关解决方案