全方位监控基础设施,坚实守护您的业务稳定!

前言

基础设施服务是产业数字化转型建设的重要组成部分之一。当我们反复讨论如何实现高效、精确的全局监控,也许能从观测云借助一套方案来探索、检查和监控分布式基础架构中的每个关键部分这一操作中习得一些灵感。

在针对企业的平台中内嵌实时的基础设施监控工具是云原生时代最基本性的做法。但当业务系统庞大,基础架构包含数百或数千个主机时,通过简单登录到服务器来运行命令行诊断问题不再能满足监测需求。今天的观测云面向主机、云环境、容器、进程及网络,支持通过快速部署,轻松观测全部基础设施,并覆盖物联网、多云环境、虚拟化、微服务等各类 IT 设施。甚至您可以自定义基础设施对象,方便您观测任意一个基础设施。

那么,在具备了实现全面监测基础设施的能力之后,对于观测云来说,我们如何基于收集的数据来进行基础设施健康状态的统一管理呢?

整体观测各类对象状态分布

当观测云完成主机、容器、进程、网络和其他自定义对象的数据采集并上报到工作空间,我们可以前往基础设施 > 各类 tab 页查看所有对象的数据。

数据采集前提:安装 DataKit。

列表

以主机为例。当我们进入基础设施 > 主机,可以查看最近 24 小时内每个主机的数据信息,CPU 使用率、内存使用率和 CPU 负载等指标为我们直接了当地呈现当前工作空间已采集到的主机运行情况。此时,我们可以借由数据占比从整体观测基础设施状态,实时定位异常。

当然,如果您想查看主机的其他指标信息,可直接在显示列进行添加编辑。

蜂窝图

除了列表模式,我们还可以查看各主机或容器的蜂窝分布情况。借助蜂窝图,可以看到不同维度的对象性能状态。基于不同的填充指标,会按照最大和最小值等分为 5 个区间,每个区间将自动对应五个不同的颜色,从而区分异常情况,由此主机或容器的异常或故障状态一目了然。

以容器 > Containers 为例,我们在下图的 205 个容器中,选择 CPU 使用率这一填充指标,可以看到十个左右的容器的 CPU 使用率超过 100%,存在内存使用率超标的问题。

详情页

在列表或蜂窝图模式下,虽然我们能直白地获取到对象数据信息。但结合列表详情页,我们能获得某条数据下的基本信息、扩展属性以及该对象数据一站式关联的日志、进程、时间、进程、网络等信息,从而更快更全面的监测对象运行情况。

比如在下图主机列表,我们点击名为 192.16**** 的这条主机数据,在其侧滑详情页中,即可查看与该主机相关的最近 1 小时的日志以及该主机各相关指标的实时性能状态:

除了系统已预设的诸如以上关联对象,根据我们前面曾探讨过的内置视图的妙用(参见《内置视图联动查看器,实现数据关联分析》),我们还可以绑定内置视图,实现联动查询分析。

还是以该主机详情页为例,我们的目标是实现在该条数据下直接查看 Linux 监控指标情况。点击右侧添加符号,选择主机概览_Linux 监控视图,点击确定即可。

绑定成功后,我们就可以在当前页面查看该主机相关的多项性能指标。结合各类图表,可以帮助我们全方位观测主机、容器、进程、网络性能,深入了解服务器工作负载和容量需求,从而及时作出反应。

网络

在观测云的基础设施,【网络】这一模块支持查看主机、Pod、Deployment 和 Service 之间的网络流量,分析服务端、客户端之间的网络流量和数据连接情况。借助这种可视化的方式实时展示,我们可以实时了解业务系统的网络运行状态,快速分析、追踪和定位问题故障,预防或避免因网络性能下降或中断而导致的业务问题。

总览

在总览页面,我们可以切换主机、Pod、Deployment、Service 组件来查看具体的网络情况,包括其客户端、服务端、TCP 重传次数、TCP 连接数、TCP 关闭次数、TCP 延时、发送字节数、接收字节数等。还可以查看不同参数在不同时间段内的趋势变化表。

这些指标基本可以覆盖我们全方位的网络数据分析,不放过任何一个风险问题。

