当前位置: 首页 > 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"…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

DBLP数据库是什么?

DBLP&#xff08;Digital Bibliography & Library Project&#xff09;Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高&#xff0c;数据库文献更新速度很快&#xff0c;很好地反映了国际计算机科学学术研…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

Linux基础开发工具——vim工具

文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...