采集主机环境业务日志最佳实践

前言

随着信息技术的飞速发展,主机环境业务越来越复杂,产生的日志数据也呈爆炸式增长。日志数据作为记录系统运行状态、用户行为以及异常事件的重要信息,对于业务分析、故障排查和安全审计等方面具有不可替代的作用。然而,传统的主机日志查询分析方式往往存在数据割裂、查询效率低下等问题,难以满足现代主机环境业务的需求。

本文旨在结合当前主机环境业务的特点,通过观测云采集主机环境业务日志的最佳实践,实现统一的日志查询分析效果。帮助用户了解如何有效地采集、存储、分析这些分散的日志数据,为提升故障定位的效率提供有力支持。

接入方案

1、安装采集器 DataKit

  • 登录观测云控制台,点击「集成」 > 「DataKit」

  • 复制安装命令并执行

  • 安装成功后,可在观测云控制台的「基础设施」中查看该主机的对象和指标数据

2、配置主机日志文件采集

  • 进入 DataKit 安装目录下的 /usr/local/datakit/conf.d/log 目录,复制 logging.conf.sample 并命名为 logging.conf 。示例如下:

  • 修改 logging.conf 文件中的日志文件路径,并自定义编写一个容易区分的 source 名称。示例如下:

  • 重启 DataKit 后,即可在观测云控制台的「日志」查看器中查看相关日志。(注意:DataKit 启动后,logfiles 中配置的日志文件有新的日志产生才会采集上来,老的日志数据是不会采集的。即只会采集 tail -f 看到的新日志内容。)
# Linux/Mac 可能需加上 sudo
datakit service -T # stop
datakit service -S # start
datakit service -R # restart

3、配置采集多个主机日志文件

  • 如果需要采集多个主机日志文件,且需要区分日志来源时,可以在 DataKit 安装目录下的 /usr/local/datakit/conf.d/log 目录,复制 logging.conf 并命名为 logging2.conf。示例如下:

  • 修改 logging2.conf 文件中的日志文件路径,并自定义编写一个容易区分的 source 名称。示例如下:

  • 重启 DataKit ,即可在观测云控制台看到采集上来的两个日志源数据。(注意:DataKit 启动后,logfiles 中配置的日志文件有新的日志产生才会采集上来,老的日志数据是不会采集的。即只会采集 tail -f 看到的新日志内容。)
# 重启DataKit
datakit service -R # restart

glob 规则简述

DataKit 采集器还支持使用 glob 规则更方便地指定日志文件,以及自动发现和文件过滤。

通配符描述正则示例匹配示例不匹配
*匹配任意数量的任何字符,包括无Law*Law, Laws, LawyerGrokLaw, La, aw
?匹配任何单个字符?atCat, cat, Bat, batat
[abc]匹配括号中给出的一个字符[CB]atCat, Batcat, bat
[a-z]匹配括号中给出的范围中的一个字符Letter[0-9]Letter0, Letter1, Letter9Letters, Letter, Letter10
[!abc]匹配括号中未给出的一个字符[!C]atBat, bat, catCat
[!a-z]匹配不在括号内给定范围内的一个字符Letter[!3-5]Letter1…Letter3 … Letter5, Letterxx

除上述 glob 标准规则外,采集器也支持 ** 进行递归地文件遍历、多行日志匹配、特殊字节码处理等高级操作。

日志查询

观测云支持通过多种操作对日志数据进行查询和分析:

文本搜索

日志查看器支持关键词查询、通配符查询,* 表示匹配 0 或多个任意字符,? 表示匹配 1 个任意字符;若要将多个术语组合到一个复杂查询中,可以使用布尔运算符(AND/OR/NOT)连接。

术语可以是单词或者短语。比如:

  • 单个单词:guance;
  • 多个单词:guance test;(等同于 guance AND test)
  • 短语:"guance test"; (使用双引号可以将一组单词转换为短语)

搜索查询示例:

JSON搜索

查看器原生支持对 JSON 格式 message 内容进行精确检索,搜索格式为: @key:value ,若为多层级 JSON 可用 “.” 承接,即 @key1.key2:value ,如图所示:

日志解析

Pipeline 支持对不同格式的日志数据进行文本解析,通过编写 Pipeline 脚本,可以自定义切割出符合要求的结构化日志,并把切割出来的字段作为属性使用。通过属性字段,我们可以快速筛选相关日志、进行数据关联分析,帮助我们快速去定位问题并解决问题。

下面是一条日志原文和对应的 pipeline 脚本示例:

# 日志原文
2024-03-29 11:54:54,535 WARN  http-nio-8081-exec-1 (org.jasig.cas.web.view.CasReloadableMessageBundle:76) - The code [screen.logout.security] cannot be found in the language bundle for the locale [zh_CN]

# pipeline脚本
grok(_, "%{TIMESTAMP_ISO8601:time} %{LOGLEVEL:status}  %{NOTSPACE:thread_name} \\(%{NOTSPACE:class_name}\\:%{NUMBER:line}\\) - %{GREEDYDATA:msg}")

