2020-06-10—ELK的入门与安装

了解ELK之前,首先要知道什么是Restful。

假如面试官让你简单说下RestFul,你要怎么回答?

Rest是Representational State Transfer的缩写,它包括三部分(资源、表现层、状态转化)。

  • 一、资源(Resources)
    REST的名称”表现层状态转化”中,省略了主语。”表现层”其实指的是”资源”(Resources)
    的”表现层”。
    所谓”资源”,就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文
    本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI

  • 二、表现层(Representation)
    “资源”是一种信息的实体,他有很多外在的表现形式。我们把“资源”具体呈现出来的形式,叫做它的“表现层”(Representation)。
    比如,文本可以用TXT展现,也可以用HTML格式、XML格式、JSON格式等等。URI只代表资源的实体,不代表它的形式。它的具体表现形式应该在HTTP请求中的Accept和Content-type指定,这两个字段才是对“表现层”的指定

  • 三、状态转化(State Transfer)

    互联网通信协议HTTP协议是一种无状态的协议,这意味着,所有的状态信息都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器发生“状态转化(State Transfer)”,而这种转换是建立在表现成之上的,所以就是“表现层状态转换”。

    客户端用到的手段,只能是HTTP协议。具体来说就是协议中的四个操作方式:GET、POST、PUT、DELETE。他们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

综上:总结一下什么是RestFul架构?

(1)每个URI代表一种资源。

(2)客户端和服务器之间,传递这种资源的某种表现层。

(3)客户端通过四个HTTP动词,对服务器的资源进行操作,实现“表现成状态转换”。

ELK简介

什么是ELK(Elasticsearch , Logstash, Kibana)?

是一种能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。(hadoop同一个开发人员)java 开发的开源的全文搜索引擎工具,基于lucence搜索引擎的,采用 restful - api 标准的,高可用、高扩展的分布式框架,提供实时数据分析。

官网地址:https://www.elastic.co/cn/

安装ELK

本人为docker铁粉,这里只叙述,docker安装方法。安装准备:Linux、JAVA8、Docker

安装包下载地址:https://www.elastic.co/cn/downloads

安装Elasticsearch:

sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:7.7.1
## docker 运行时报没有权限的错误,就赋权限
sudo chmod 777 -R /opt/elasticsearch/
## 演示单机启动
sudo docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name elasticsearch01 -v /opt/elasticsearch/data:/usr/share/elasticsearch/data docker.elastic.co/elasticsearch/elasticsearch:7.7.1

安装kibana:

sudo docker pull docker.elastic.co/kibana/kibana:7.7.1
# 创建挂载文件夹
sudo mkdir /opt/kibana
## 此步骤是为了防止挂载run时,报错,提前把文件copy出来,然后重新运行挂载
## sudo docker run -d --link elasticsearch01:elasticsearch -p 5601:5601 --name kibana docker.elastic.co/kibana/kibana:7.7.1
## sudo docker cp ....

# 注意以下命令,--link 是连接elasticsearch01容器的,上面我的elasticsearch的容器名称为elasticsearch01,这里的elasticsearch01 需要换成你创建的容器的name.
# 官方命令是这样的:
# docker run --link 【你的elasticsearch容器的名称或者ID】:elasticsearch -p 5601:5601 {docker-repo}:{version}
sudo docker run -d --link elasticsearch01:elasticsearch -p 5601:5601 --name kibana -v /opt/kibana/:/usr/share/kibana/config/ docker.elastic.co/kibana/kibana:7.7.1

安装logstash:

sudo docker pull docker.elastic.co/logstash/logstash:7.7.1

# 以下步骤为了防止挂载run时,报错,提前把文件copy出来,然后重新运行挂载
# sudo mkdir /opt/logstash/pipeline
# sudo mkdir /opt/logstash/settings
# sudo chmod 777 -R /opt/logstash
# sudo docker run --rm -it --name logstash docker.elastic.co/logstash/logstash:7.7.1

# sudo docker cp logstash:/usr/share/logstash/pipeline/ /opt/logstash/
# sudo docker cp logstash:/usr/share/logstash/config/ /opt/logstash/

sudo docker run -d -it --name logstash -v /opt/logstash/pipeline/:/usr/share/logstash/pipeline/ -v /opt/logstash/settings/:/usr/share/logstash/config/ docker.elastic.co/logstash/logstash:7.7.1

至此,就安装完成了。可以直接访问服务器地址:http://IP:5601/app/kibana 进行查看。

ELK中至于Logstash的配置,下节讲述。

发布于

2020-06-10

更新于

2022-03-25

许可协议

评论

:D 一言句子获取中...

加载中,最新评论有1分钟缓存...