拓扑

观测云在网络还设置了拓扑图。这种发散式排列分布的图形组合自动映射服务器、网络、计算资源、存储系统之间的依赖关系,可视化显示不同项目、服务、主机、镜像下的各对象性能状态及目标到目标之间的网络流量和数据连接情况,帮助我们找出多域问题的根本原因。

以网络为例,我们可以在拓扑下查看主机、Pod、Deployment 和 Service 之间的网络上下游分布情况。基于 TCP 延迟、TCP 波动、TCP 重传次数、TCP 建连次数以及 TCP 关闭次数这五类不同的填充,根据不同的颜色显示区分异常情况。

网络流

除了借助总览和拓扑,我们还可以查看时间线上的 L4(netflow)、L7(httpflow) 网络流数据。所有网络流数据每 30s 自动刷新一次,默认展示最近 15 分钟的数据。

自定义

除了上文我们所提到的主机、容器、进程、网络以外,观测云支持自定义新的对象分类并上报相关对象数据到控制台。这种自定义类型通过 DataKit API,满足采集阿里云、腾讯云、华为云、AWS 等多种云资产的业务需求,并进行统一管理,实现数据关联查询和分析,保障业务系统的稳定性。

当能够满足全面、丰富的云资产监测,进一步保障这类自定义对象的健康状态也就成为了可能。

关于本部分详细信息,您可前往 自定义 - 观测云文档 进行查看。

结论

观测云在基础设施这一功能模块下,不仅仅停留在应用层面,还深入到每一层的基础架构中,远超简单的主机监控。其提供了完整可观测性:除了针对容器技术、进程检测和资源利用率、网络使用和性能、日志监控,还将第三方数据和事件纳入全栈视图,为您打造了一个闭环的基础设施监测生态,自动探索和监控完整堆栈的每个组件,满足企业从应用程序、基础架构到用户体验等多方面需求。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

An error occurred while filtering resources

Description Path Resource Location Type An error occurred while filtering resources PMS line 1 Maven Java EE Configuration Problem不知道怎么跑出来了,update project 还是不行

MS35229电机驱动器可兼容DRV8833

MS35229N/MS35229TE 是一款 12V 静音步进电机驱动芯片,工作电压最大可以工作到 15V,输出 RMS 电流1A。芯片内置 256 细分的微步进驱动技术,静音与低振动特性适合于各种精微控制系统。 芯片集成通用的 IC 接口以及内部指令缓存器,使…

linux之进程控制

进程创建&fork函数 fork函数之前就已经提到,它从已存在进程中创建一个新进程,新进程为子进程,而原进程为父进程。 调用接口:fork() 头文件:unistd.h 功能:创建一个子进程,给子进程返回0,父进程返回子进程pid …

C语言 指针进阶

目录 数组指针 指针数组访问数组元素 再次讨论数组名 数组指针访问一维数组(但是这样会很别扭) 访问二维数组元素 非数组指针访问 数组指针访问 数组传参Demo 一维数组传参 二维数组传参 指针数组指针 字符指针 函数指针 函数指针调用时可以…

秒懂!用这10款思维导图软件,让头脑风暴如虎添翼!

世界上最糟糕的感觉之一就是忘记了一个伟大的点子。原本你只需把它记下来,但你当时确信自己绝不会忘记如此引人入胜的事物。然而,当这个想法从你的脑海彻底消失时,分分钟会让人崩溃。 如果你的想法有很多组成部分,比如一个大项目…

ARMday02(汇编语法、汇编指令)

汇编语法 汇编文件中的内容 1.伪操作:在汇编程序中不占用存储空间,但是可以在程序编译时起到引导和标识作用 .text .global .glbal .if .else .endif .data .word.... 2.汇编指令:每一条汇编指令都用来标识一个机器码,让计算机做…

深度学习之基于YoloV5的火灾检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 火灾检测系统基于YoloV5的介绍 火灾检测是一项重要的安全任务,它旨在及时发现和报警火灾风险。基于深度…

MyBatis-plus超神用法--一文带你玩转MP

前言 MyBatis-Plus是一个基于MyBatis的增强工具,提供了很多便捷的功能和增强的功能,以下是一些MyBatis-Plus的超神用法: 通用Mapper:MyBatis-Plus提供了通用Mapper的功能,可以通过继承BaseMapper接口,实现…

Gradle笔记 四 Gradle的核心 TASK

文章目录 Task任务入门任务的行为任务的依赖方式任务执行常见的任务(*)项目报告相关任务调试相关选项性能选项守护进程选项日志选项其它(*) 任务定义方式任务类型任务的执行顺序动态分配任务任务的关闭与开启任务的超时任务的查找任务的规则任务的 onlyI…

【RabbitMQ】常用消息模型详解

文章目录 AMQP协议的回顾RabbitMQ支持的消息模型第一种模型(直连)开发生产者开发消费者生产者、消费者开发优化API参数细节 第二种模型(work quene)开发生产者开发消费者消息自动确认机制 第三种模型(fanout)开发生产者开发消费者 第四种模型(Routing)开发生产者开发消费者 第五…

3.2-Docker Image概述

常用docker命令: 查看docker image有哪些 docker image ls Image的获取方式

docker 安装 minio (单体架构)

文字归档:https://www.yuque.com/u27599042/coding_star/qcsmgom7basm6y64 查询 minio 镜像 docker search minio拉取镜像 docker pull minio/minio创建启动 minio 容器 用户名长度至少为 3,密码长度至少为 8 docker run \ -p 9000:9000 \ -p 9090:909…

51单片机-中断

文章目录 前言 前言 #include <reg52.h> #include <intrins.h>sbit key_s2P3^0; sbit flagP3^7;void delay(unsigned int z){unsigned int x,y;for(xz;x>0;x--)for(y114;y>0;y--); }void int_init(){EA1;EX11;IT11;}void main(){int_init();while(1){if (key…

zabbix监控安装-linux

zabbix6.4中文文档1. 简介 (zabbix.com) Zabbix 是一个企业级的开源分布式监控解决方案。 1.zabbix结构体系 Server&#xff1a; server 是存储所有配置、统计和操作数据的中央存储库。 Proxy&#xff1a; zabbix proxy可以代替 Zabbix server 收集性能和可用性数据。p…

引用类型;强引用;软引用;弱引用和虚引用

概述 平时在编写代码的时候内存都是由jvm管理&#xff0c;对象的回收也是jvm在管理&#xff1b; 但是有些时候jvm无法回收对象&#xff0c;最后就会抛出oom异常. 那么那些回收不了的对象肯定有区别于能回收的对象&#xff1b; 先上一波引用类型介绍 强引用 比如平常我们直…

【pyspider】爬取ajax请求数据(post),如何处理python2字典的unicode编码字段?

情景&#xff1a;传统的爬虫只需要设置fetch_typejs即可&#xff0c;因为可以获取到整个页面。但是现在ajax应用越来越广泛&#xff0c;所以有的网页不能用此种爬虫类型来获取页面的数据&#xff0c;只能用slef.crawl()来发起http请求来抓取数据。 直接上例子&#xff1a; 可以…

大数据学习之Spark性能优化

文章目录 Spark三种任务提交模式宽依赖和窄依赖StageSpark Job的三种提交模式 Shuffle机制分析未优化的Hash Based Shuffle优化后的Hash Based ShuffleSort-Based Shuffle Spark之checkpointcheckpoint概述checkpoint与持久化的区别checkPoint的使用checkpoint源码分析 Spark程…

SSM之spring注解式缓存redis

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这…

【Sql】sql server数据库提示:执行Transact-SQL语句或批处理时发生了异常。 无法打开数据库msdb,错误:926。

【问题描述】 打开sql server2008r2数据库的时候&#xff0c; 系统提示执行Transact-SQL语句或批处理时发生了异常。 无法打开数据库msdb&#xff0c;错误&#xff1a;926。 【概念理解】 首先MSDB数据库是的作用&#xff1a; 用于给SQL Server代理提供必要的信息来运行调度警…

项目实战:组件扫描(4)-筛选带有RequestMapping注解的bean实例

1、ControllerDefinition package com.csdn.mymvc.core; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; //假设有一个uri是&#xff1a;/fruit…