Elastic Stack环境搭建

Elastic Stack(ELK)简介

	Elastic Stack 由elasticSearch,logstash,kibana和Beats组成。

elasticsearch

elasticSearch是一个基于Apache Lucene的开源搜索引擎。它通过RESTful API来隐藏Lucene的复杂性,让全文搜索变得简单。elasticSearch负责弹性堆栈的数据存储与搜索部分。数据存储使用NoSql,搜索部分使用Apache Lucene库。

1安装elasticSearch

官网安装教程地址为:
https://www.elastic.co/guide/en/elasticsearch/reference/7.9/deb.html#deb-running-init

1.下载并安装公共签名秘钥:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

2.在Debian上安装软件包
sudo apt-get install apt-transport-https

3.将存储库定义保存到/etc/apt/sources.list.d/elastic-7.x.list
echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

4.使用以下命令安装elasticSearch Debian软件包
sudo apt-get update && sudo apt-get install elasticsearch

5.使用以下命令启动或者停止elasticSearch
sudo -i service elasticsearch start
sudo -i service elasticsearch stop

6.列出elasticSearch日记账分录
sudo journalctl --unit elasticsearch

7.检查elasticSearch是否在运行
http://127.0.0.1:9200
或在浏览器中输出此地址,也会得到同样的输出

8.若需要更改elasticSearch的配置
/etc/default/elasticsearch 配置文件config,配置环境变量,包括堆大小,环境变量等
/etc/elasticsearch/elasticsearch.yml 配置文件config,关于集群中节点的配置
/var/log/elasticsearch/ 存储日志文件log
/var/lib/elasticsearch/ 存储数据文件data
/usr/share/elasticsearch/bin/ 可执行文件bin
/usr/share/elasticsearch/plugins 放置插件的地方

kibana

kibana的官方安装文档地址为
https://www.elastic.co/guide/en/kibana/7.9/deb.html#deb-repo

是一个针对elasticSearch的开源分析及可视化平台,用来搜索、查看存储在elasticSearch平台中的数据,通过各种图标进行高级数据分析及展示。

安装启动方式与elasticSearch非常相似

启动端口为5601
http://127.0.0.1:5601

logstash

官网安装地址为https://www.elastic.co/guide/en/logstash/7.9/installing-logstash.html#_apt

logstash是一种数据管道,从各种来源收集数据并将其转换为所需格式传递给elasticSearch
安装方式为:sudo apt-get update && sudo apt-get install logstash

以上安装完成之后,首先启动elasticsearch和kibana,我们先来学习最基本的elasticsearch命令

如果安装了curl并对curl有所了解,可以直接在命令行界面进行操作,
如果没有安装curl而且之前完全没有接触过,那么浏览器进入5601端口,然后点击左边菜单进入dev-tools,可以看见命令行界面,接下来可以对elasticsearch存储部分进行操作,但是还是建议了解学习一下curl的各种操作

首先需要了解curl的各种参数以及基本操作,可以参考http://www.ruanyifeng.com/blog/2019/09/curl-reference.html
了解curl的参数之前需要对计算机网络中http的请求与响应有所了解https://github.com/CyC2018/CS-Notes/blob/master/notes/HTTP.md

了解elasticsearch内部的存储形式,并开始进行CRUD实操训练http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

安装elasticSearch-head

这个工具可以用来显示elasticSearch中集群以及存储的数据的详细信息
首先需要安装nodejs和npm
sudo apt install nodejs-legacy 安装nodejs
sudo apt install npm 安装npm

github地址为:https://github.com/mobz/elasticsearch-head
npm install
npm start
浏览器访问9100端口查看界面

会遇到的问题:跨域cors
在elasticsearch.yml文件中加入两行命令
http.cors.enabled: true
http.cors.allow-origin: “*”
重启elasticsearch

使用filebeat收集数据并向logstash中传送

我在windows下做的,linux的那个机器太卡了,不过原理是一样的

在logstash文件夹下编写一个filebeat.conf的配置文件,路径其实随便,位置要记得,之后要用到
不知道为什么我在logstash下使用-e直接编写配置命令会启动报错,改成-f从文件配置启动不会
文件内容如下:
input {
beats {
port => “5044”
}
}
output {
stdout {
codec => rubydebug
}
}
验证配置文件是否存在问题:
logstash -f filebeat.conf --config.test_and_exit
启动配置文件
logstash -f filebeat.conf

下载Filebeat之后解压即可使用。在filebeat文件夹下找到filebeat.yml并修改:

filebeat.inputs:

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    #- /var/log/*.log
    - E:\logstash-7.9.2\logs\logstash-tutorial-dataset.log


output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

先启动logstash,再启动filebeat
filebeat -e -c filebeat.yml -d “publish”

可以看见logstash命令行界面出现输出,说明filebeat已经将收集到的数据发送给了logstash

logstash进行数据解析并将其输入到es进行存储

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值