阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ELK架构实现日志收集分析

427次阅读
没有评论

共计 2157 个字符,预计需要花费 6 分钟才能阅读完成。

引言

最近项目有了上线计划,现在面临着日志收集分析的问题,所以让小编来研究一下日志收集分析架构,下面就给大家分享一下小编搭建的第一套日志框架。

环境搭建过程见

 Linux 下日志分析 ELK 环境搭建手册  http://www.linuxidc.com/Linux/2017-05/143777.htm

架构图如下:

ELK 架构实现日志收集分析

下面说一下这个 ELK 架构的实现原理,logstash 在架构中起到的作用是从每台服务器上的某个路径中的文件中收集数据,并且按照预先编写好的过滤规则来过滤数据,然后按照要求将日志传输到 ES 集群中,然后通过 kibana 进行数据的展示。

下面就是比较核心的一步,进行 logstash 的配置,里面包含对数据输入的配置,数据过滤的配置,数据输出的配置。这三个配置是最重要的。

文件名称为:elasticsearch_output.conf

 

input {
    file {
        path => “/var/log/nginx_access.log”
        type => “nginx”
        start_position => “beginning”
        sincedb_path => “/dev/null”
    }

}

filter {
    grok {
        match => [“message”, “%{TIME}\s+(?<Level>(\S+)).*?\((?<http>(\S+))\)\s*%{TIMESTAMP_ISO8601:time}\s+\[(?<uuid>(\S+))\]\s*\[%{IPORHOST:clientip}\].*”]
  }
}

output {
    elasticsearch {
        host => “192.168.22.189”
        protocol => “http”
        index => “itoo_output-%{type}-%{+YYYY.MM.dd}”
 document_type => “nginx”
        workers => 5
    }
}

因为我们的系统按照约定将日志文件输入到某个路径下面的.log 文件中,所以在选择输入类型的时候选择了 file 类型,其中还有 TCP、UDP、rsyslog 等类型。

filter 是我们自己编写的过滤规则,这个规则需要我们分析自己的日志,然后利用 logsta 已经给我编写好的一下正则表达式来完成自己的过滤规则的编写。

下面的地址是已经编写好的正则匹配文档:

https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

输出我们选择了 ES,关于 ES 的介绍就不在本编博客中介绍,host 是我们搭建的 ES 集群的主节点的 ip 地址。index 就是在 es 中创建的名称。

然后我们在需要收集日志的服务器上面启动 logstash 服务运行这个配置文件即可,启动命令为

./logstash -f elasticsearch_output.conf

这样我们就会可以在 es 中查看已经导入的日志数据,并且当日志文件有更新的时候,logstash 会自动将新增加的内容收集并传入到 ES 中供我们查看。

这个架构已经搭建完成了,但是这存在着几个问题?

第一:编写过滤规则比较费事

第二:如何将一条错误堆栈信息收集成一条信息存储在 es 库中

这种架构的优缺点

优点:搭建简单,易于上手。

缺点:logstash 消耗资源大,运行占用的 CPU 和内存较高,并且没有消息队列缓存,这样存在数据的丢失的隐患。

架构二:

ELK 架构实现日志收集分析

我们选择将 Linux 自带的 rsyslog 日志收集系统充当 logstash Agent,解决我们日志收集的问题。这样我们将分散每台服务器上面的日志通过 rsyslog 日志收集到并传输到 Logstash 服务器上面的某个文件中,然后我们在通过 logstash 过滤后送到 es 集群中,在这个架构中,如果日志系统比较大的情况下,我们还可以将 logstash 做成集群。这样就可以承担更大的日志量了。

这种架构在日志量不是很大的中小型项目中足够使用,这样我们是在一定程度上解决了日志量过大的问题,但是我们并没有解决 logstash 过滤文件编写的问题,也就说 logstash 比较难于定义,这是因为 logstash 是 ruby 语言编写的,这对于我们 Java 程序员来说不容易。所以我们也没有采用。

对于比较热衷于 logstash 的 用户,并且数据量比较大的情况下,采用第三种架构

ELK 架构实现日志收集分析

这种架构小编没有搭建,以为我们决定采用 EFK 架构了,所以对于这种架构,小编知识从理论方面进行了分析,基于上面两种架构的弊端,在架构三中我们引入了 kafka 消息中间件类似消息队列的功能。并且 kafka 的集群搭建也是非常容易的,这样如果日志产生量非常大的情况下,我们可以将过剩的日志缓存在 kafka 集群中,慢慢的提供给 logstash 集群中进行过滤、传输到 ES 集群中。这种架构均衡了网络传输、从而降低了网络闭塞尤其是丢失数据的可能性。但是也没有解决 logstash 占用资源的问题。

通过分析对比我们最终选择 flume 来代替 logstash 进行数据的收集和传输。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143778.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2157字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7974307
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...