default_time(time,"Asia/Shanghai")

成功解析出 class_name、line、status、thread_name 等字段,方便后续的搜索统计等;效果如下:

日志可视化分析

场景图表

观测云内置多种数据监控视图模版,用户可导入模板创建仪表板和查看器,并进行自定义编辑配置;或选择自定义创建方式,通过一系列设置构建数据洞察场景。

比如,根据前面解析出来的 status 字段,统计一下 info、warning 状态的日志分别有多少,可以通过以下步骤来创建可视化仪表板。

第一步:在场景 > 仪表板中,选择自己想要的视图类型

第二步:选择日志数据源,设置过滤条件和分组,点击创建即可

强大的关联能力

1、视图配置跳转链接

观测云提供链接功能,可以平滑跳转仪表板 & 查看器,实现数据联动分析、系统全面可观测。只需在视图设置页面,配置链接地址。

再点击视图中的数据,即可跳转到对应的日志查看器,快速实现视图与查看器联动分析。

2、绑定内置视图

观测云还支持将视图保存为内置视图,并绑定到查看器中,方便在查看日志数据的同时,分析其他维度的数据。

查看日志详情时,即可查看上面绑定的内置视图,也可以绑定其他维度的视图,比如主机的指标视图等等。

日志告警

观测云提供开箱即用的监控模板来新建监控器;也支持自定义新建监控器,通过阈值检测、日志检测、突变检测、区间检测等十余种检测规则来设置检测规则和触发条件。开启监控器后,即可接收到由检测规则触发的相关异常事件告警。

其中,日志检测用于监控工作空间内基于日志采集器产生的的全部日志数据。支持基于日志的关键字设置告警,及时发现不符合预估行为的异常模式(如:日志文本数据中存在异常的标签),多适用于 IT 监控场景下的代码异常或任务调度检测等。

第一步:在监控 > 新建日志检测监控器

第二步:设置检测规则和触发条件

这里以日志内容包含"WARN"为例,设置超过 100 条时就触发告警。

第三步:编辑事件通知内容和告警策略,点击创建即可

日志备份

观测云提供日志数据转发到观测云的对象存储及转发到外部存储的功能(包含观测云备份日志、AWS S3、华为云 OBS、阿里云 OSS 和 Kafka 消息队列)。用户可以自由选择存储对象,灵活管理日志备份数据。

第一步:点击日志 > 数据转发

第二步:点击转发规则 > 新建规则

第三步:设置需要备份的数据源,和相关筛选条件,点击确定即可

注意:该规则下的日志数据最低存储默认为 180 天,可以前往管理 > 设置 > 变更数据存储策略中修改数据转发存储策略。

查看备份数据

第一步:点击日志 > 数据转发,在下拉框选定规则

第二步:自定义时间范围查询,可选择多个日期及定义开始时间和结束时间,时间会精确到小时,即可查询到备份数据

更多日志备份相关操作,也可以阅读官方文档的详细介绍。

总结

通过以上方式,可以快速将主机环境各个业务系统的日志采集到观测云平台,实现统一的日志查询和分析的诉求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/537692.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简洁易用的记账小程序——微点记账 增加一个新功能

文章目录 背景功能介绍水印相机首页介绍所需权限水印相机功能定位切换拍摄闪光分享 总结 背景 前面已经介绍过了这个小 程 序——微点记账 最近有朋友反馈,能不能出一个水印相机的小程序?很想为小伙伴分忧,但是鉴于小 程 序也需要备 案&…

2024妈妈杯数学建模B题思路-甲骨文智能识别中原始拓片单字自动分割与识别研究

# 1 赛题 B 题 甲骨文智能识别中原始拓片单字自动分割与识别研究 甲骨文是我国目前已知的最早成熟的文字系统,它是一种刻在龟甲或 兽骨上的古老文字。甲骨文具有极其重要的研究价值,不仅对中国文明的 起源具有重要意义,也对世界文明的研究有着…

避坑指南: “低代码开发平台”怎么选看这篇!附案例参考

从事TOB行业 9 年,深入体验过 10 余款低代码产品。 下面基于我的个人认知给大家讲一讲: 低代码开发平台该如何选?从哪些维度可以判断低代码平台适合你的企业?多家企业采用低代码平台的实践案例! 目前市面上有超过 2…

大数据dolphinscheduler 本地容器化安装

Minio 容器安装 docker run -p 9000:9000 -p 9090:9090 --name minio -d -e "MINIO_ACCESS_KEYminioadmin" -e "MINIO_SECRET_KEYminioadmin" -v D:\SF\DOCKER\minio\data:/data -v D:\SF\DOCKER\minio\config:/root/.minio minio/minio server /da…

LeetCode---392周赛

题目列表 3105. 最长的严格递增或递减子数组 3106. 满足距离约束且字典序最小的字符串 3107. 使数组中位数等于 K 的最少操作数 3108. 带权图里旅途的最小代价 一、最长的严格递增或递减子数组 按照题目要求进行模拟即可,这里提供两者思路: 1、两次…

