当前位置: 首页 > news >正文

案例分享 | 金融微服务场景下如何提升运维可观测性

​云原生环境下金融业务的微服务化改造以及分布式架构的部署,使得业务与开发部门的关联更为紧密,传统运维监控已满足不了业务运营需求,亟需建设具备可观测性的运维体系。所以这次我们以某金融客户的实践案例为例,跟大家说一说在金融微服务场景下应如何提升运维可观测性,从而助力业务转型。

一、行业痛点

​随着金融行业数字化转型战略实践工作的深化推进,数字化业务快速发展,日志类型和日志量急速增加,但各类日志数据(软硬件)分散且繁杂,缺乏统一的全生命周期管理和海量日志的监控分析处理能力,给业务监控告警、日志搜索分析、审计溯源造成了一定制约。

其次,在云原生环境中,随着微服务化进程加快,很多业务系统微服务化后带来了复杂的运维排障屏障。总体难点表现如下:

1.生产环境业务级异常感知滞后

这导致了故障影响范围往往被放大,且降低了服务品质。其次生产故障定位处理,缺少快速有效的辅助工具,也影响了业务连续性。

2.增加问题排查难度

各系统日志数据分散存储,日志路径、格式、打印规范等各有差异,增加问题排查难度技术迭代演进(微服务化、容器化等),传统运维方式支撑不足。

3.国家相关法规要求

国家网络安全法要求及行业监管机构要求对日志进行统一的采集、存储、分析、可视化等,配合审计需实现异常行为快速提取与回溯。

二、建设目标

​以云原生可观测性建设为主目标,拉通各类基础监控、数据采集、日志等分析工具的数据孤岛,以云原生领域中对业务场景的需求为驱动,通过技术手段实现业务运营全过程的透明化,提升业务连续性保障,提升服务开发上线效率,提高IT服务质量等,在运维能力提升的同时,亦提升用户体验。

三、解决方案

​本方案主要通过协助金融客户完善管理规范制度、建设统一日志平台、整合观测数据三个关键步骤助力可观测性提升。主要从以下几个方面入手解决

1.完善管理制度规范

技术平台为管理服务,要做好技术平台,就需要首先梳理、完善管理规范制度,我司与行方客户一起,对现有的客户规范、业内规范进行调研、条目梳理并进行日志管理规范的总结及能力应用规划。

如对业务日志的规范化进行了4层的丰富度说明,并根据不同的级别梳理了不同的规范度、可以实现的不同效果、达到的不同能力级别,通过规范的梳理,可以更好的评估客户现有不同业务系统及其日志的规范化程度,并根据客户数字化推进的阶段,反推不同业务系统的下一步管理要求。

2.建设统一日志平台

对数字化转型的提升,管理制度的规范化是道,具体实现,还需要有术的支持,我们这里的术就是基于擎创的日志管理平台作为基础底座,通过整合监控及调用链数据,以可观测性提升为核心的统一日志平台。

平台架构主要分4层:最底层为数据源层及接入层。日志数据、监控数据、调用链数据都归为数据源,对不同的数据源,通过不同的采集技术进行纳管,如agnet,syslog、API等。

在数据处理层,采用数据中台进行数据缓冲、计算、存储,把原始的最基础的数据通过规范化、清洗、聚合计算、数据关联等方式实现从数据到业务运行状态观测的转变。

在应用层,通过前端进行交互界面给运维使用方以直观、高效的操作体验,在后端及中间件层,对运行状态观测数据进行缓冲高效查询及部分业务逻辑处理。

3.整合观测数据

​数据源的丰富度及质量直接决定了可观测性的挖掘深度,在现有的环境中,我们接入了操作系统、数据库、中间件、硬件设备、容器及应用这些类型的日志及监控数据,在链路层,通过skywalking接入了多套业务系统的链路数据,同时在日志中,根据客户规范,增加的对应的TID标示,用于日志及链路数据的深度结合。

四、解决方案亮点

1.实现业务日志统一查询

能够全局性覆盖主要业务系统,实现日志的统一快速高效的查询,并通过部分日志的合并、解析、分析,实现日志的更高效利用。在这个基础上实现更多贴合实际生产环境的功能开发,如二次查询、全链路排障、数据湖冷备数据查询、上下文行数自动滚动、日志内xmljson段格式化、用户使用统计分析等功能。

