ELK(ElasticSearch, Logstash, Kibana)

这篇博客介绍了ELK(Elasticsearch, Logstash, Kibana)栈的实战应用,包括Elasticsearch的安装配置、节点角色优化,以及Logstash的数据采集和预处理功能。内容涵盖了elasticsearch的分布式特性,Logstash的输入输出插件,如file和sincedb,以及grok过滤插件在日志结构化中的作用。" 103216531,7453760,Faster R-CNN数据集获取与训练流程解析,"['目标检测', '深度学习', '卷积神经网络', 'Faster R-CNN', '数据预处理']
摘要由CSDN通过智能技术生成

一、ELK介绍

ELK简介
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。主要负责将日志索引并存储起来,方便业务方检索查询。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。是一个日志收集、过滤、转发的中间件,主要负责将各条业务线的各类日志统一收集、过滤后,转发给 Elasticsearch 进行下一步处理。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

二、elasticsearch实战

1.elasticsearch简介

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:

1.分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
2.实时分析的分布式搜索引擎。
3.可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

2.elasticsearch安装与配置

server2/3/4安装软件

软件下载:https://elasticsearch.cn/download/
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.6/index.html

安装软件:
rpm -ivh jdk-8u171-linux-x64.rpm
rpm -ivh elasticsearch-7.6.1-x86_64.rpm //7.6版本自带jdk

设置服务自启:
systemctl daemon-reload
systemctl enable elasticsearch

在下载软件后,修改配置文件:

vim /etc/elasticsearch/elasticsearch.yml 
 17 cluster.name: my-es                                //集群名称
 23 node.name: server2                                //主机名,需要解析
 33 path.data: /var/lib/elasticsearch                    //数据目录
 37 path.logs: /var/log/elasticsearch                    //日志目录
 43 #bootstrap.memory_lock: true                        //锁定内存,内存小时千万不要开(我这里不开了)
 55 network.host: 172.25.254.2                            //主机IP
 59 http.port: 9200                                        //http服务端口
 68 discovery.seed_hosts: ["server2", "server3", "server4"]            //集群中包含的节点
 72 cluster.initial_master_nodes: ["server2", "server3", "server4"]        //集群中的master节点(在启动这个集群的时候要找一个引导节点 derver2、3、4都可以成为引导节点)
 

上述在server2上已经做出下载及相应配置,此时要在server 3、4上做相同的配置,我们直接复制相关文件过去即可:

[root@server2 ~]# scp elasticsearch-7.6.1-x86_64.rpm server3:~
[root@server2 ~]# scp elasticsearch-7.6.1-x86_64.rpm server4:~
然后修改相应参数即可。
 systemctl enable --now elasticsearch  ## 设置服务自启

在这里插入图片描述

cat /var/log/elasticsearch/my-es.log

由下图可知,9300端口是节点之间用来通信的端口,ES集群之间是通过9300进行通讯。
并且 他会在三个节点中选一个当master(当然每个节点都有成为master的可能,他会自行选举),现在是分布式的节点,down一个,其他三个还都能用。

在这里插入图片描述
此时 三台机器的elasticsearch.service均已启动,现在我们需要一个图形来管理这个集群,当然用命令行也可以去控制,并且官方也给出了文档,(https://www.elastic.co/guide/en/elasticsearch/reference/7.6/cluster-health.html
在这里插入图片描述
类似于下图,有好多API文档 都是关于管理的,可以自行查看:
在这里插入图片描述
在这里插入图片描述

3.elasticsearch图形化插件安装——elasticsearch-head

1.安装

上面我们也介绍到了:ealsticsearch只是后端提供各种api,那么怎么直观的使用它呢?elasticsearch-head将是一款专门针对于elasticsearch的客户端工具。

安装elasticsearch-head插件

安装docker镜像或者通过github下载elasticsearch-head项目都是可以的,1或者2两种方式选择一种安装使用即可

1. 使用docker的集成好的elasticsearch-head

    # docker run -p 9100:9100 mobz/elasticsearch-head:5

        docker容器下载成功并启动以后,运行浏览器打开http://localhost:9100/

2. 使用git安装elasticsearch-head

    # yum install -y npm

    # git clone git://github.com/mobz/elasticsearch-head.git

    # cd elasticsearch-head

    # npm install

    # npm run start

        检查端口是否起来

        netstat -antp |grep 9100

    浏览器访问测试是否正常

        http://IP:9100/
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值