AI赋能校园管理,打造平安智慧校园解决方案

背景: 2020年教育部办公厅印发《教育系统安全专项整治三年行动实施方案》,文中要求,学校在所辖范围内组织开展安全专项整治三年行动,健全完善安全责任体系,建立风险管控和隐患治理的安全防控体系,开展消防等…

tRPC架构设计简单理解

互联网发展早期,业务场景差异大,试错迭代速度很快。这导致其后台服务使用的语言技术栈、开发框架、通信协议、服务治理系统、运维平台等或多或少存在差异。 业务发展到一定阶段后,跨业务合作越来越多,组织架构调整也愈发频繁。技…

局域网管理软件哪个好?局域网电脑管理系统实践案例

之前有一个公司案例,是这样的: 公司名称:智慧科技有限公司 背景: 智慧科技有限公司是一家拥有数百名员工的中型企业,随着业务的快速发展,公司面临着网络管理上的挑战。 员工在日常工作中需要频繁地访问…

旧版本jquery升级新版本后如何处理兼容性问题

前言 最近项目在漏洞扫描过程中发现现在的jquery版本受多个跨站点脚本漏洞影响,需要升级jquery版本。 1、首先下载高版本的jquery,我这里升级的是3.6.0 2、对应的bootstrap版本也要升级,这里升级的是3.3.7 本来以为替换完这两个文件后&#…

【SpringBoot】-- 使用minio对象存储服务实现上传图片

目录 一、安装minio 拉取镜像 启动 查看 进入登录页面 创建bucket 二、安装miniomc 三、代码 application.yml MinioUtil Controller 四、拓展 以下基于云服务和docker使用minio服务 一、安装minio Minio 是一个开源的对象存储服务器。它允许用户在私有云环境中建…

全闪存储阵列利用 U.2NVMe技术实现高性能体验

U.2 NVMe全闪存储阵列日益成为全闪存储的主流,以Infortrend普安科技最新推出GS 5000U为例。作为GS 5000U系列首发机型,GS 5024UE全面升级,搭载第五代IntelXeon处理器,支持PCIe 5.0、NVMe-OF、100GbE,带宽性能比之前的旗…

cPanel如何远程MySQL

本周有一个客户,购买Hostease的HK Basic Linux虚拟主机,询问我们的在线客服,主机是否支持远程访问MySQL及如何配置的问题。我们为用户提供教程,用户很快完成了设置。在此,我们分享这个操作教程,希望可以对您…

[2024]最新激活Navicat教程附激活码

PS:在开始前,建议先断开本地网络!!!建议先断开本地网络!!!建议先断开本地网络!!! 1 安装 1.1 点击下一步 1.2 许可证选择“我同意”&#xff0c…

Fastgpt配合chatglm+m3e或ollama+m3e搭建个人知识库

概述: 人工智能大语言模型是近年来人工智能领域的一项重要技术,它的出现标志着自然语言处理领域的重大突破。这些模型利用深度学习和大规模数据训练,能够理解和生成人类语言,为各种应用场景提供了强大的文本处理能力。AI大语言模…

redis 数据迁移到rds2214(TongRDS-2.2.1.3.Load版 by lqw)

​ 文章目录 一.备份redis文件 vi redis.conf ,看看有没有这两行设置,有的话改成跟下面的一致: appendonly yes appendfilename “appendonly.aof” 之后连接redis客户端,输入INFO persistence,如图所示即为开启成功…

云LIS系统源码,ASP.NET区域LIS系统源码,实验室信息系统

云LIS系统源码,ASP.NET区域LIS系统源码,实验室信息系统 LIS技术架构:ASP.NET CORE 3.1 MVC SQLserver Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、S…

在启动Windows安装的Nacos时报错

Please set the JAVA_HOME variable in your environm 有可能时jdk版本过低引起的,所以安装一个1.8版本以上的jdk 在安装jdk完成以后配置好环境变量,测试一下 winr打开控制台,输入: Java -version 出现如下情况说明jdk安装配置…

ELK+Filebeat日志分析系统

一、ELK基本介绍: 1.ELK 简介: ELK平台是一套完整的日志集中处理解决方案(日志系统)。 将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ELK --> ELFK --> ELFKMQ2.ELK组件介绍…

Android13 CameraServer启动流程

代码入口 frameworks/av/camera/cameraserver 里面包含了四个文件 我们先来看看Android.bp的内容 package {// See: http://go/android-license-faq// A large-scale-change added default_applicable_licenses to import// all of the license_kinds from "frameworks_a…

青少年体能素质教育平台

一、项目背景与意义 随着社会的快速发展和人们生活水平的提高,青少年体能素质教育逐渐受到社会各界的广泛关注。体能素质作为青少年全面发展的重要组成部分,对于提升他们的健康水平、增强自信心、培养团队协作精神和创新能力具有重要意义。然而&#xf…