首页 > 其他分享 >使用日志来监控应用

使用日志来监控应用

时间:2023-08-13 12:32:11浏览次数:37  
标签:提取 监控 处理 mtail 指标 Elasticsearch 应用 日志

根据提取规则运行的位置可以分为两类做法,一个是在中心端,一个是在日志端。

中心端就是把要处理的所有机器的日志都统一传到中心,比如通过 Kafka 传输,最终落到 Elasticsearch,指标提取规则可以作为流计算任务插到 Kafka 通道上,性能和实时性都相对更好。或者直接写个定时任务,调用 Elasticsearch 的接口查询日志,同时给出聚合计算函数,让 Elasticsearch 返回指标数据,然后写入时序库,实时性会差一些,但也基本够用。

日志端处理是指提取规则直接运行在产生日志的机器上,流式读取日志,匹配正则表达式。对于命中的日志,提取其中的数字部分作为指标上报,或者不提取任何数字,只统计一下命中的日志行数有时也很有价值,比如统计一下 Error 或 Exception 关键字出现的次数,我们就知道系统是不是报错了。

日志端处理的方式,倒是有很多开源方案,比较有名的是 mtail 和 grok_exporter。

mtail、grok_exporter 等工具就像是对日志文件执行 tail -f,然后每收到一条日志,就去匹配预定义的正则表达式,如果匹配成功,就执行某些动作,否则跳过等待下一条日志。

 mtail 的部署,如果一个机器上有 5 个应用程序都要用 mtail 来提取指标,各个应用的日志格式又不一样,建议启动 5 个 mtail 进程分别来处理。虽然管理起来麻烦,但是性能好,相互之间没有影响。

如果把所有提取规则都放到一个目录下,然后通过多次 -logs 参数的方式同时指定这多个应用的日志路径,一个 mtail 进程也能处理,但是对于每一行日志,mtail 要把所有提取规则都跑一遍,十分浪费性能,而且正则提取,速度本来就不快。另外有些指标可能是所有应用都可以复用的,如果放在一起处理,还容易相互干扰,导致统计数据不准。从这两点来看,尽量还是要拆开分别处理,虽然管理起来麻烦一些,但也是值得的。

在容器场景中就没有这个问题,容器场景直接使用 sidecar 部署就好了,每个 Pod 必然只有一个应用,伴生的 mtail 就专注去处理这个应用的日志就好了。

指标提取的几种方式,总体上来看就是中心端和日志端两种,由于中心端的处理方式多见于商业软件,没有看到开源解决方案。日志端的处理核心逻辑都是一样的,通过类似  tail -f 的方式不断读取日志内容,然后对每行日志做正则匹配提取,由于日志格式不固定,很难有结构化的处理手段,所以这些工具都是选择使用正则的方式来提取过滤指标。

使用日志来监控应用_日志监控



标签:提取,监控,处理,mtail,指标,Elasticsearch,应用,日志
From: https://blog.51cto.com/key3feng/7066375

相关文章

  • 工程监测振弦采集仪应用于铁路监测
    工程监测振弦采集仪是一种专门用于振动和振弦监测的设备。它可以对物体在振动时的振动幅值、频率、相位等参数进行实时监测和分析,为铁路监测提供了强大的技术支持。下面将介绍工程监测振弦采集仪在铁路监测中的应用。1.铁路桥梁监测铁路桥梁是铁路建设中的重要组成部分,其稳定性......
  • 工程监测振弦采集仪在铁路监测中的应用案例
    随着铁路交通的快速发展,铁路的安全和稳定性也成为了关注的焦点。铁路运输中的车辆震动,路基的变形以及天气等自然因素都会对铁路的安全性和舒适度造成严重影响,因此,实现铁路监测显得尤为重要。为解决这一问题,工程监测振弦采集仪成为了铁路监测中的必备设备。工程监测振弦采集仪可实......
  • 使用 Spring WebFlux 构建响应式 Web 应用
    SpringFramework不仅提供了传统的基于Servlet的Web开发方式,还引入了响应式编程模型,使得构建高性能、可扩展的响应式Web应用变得更加容易。在本篇博客中,我们将深入探讨如何使用SpringWebFlux构建响应式Web应用,包括路由、处理器函数以及响应式数据流的处理。1.什么是响......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录
    Django实现文件上传、文件列表查看、修改、限流和日志记录本章先简单实现文件的上传,后续会将标题的功能一一添加上去实现,并且给出远程服务器的不同连接方式【密码和秘钥】,欢迎继续关注。安装了Django框架pipinstalldjango 创建一个Django项目django-adminstartproj......
  • oracle归档日志暴增原因分析,Oracle归档日志满导致数据库性能异常慢 转发 https://b
    ============= oracle数据库archivelog暴增分析====================前言归档量突然增长到981G/天,导致归档目录使用率告警归档日志量异常暴增会导致磁盘空间爆满,数据库异常1、归档日志量统计SELECTTRUNC(FIRST_TIME)"TIME",SUM(BLOCK_SIZE*BLOCKS)/1024/1024/102......
  • 直线电机模组在3C电子行业中的重要应用
    直线模组的种类有很多,是自动化行业中必不可少的传动元件,其中丝杆模组和同步带模组的应用率比较高,但随着自动化领域的迅速发展,高精密直线电机模组也得到了广泛的应用,尤其是在电子行业中的应用。3C电子产品在我们的日常生活中扮演着重要的角色,小到LED灯泡、手机,大到高速铁路,航天产业,......
  • 开源日志组件Sejil--附带日志管理界面
    1.开源日志组件源码: https://github.com/alaatm/Sejil2.下载下来发现里面对于不同的.netcore版本的配置提供了对应的示例 .NetCore3.1Program.cs文件中publicclassProgram{publicstaticvoidMain(string[]args)=>CreateHostBuilder(args).B......
  • springboot集成log4j2日志
    目录Maven依赖log4j2.xml配置注释测试参考Maven依赖参考:https://docs.spring.io/spring-boot/docs/2.7.14/reference/htmlsingle/#howto.logging.log4j <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</a......
  • LntonNVR(源码版)视频监控平台助力“阳光厨房”,构建校园食品安全的“防护网”方案
    一、方案背景随着社会信息化的快速发展,信息技术逐渐渗透到人类日常生活的各个领域。食堂安全要求越来越严格,因此食堂区域监控需求也大量增加。相关部门非常重视食堂监管,并积极推动食堂区域的安全标准操作。为了加强食堂区人员队伍建设和实现自动化管理,越来越多的校园引入规范和平......
  • WEB自动化-Allure报告-添加日志内容到Allure报告
    如果想把LOG内容输出到Allure报告,步骤如下:1、创建pytest.ini文件,设置规则 2、创建conftest文件,设置driver和日志封装及截图#浏览器驱动importloggingimportallureimportpytestfromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOpti......