- 博客(463)
- 收藏
- 关注
原创 【Rust】Rust中的枚举与模式匹配,原理解析与应用实战
枚举(enumerations),也被称作 enums。枚举允许你通过列举可能的值来定义一个类型。首先,我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。接下来,我们会探索一个特别有用的枚举,叫做 Option ,它代表一个值要么是某个值,要么什么都不是。然后会讲到在 match 表达式中用模式匹配,针对不同的枚举值编写相应要执行的代码。
2025-04-25 08:58:01
3072
50
原创 【Rust结构体】Rust结构体详解:从基础到高级应用
结构体(struct)是Rust中一种自定义数据类型,它允许你将多个相关的值组合在一起,形成一个有意义的组。结构体是创建更复杂数据类型的基础,也是面向对象编程中"对象"概念的基石。与元组类似,结构体的每个部分可以是不同类型。但与元组不同,结构体需要为每个部分命名,这使得数据访问更加清晰明确。
2025-04-24 07:15:00
3429
31
原创 【Rust所有权机制】Rust所有权机制详细解析与应用实战
所有权(系统)是 Rust 最独特的功能,其令 Rust 无需垃圾回收(garbage collector)即可保障内存安全。因此,理解Rust 中所有权如何工作是十分重要的。本文我们将讲到所有权以及相关功能:借用、slice 以及 Rust 如何在内存中布局数据。
2025-04-23 07:15:00
5853
56
原创 【云原生】k8s集群部署最新版ELFK日志采集平台
1. logstash通可以收集日志,也可以进行数据清洗,但是一般不用logstash来做日志收集,其依赖java环境,并且数据量过大,会占用过多资源,所以logstash一般用来进行数据清洗2. logstash清洗完的数据会交给elasticsearch进行存储3. 用户通过kibana进行可视化页面查看日志,kibana主要用途是负责数据的展示,类似于grafana。4. kibana中展示得数据是通过elasticsearch的api进行相关数据的搜索。5. filebeat是一个轻量级的日
2025-04-21 09:31:03
5746
49
原创 【ELK】最新版ELK日志搜集,过滤与展示,手把手教你搭建企业级ELK日志平台
ELFK是一套完整的日志集中处理方案。E:ElasticSearck ES 分布式索引型非关系数据库 存储logstash输出的日志 全文检索引擎,保存的格式是json格式L:logstash 基于java语言开发的,数据收集引擎。日志的收集,可以对数据进行过滤,分析,汇总,以标准格式输出K:Kiabana 是es的可视化工具。对es存储的数据进行可视化展示,分析和检索。F: FileBeat是一个轻量级日志采集器,Filebeat属于Beats家族的6个成员之一。
2025-04-17 07:15:00
7937
49
原创 【Rust开发】Rust基础语法详细解析,助力你快速通关Rust
本文将介绍 Rust 中常用的一些概念,并通过真实的程序来展示如何运用它们。你将会学到Rust的变量,数据类型,函数,注释方法,流程控制语句等很多的知识!
2025-04-10 07:15:00
14302
62
原创 【Rust开发】Rust快速入门,开发出Rust的第一个Hello World
Rust于2015年发布第一个稳定版本连续四年stackoverflow的最受欢迎的语言特点:高性能,媲美C/C++,可以做嵌入式开发没有GC,同时也不需要手工管理内存(所有权机制)没有野指针,当多个指针指向同一个对象,当通过其中一个指针见将对象删除时,剩余指向该对象的指针就成了野指针。就访问不到对象了,再访问就会报空指针错误并发安全集所有语言之大成者
2025-04-09 07:15:00
15416
55
原创 【go微服务】如何快速掌握grpc开发
在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。
2025-03-28 07:15:00
25076
63
原创 【go微服务】跨语言RPC接口工具--protobuf语法与原理解读以及应用实战
Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。Protobuf刚开源时的定位类似于XML、JSON等数据描述语言,通过附带工具生成代码并实现将结构化数据序列化的功能。
2025-03-27 07:15:00
25133
53
原创 【go微服务】Golang微服务之基--rpc的实现原理以及应用实战
微服务是通过这种架构设计方法拆分出来的一个独立的组件化小应用微服务架构定义的精髓,可以用一句话来描述,那就是 分而治之,合而用之。将复杂的系统进行拆分的方法,就是分而治之。分而治之,可以让复杂的事情变的简单,这很符合我们平时处理问题的方法。
2025-03-25 09:16:54
26633
51
原创 【Golang】go语言上下文context
在Go语言中,context包是一个非常重要的工具,用于在多个goroutine之间传递请求范围的数据、取消信号以及超时控制。context包的设计初衷是为了解决在复杂的并发环境中,如何有效地管理和控制goroutine的生命周期。通过使用context,开发者可以更好地控制goroutine的取消、超时以及传递请求范围的数据。
2025-03-24 07:15:00
26872
50
原创 【Golang】go语言操作redis数据库--go-redis
Go语言的标准库中没有直接支持Redis的包,但社区提供了多个优秀的Redis客户端库。其中最常用的是go-redis和redigo。本文将使用go-redis库进行讲解,因为它具有更现代的API设计和更好的性能。
2025-03-22 08:30:00
27157
49
原创 【Golang】Go操作数据库框架gorm
GORM是Go语言中的一个强大的ORM(对象关系映射)库,它提供了简单易用的API来操作数据库。GORM支持多种数据库,如MySQL、PostgreSQL、SQLite等。通过GORM,开发者可以使用Go语言的结构体来映射数据库表,从而简化数据库操作。
2025-03-21 07:15:00
29412
49
原创 【Prometheus】prometheus标签替换label_replace,动态修改生成标签,增强查询的灵活性和表达能力
label_replace是 PromQL 中的一个函数,用于动态修改或生成标签。它允许用户通过正则表达式从现有标签中提取信息,并将其应用于新的或现有的标签。`label_replace` 在处理复杂的标签操作时非常有用,尤其是在需要动态生成标签或对标签进行格式转换时。
2025-03-20 07:15:00
30119
42
原创 【Golang】go如何通过atomic原子操作来确保数据一致性
在多线程或并发编程中,数据一致性是一个关键问题。当多个协程(Goroutine)同时访问或修改共享数据时,可能会导致数据竞争和不一致的问题。Go语言通过`sync/atomic`包提供了一种高效且轻量级的解决方案,即原子操作。原子操作是指在执行过程中不可分割的操作,不会被其他线程或协程中断。
2025-03-19 07:15:00
31152
39
原创 【Golang】深度解析go语言单元测试与基准测试
单元测试和性能测试是成为优秀程序员的必经之路。在go语言里面,基准测试承担了性能测试的功能。单元测试和基准测试代码开发中的重要环节,良好的单元测试和基准测试,能提升开发质量,对整体开发有非常重要的重要,下面介绍单元测试和基准测试的写法。
2025-03-18 10:17:00
32153
35
原创 【Prometheus】prometheus监控pod资源,ingress,service资源以及如何通过annotations实现自动化监控
所谓Pod资源,指的是,运行在 Pod 中的 "容器" 所使用的计算资源。这些计算资源指的是 CPU、内存、网络以及磁盘 IO等相关指标。之前我们监控容器的资源时,使用的是 cAdvisor 工具来监控。不过在 Kubernetes 中,Cadvisor工具已经被内置到了 kubelet 的组件中。因此,我们可以直接监控节点的kubelet,来收集相关Pod的指标数据。
2025-03-14 14:57:53
36050
67
原创 【Prometheus】prometheus结合kube-state-metrics监控k8s的node,pod,deployment,daemonset,statefulset,cronjob等资源
集群资源状态是指, Kubernetes 集群中所有资源对象、以及这些资源对象的当前状态信息。这些资源对象,包括Pod、Deployment、DaemonSet、StatefulSet、Job、CronJob 等 。而这些资源状态,则提供了这些资源的详细信息。。。
2025-03-12 07:15:00
36596
44
原创 【Prometheus】层层解析prometheus如何监控k8s核心组件
监控 Kubernetes 集群的控制平面,首先需要知道要监控哪些组件,然后了解它们是如何提供 Metrics 指标的,最后确定这些指标的监控方法,是通过手动配置还是自动发现。关键组件包括:APIServer、ControllerManager、Scheduler、etcd、CoreDNS、kubelet、kube-proxyMetrics 指标获取:这些控制平面组件都内建 Metrics 端点。但是某些组件可能默认只在本地接口(127.0.0.1)上暴露 Metrics
2025-03-11 07:15:00
37594
47
原创 【Prometheus】k8s集群内部署的prometheus如何监控kubernetes集群
在前面的章节中,我们已经介绍了 Prometheus 的核心功能,并展示了如何使用二进制部署的Prometheus来监控 Kubernetes 的 APIServer。但在实际的生产环境中,我们通常是将 Prometheus 部署在 Kubernetes 集群内部,来监控整个集群的资源及状态。
2025-03-06 07:15:00
42021
65
原创 【Prometheus】prometheus如何监控k8s集群
Prometheus可以直接通过 Kubernetes 的 API 来自动发现和监控集群中的关键资源。包括节点(Nodes)、服务(Services)、端点(Endpoints)、Pods 和 Ingress。每一种资源都会被Prometheus当作一个监控的目标,并时刻监视着它们的变化。而每种资源类型都对应有一个专门的服务发现组件,在Prometheus 中被称为“role”。
2025-03-03 09:12:01
44786
60
原创 【Prometheus】prometheus服务发现与relabel原理解析与应用实战
relabel它可以在抓取目标实例数据之前,可以对目标实例的标签进行“灵活的改写”。借助Relabel,用户就可以自行定义复杂的“标签选择逻辑”,从而精准的控制哪些实例应当被监控,哪些实例应当被排除。例如,我们可以设置规则,仅抓取带有env=prod标签的目标实例数据,而那些不含此标签的实例则忽略掉 。
2025-02-28 07:15:00
46460
58
原创 【Grafana】Prometheus指标可视化Grafana,手把手教你如何自定义图形
面板(Panel) 是 Grafana 中最基本的可视化单元,每一种类型的面板都提供了相应的查询编辑器(Query Editor),让用户可以从不同的数据源(如Prometheus)中查询出相应的监控数据,并且以可视化的方式展现,所以要在Grafana 上创建可视化的图表,面板是我们所需要掌握的;我们在grafana中,可以自己新建面板,也可以导入面板
2025-02-27 07:15:00
47315
45
原创 【Prometheus】prometheus服务发现的各种方式详细解析与应用实战
prometheus服务发现有很多种方式,最常用的有:1.静态服务配置。2.基于文件的服务发现。3.基于注册中心consul的服务发现。4.基于公有云API的发现机制。5.基于kubernetes的发现机制。
2025-02-26 08:45:04
48347
38
原创 【Alertmanager】Alertmanager告警路由,告警静默,告警抑制,高可用的实现
所谓的告警路由,就是将不同的告警消息转发给不同的接收人,以便故障能快速的被处理和解决。Alertmanager 的告警路由配置,使用的是树状结构来定义,以确保每条告警消息都能够按照定义好的路径进行处理。当一条告警消息进来后,会先进入根路由,然后逐级的去匹配每个子路由的规则,然后将消息通过媒介发送给对应的接收人。
2025-02-25 08:42:02
48960
38
原创 【Alertmanager】alertmanager告警多种通知方式--企业微信告警、钉钉告警、电话和短信告警
本章讲述alertmanager如何实现企业微信告警,钉钉告警,电话短信告警通知,每一步都清晰明了。非常适用于企业生产环境告警通知的实施。
2025-02-21 07:15:00
52716
62
原创 【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面
Alertmanager 是 Prometheus 生态中的一个组件,专门用于处理 Prometheus 发送的告警。由于Prometheus本身无法实现告警,因此需要借助AlertManager来实现告警的推送。Prometheus Server 会对已经设定好的“告警规则”进行定期评估,当检测到问题时,会生成相应的告警通知并发送给 AlertManager。
2025-02-20 07:15:00
53532
40
原创 【Prometheus】prometheus结合pushgateway实现脚本运行状态监控
Pushgateway 是 Prometheus 生态中一个重要工具,使用它的原因主要是:● Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙原因,导致 Prometheus 无法直接拉取各个 target 数据。● 在监控业务数据的时候,需要将不同数据汇总, 由 Prometheus 统一收集。● 当exporter不能满足需要时,也可以通过自定义(python、shell、java)监控我们想要的数据。
2025-02-18 08:41:10
55968
44
原创 【Prometheus】prometheus结合domain_exporter实现域名监控
domain_exporter 主要用来监控网站域名的过期时间。这对于企业和个人都是比较重要的,因为域名过期可能会导致网站无法访问,进而影响业务的正常运行。因此监控“域名的过期时间”就显得比较重要了。
2025-02-17 09:36:36
56409
34
原创 【Golang】Go语言命令行参数解析神器--flag的详细用法与应用实战
flag包是Go语言标准库中的一个包,用于解析命令行参数。它支持多种类型的命令行参数,包括布尔值、整数、浮点数、字符串等。`flag`包还支持自定义参数类型,并且可以自动生成帮助信息。
2025-02-14 14:24:09
59606
26
原创 【Prometheus】prometheus黑盒监控blackbox全面解析与应用实战
Blackbox_exporter 是一个专门用于黑盒监控的工具,它支持多种网络协议对目标对象进行检测,比如 HTTP、HTTPS、TCP、DNS 和 ICMP。这意味着我们可以用它来监控网站响应状态和响应时间、以及通过端口来判断服务是否正常运行。此外用户还可以通过设置不同的检查模块来定制 blackbox_exporter,以便它能够适应不同的检测需求。
2025-02-14 08:53:32
60099
39
原创 【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知
Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。
2025-02-13 09:25:58
60633
47
原创 【Prometheus】如何通过prometheus监控redis实时运行状态,并实现告警通知
在现代微服务架构中,Redis被广泛应用于缓存、消息队列及其他场景。为了确保Redis集群的高可用性和性能,我们需要实时监控其状态与指标。本文将全面讲解如何通过prometheus监控redis运行的各项指标,让数据实时可知。
2025-02-12 08:46:56
61519
41
原创 【Prometheus】MySQL主从搭建,以及如何通过prometheus监控MySQL运行状态
要使用Prometheus 监控 MySQL,则需要 MySQL 服务器上部署对应的mysqld_exporter。如果需要监控多个MySQL实例,则需要在每个MySQL实例上都部署一个mysqld_exporter,因为每个 mysqld_exporter 只能连接并抓取一个MySQL 的指标数据。
2025-02-11 07:15:00
63073
49
原创 【Prometheus】如何通过prometheus监控springboot程序运行状态,并实时告警通知
jmx_exporter 主要用于从 Java 应用程序中提取 JMX 指标,通常包括 JVM级别的信息,如内存使用情况、线程状态、垃圾回收次数等。对于传统的SpringBoot应用,由于它默认没有内置 Prometheus 监控的指标,因此使用 jmx_exporter来抓取基础的JVM相关指标。
2025-02-08 07:15:00
65737
56
原创 【Prometheus】如何通过prometheus监控Tomcat运行状态
Tomcat本身无法对外提供Prometheus所兼容的Metrics,因此需要借助第三方exporter来提供:tomcat-exporter
2025-02-07 09:03:48
65690
37
原创 【Prometheus】如何通过golang生成prometheus格式数据
要在Golang中生成Prometheus数据,你可以使用Prometheus的官方客户端库 `prometheus/client_golang`。这个库允许你定义和暴露自定义的指标,并通过HTTP端点将这些指标暴露给Prometheus服务器。
2025-02-06 08:55:37
66961
46
原创 【Prometheus】RabbitMQ安装部署,如何通过prometheus监控RabbitMQ
RabbitMQ是一个开源的消息代理和队列服务器,它使用Erlang语言编写并运行在多种操作系统上,如Linux、Windows等。RabbitMQ可以接收、存储和转发消息(也称为“事件”)到连接的客户端。它适用于多种场景,包括异步通信、流量削峰、应用解耦等。本文详述RabbitMQ的安装部署和通过prometheus监控RabbitMQ的方法
2025-01-24 09:02:42
73102
63
原创 【Prometheus】Prometheus如何监控Haproxy
从 HAProxy 2.0 版本开始,HAProxy 内置了对 Prometheus 的支持。这意味着 HAProxy 能够直接提供兼容Prometheus的指标格式,无需依赖任何额外的 exporter 。(安装Haproxy、然后修改stats,配置对外输出metrics接口)
2025-01-23 10:56:02
72224
46
原创 【Prometheus】PromQL进阶用法
在监控CPU、内存、磁盘和⽹络等系统资源时,使⽤USE的⽅法论是最为合适的,它要求我们针对每个资源(也就是CPU、内存 、⽹络等)分别检查三个关键方面:使用率、饱和度和错误。使用率:表示资源在占作时占用的平均时间,例如,CPU在过去的60秒内有30秒被用来执行指令,那么我们可以说这个CPU的使用率是50%。饱和度:指明资源已经到达或接近其处理能力极限的程度,表明无法再处理更多的工作量。这通常通过队列长度等指标来衡量。错误:记录了资源在运行过程中发生的错误事件的次数。网络监控用的比较多
2025-01-21 17:22:21
73656
49
天气检测程序,暴露端口,给prometheus提供数据
2024-09-06
linux用户管理命令大全
2024-08-15
非常详细的git使用功能教程
2024-08-14
linux中安装python3教程
2024-01-30
基于Python编写的类ATM机系统,功能比较全面,适合编程思维训练
2024-01-30
基于Python编写的FTP文件传输程序,包含客户端和服务端,可以跨平台文件传输
2024-01-30
selenium规避检测,绕过检测
2023-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人