ELK日志分析系统(使用篇)

ELK日志分析系统(使用篇),第1张

ELK日志分析系统使用教程

1.登陆kibana部署机器 http://172.168.160.193:5601/ (这里的ip:port是自己将kibana部署的机器ip地址)

2.选择左侧Discover菜单选项

3.在搜索框输入要查物雀肢询日志的关键字,比如事件执行订单号,商户订单号等

4.增加结果过滤设置

5.增加扩展字段显示

6.增加结果排序和显示顺序设置岁衡

从此,解放徒手登陆服务器各个结点进行罩世查询关键字的冗余工作,秒级分析关键日志。

 一套好的日志分析系统可以详细记录系统的运行情况,方便我们定位分析系统性能瓶颈、查找定位系统问题。上一篇说明了日志的多种业务场景以及日志记录的实现方式,那么日志记录下来,相关人员就需要对日志数据进行处理与分析,基于E(ElasticSearch)L(Logstash)K(Kibana)组合的日志分析系统可以说是目前各家公司普遍的首选方案。

  作为微服喊册兆务集群,必须要考虑当微服务访问量暴增时的高并发场景,此时系统的日志数据同样是爆发式增长,我们需要通过消息队列做流量削峰处理,Logstash官方提供Redis、Kafka、RabbitMQ等输入插件。Redis虽然可以用作消息队列,但其各项功能显示不如单一实现的消息队列,所以通常情况下并不使用它的消息队列功能;Kafka的性能要优于RabbitMQ,通常在日志采集,数据采集时使用较多,所以这里我们采用Kafka实现消息队列功能。

  ELK日志分析系统中,数据传输、数据保存、数据展示、流量削峰功能都有了,还少一个组件,就是日志数据的采集,虽然log4j2可以将日志数据发送到Kafka,甚至可以将日志直接输入到Logstash,但是基于系统设计解耦的考虑,业务系统运行不会影响到日志分析系统,同时日志分析系统也不会影响到业务系统,所以,业务只需将日志记录下来,然后由日志分析系统去采集分析即可,Filebeat是ELK日志系统中常用的日志采集器,它是 Elastic Stack 的一部分,因此能够与 Logstash、Elasticsearch 和 Kibana 无缝协作。

软件下载:

  因经常遇到在内网搭建环境的问题,所以这里习惯使用下载软件包的方式进行安装,虽没有使用Yum、Docker等安装方便,但是可以对软件目录、配置信息等有更深的了解,在后续采用Yum、Docker等方式安装时,也能清楚安装了哪些东西,安装配置的文件是怎样的,即使出现问题,也可姿型以快速的定位解决。

Elastic Stack全家桶下载主页: https://www.elastic.co/cn/downloads/

我们选择如下版本:

Kafka下载:

  安装前先准备好三台CentOS7服务器用于集群安装,这是IP地址为:172.16.20.220、172.16.20.221、172.16.20.222,然后将上面下载的软件包上传至三台服务器的/usr/local目录。因服务器资源有限,这里所有的软件都安装在这三台集群服务器上,在实际生产环境中,请根据业务需求设计规划进行安装。

  在集群搭建时,如果能够编写shell安装脚本就会很方便,如果不能编写,就需要在每台服务器上执行安装命令,多郑租数ssh客户端提供了多会话同时输入的功能,这里一些通用安装命令可以选择启用该功能。

新建/usr/local/java目录

将下载的jdk软件包jdk-8u64-linux-x64.tar.gz上传到/usr/local/java目录,然后解压

配置环境变量/etc/profile

在底部添加以下内容

使环境变量生效

备注:后续可通过此命令停止elasticsearch运行

  新建kafka的日志目录和zookeeper数据目录,因为这两项默认放在tmp目录,而tmp目录中内容会随重启而丢失,所以我们自定义以下目录:

修改如下:

在data文件夹中新建myid文件,myid文件的内容为1(一句话创建:echo 1 >myid)

kafka启动时先启动zookeeper,再启动kafka;关闭时相反,先关闭kafka,再关闭zookeeper。

1、zookeeper启动命令

后台运行启动命令:

或者

查看集群状态:

2、kafka启动命令

后台运行启动命令:

或者

3、创建topic,最新版本已经不需要使用zookeeper参数创建。

参数解释:

复制两份

--replication-factor 2

创建1个分区

--partitions 1

topic 名称

--topic test

4、查看已经存在的topic(三台设备都执行时可以看到)

5、启动生产者:

6、启动消费者:

添加参数 --from-beginning 从开始位置消费,不是从最新消息

7、测试:在生产者输入test,可以在消费者的两台服务器上看到同样的字符test,说明Kafka服务器集群已搭建成功。

Logstash没有提供集群安装方式,相互之间并没有交互,但是我们可以配置同属一个Kafka消费者组,来实现统一消息只消费一次的功能。

  Filebeat用于安装在业务软件运行服务器,收集业务产生的日志,并推送到我们配置的Kafka、Redis、RabbitMQ等消息中间件,或者直接保存到Elasticsearch,下面来讲解如何安装配置:

1、进入到/usr/local目录,执行解压命令

2、编辑配置filebeat.yml

  配置文件中默认是输出到elasticsearch,这里我们改为kafka,同文件目录下的filebeat.reference.yml文件是所有配置的实例,可以直接将kafka的配置复制到filebeat.yml

后台启动命令

停止命令

2、测试logstash是消费Kafka的日志主题,并将日志内容存入Elasticsearch

自动新增的两个index,规则是logstash中配置的

数据浏览页可以看到Elasticsearch中存储的日志数据内容,说明我们的配置已经生效。

Gitee: GitEgg: GitEgg 是一款开源免费的企业级微服务应用开发框架,旨在整合目前主流稳定的开源技术框架,集成常用的最佳项目解决方案,实现可直接使用的微服务快速开发框架。

GitHub: https://github.com/wmz1930/GitEgg

“ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸隐宽册如 Elasticsearch 等“存储库”中。Kibana 则可以让用户灶宏在 Elasticsearch 中使用图形和图表巧瞎对数据进行可视化。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11972393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存