2.关注业务系统运行状态及告警

从日志角度,对业务系统进行统计分析,得到业务系统的整体概览状态,方便快速了解系统运行状态。

3.实现业务日志全链路串联

根据现有的系统环境及业务场景,打通统一日志系统与Skywalking的数据,通过中间层处理,用TID在日志及Skywalking做上下文关联,通过全局流水号(SEQ_NO)、业务流水号或任意内容搜索,得到业务系统详细日志及链路信息,实现了排障一体化解决。同时,可以直观方便的了解业务系统中业务拓扑及单笔交易的链路拓扑,为排障提供了非常方便的工具,丰富了排障场景,且易于使用。

4.整合监控内容

运维场景中除了查询日志及trace信息,经常还需要核对到监控平台查看监控数据,通过整合监控数据,减少运维场景下的不同平台跳转,提升运维效率。

5.数据湖冷备数据查询

对接原有数据湖,实现数据的双写,一份用于日常查询排障使用,到存储容量限制后,定期滚动删除;一份存储于数据湖内,长期保存,用于审计场景下使用。

同时,实现冷备数据的在线查询,以及更高的压缩率及接近热数据查询的查询速度。

云原生时代下,金融业务发展迅速,数字化转型的脚步日益加快。

该案例主要解决的是企业在进行云端微服务化改造时,面临传统监控无法高度细化分析与关联数据等问题。我们从日志维度出发,建设可观测运维体系的方法并有效落地,从而提升金融企业用户数据处理和分析能力的精细程度,辅助用户挖掘数据深层价值,全面提升业务运营的连续性与稳定性。


擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司致力于协助企业客户提升对运维数据的洞见能力,优化运维效率,充分体现科技运维对业务运营的影响力。

行业龙头客户的共同选择

更多运维思路与案例持续更新中,敬请期待

随手点关注,更新不迷路~

相关文章:

案例分享 | 金融微服务场景下如何提升运维可观测性

​云原生环境下金融业务的微服务化改造以及分布式架构的部署,使得业务与开发部门的关联更为紧密,传统运维监控已满足不了业务运营需求,亟需建设具备可观测性的运维体系。所以这次我们以某金融客户的实践案例为例,跟大家说一说在金…...

CentOS8提高篇3:Centos8安装播放器(mplayer vlc)

1. 准备工作(需要配置epel, rpmfusion源); 配置epel源 下载epel dnf install epel-release 配置rpmfusion源 下载rpmforge dnf install rpmfusion-free-release-8.noarch.rpm 2. 安装mplayer和vlc 直接dnf安装 # dnf install mplayer # dnf install v…...

MySQL-存储过程

什么是存储过程我们前面所学习的MySQL语句都是针对一个表或几个表的单条 SQL 语句,但是在数据库的实际操作中,并非所有操作都那么简单,经常会有一个完整的操作需要多条SQL语句处理多个表才能完成。例如,为了确认学生能否毕业&…...

经典七大比较排序算法 · 下 + 附计数和基数排序

经典七大比较排序算法 下 附计数和基数排序1 插入排序1.1 算法思想1.2 代码实现1.3 插入排序特性2 希尔排序2.1 算法思想2.2 代码实现2.3 希尔排序特性3 七大比较排序特性总结4 计数排序4.1 算法思想4.2 代码实现4.3 计数排序特性5 基数排序5.1 算法思想5.2 代码实现1 插入排…...

HTTPS协议,看这篇就够了

不安全的HTTP 近些年来,越来越多的网站使用 HTTPS 协议进行数据传输,原因在于 HTTPS 相较于 HTTP 能够提供更加安全的服务。 很多浏览器对于使用 HTTP 协议的网站会加上『警告』的标志表示数据传输不安全,而对于使用 HTTPS 协议的网站会加上…...

C语言学习之路--结构体篇

目录一、前言二、结构体的声明1、结构的基础知识2、结构的声明3、结构体成员的类型4、结构体变量的定义和初始化三、结构体成员的访问四、结构体传参一、前言 本人是一名小白,这一篇是记录我C语言学习中的结构体的所学所得,仅为简单的认识下C语言中的各…...

【LINUX】初识文件系统

文章目录一、前言二、回顾C语言文件操作三、初识系统调用openreadwriteclose四、文件系统初识五、结语一、前言 二、回顾C语言文件操作 int main() {FILE* fp fopen("log.txt", "w");if (fp NULL){perror("fopen");}int cnt 0;fputs("…...

金三银四Java面试题及答案整理(2023最新版) 持续更新

作为一名优秀的程序员,技术面试是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。 如果你参加过一些大厂面试,肯定会遇到一些这样的问题: 1、看你项目都用的框架,熟悉 …...

7个角度,用 ChatGPT 玩转机器学习

大家好,我是机器学习科普创作者章北海mlpy,探索更高效的学习方法是我一直等追求。现在的初学者太幸福了,可以利用ChatGPT来帮助你学习机器学习的各个方面。 比如【个人首测】百度文心一言 VS GPT-4这篇文章中,我就用文心一言、GP…...

关于多层板,你了解多少?

01 前言 大家好,我是张巧龙。好久没写原创了,记得之前刚接触PCB时,还在用腐蚀单层板,类似这种。 慢慢随着电子产品功能越来越多,产品越来越薄,对PCB设计要求越来越高了,复杂程度也随之增加。因此…...

使用sqlalchemy-gbasedbt连接GBase 8s数据库

测试环境: 操作系统:CentOS 7.9 64-bit数据库版本:GBase8sV8.8_AEE_3.0.0_1,对应的CSDK版本为3.0.0_1 1,确认安装python3 确认已经安装python3和python3-devel [rootlocalhost test]# python3 -V Python 3.6.8如果…...

前端如何丢掉你的饭碗?

对于后端而言,我们常有“删库跑路”的说法,这说明后端的操作对于信息系统而言通常影响很大,可以轻易使信息系统宕机、崩溃,直接导致项目失败。所以,不要去逼后端程序员! 作为前端程序员,我们似…...

栈、队列、优先级队列的模拟实现

优先级队列的模拟实现栈stack的模拟实现push()pop()top()size()empty()swap()stack总代码队列queue的模拟实现push()pop()front()back()empty()size()swap()queue总代码优先级队列(堆)push()pop()top()empty()size()swap()priority_queue总代码deque的了解栈 在CSTL中栈并不属…...

JMM内存模型

JMM内存模型JMM内存模型定义三大特性原子性可见性有序性volatile语义JMM规则操作系统实现术语缓存一致性要求缓存一致性机制写传播事务串行化重排序as-if-serial 语义(像是有序的)happens-before 原则happens-before 原则的八大子原则内存屏障总结finalf…...

Linux- 系统随你玩之--玩出花活的命令浏览器-双生姐妹花

文章目录1、背景2、命令浏览器-双生姐妹花2.1、姐妹花简介2.2 、验名正身2.3、常用功能选项3、常用实操3.1、发送请求获取文件3.1.1、抓取页面内容到一个文件中3.1.2、多个文件下载3.1.3、下载ftp文件3.1.4、断点续传3.1.5、上传文件3.1.6、内容输出3.2 、利用curl测试接口3.3 …...

【深度学习】基于Hough变化的答题卡识别(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳座右铭&#…...

Linux - 进程控制(创建和终止)

1.进程创建fork函数初识 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。返回值:子进程返回0,父进程返回子进程id,出错返回-1getpid()获取子进程id&#xff0c…...

依赖注入~

依赖注入之setter注入: 依赖注入是IOC具体的一种实现方式, 这是针对资源获取的方式角度来说的,之前我们是被动接受,现在IOC具体的实现叫做依赖注入,从代码的角度来说,原来创建对象的时候需要new&#xff0…...

【嵌入式硬件芯片开发笔记】HART协议调制解调芯片AD5700配置流程

【嵌入式硬件芯片开发笔记】HART协议调制解调芯片AD5700配置流程 XTAL_EN接地,CLK_CFG的两个引脚由同一个GPIO控制 初始时HART_CLK_CFG输出低电平 由RTS引脚控制调制/解调。当RTS处于高电平时,为解调(输入);否则为调…...

Go语言异步下载视频

异步下载mp4视频列表 下面是一个简单的Go语言示例,用于异步下载视频。我们将使用goroutines来实现异步下载,并使用sync.WaitGroup来等待所有下载任务完成。此示例依赖于net/http包来执行HTTP请求。 package mainimport ("fmt""io"…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

Python网页自动化Selenium中文文档

1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API&#xff0c;让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API&#xff0c;你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...