自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

景天科技苑

欢迎来到景天科技苑,博主多年深耕golang,python,人工智能,爬虫,逆向,linux,shell,K8S集群等领域,与大家一起修炼内功,站在风口,乘风破浪,达到理想彼岸!!!

  • 博客(456)
  • 收藏
  • 关注

原创 【go微服务】如何快速掌握grpc开发

在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。

2025-03-28 07:15:00 5804 45

原创 【go微服务】跨语言RPC接口工具--protobuf语法与原理解读以及应用实战

Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。Protobuf刚开源时的定位类似于XML、JSON等数据描述语言,通过附带工具生成代码并实现将结构化数据序列化的功能。

2025-03-27 07:15:00 5765 49

原创 【go微服务】Golang微服务之基--rpc的实现原理以及应用实战

微服务是通过这种架构设计方法拆分出来的一个独立的组件化小应用微服务架构定义的精髓,可以用一句话来描述,那就是 分而治之,合而用之。将复杂的系统进行拆分的方法,就是分而治之。分而治之,可以让复杂的事情变的简单,这很符合我们平时处理问题的方法。

2025-03-25 09:16:54 7280 51

原创 【Golang】go语言上下文context

在Go语言中,context包是一个非常重要的工具,用于在多个goroutine之间传递请求范围的数据、取消信号以及超时控制。context包的设计初衷是为了解决在复杂的并发环境中,如何有效地管理和控制goroutine的生命周期。通过使用context,开发者可以更好地控制goroutine的取消、超时以及传递请求范围的数据。

2025-03-24 07:15:00 7336 48

原创 【Golang】go语言操作redis数据库--go-redis

Go语言的标准库中没有直接支持Redis的包,但社区提供了多个优秀的Redis客户端库。其中最常用的是go-redis和redigo。本文将使用go-redis库进行讲解,因为它具有更现代的API设计和更好的性能。

2025-03-22 08:30:00 7558 41

原创 【Golang】Go操作数据库框架gorm

GORM是Go语言中的一个强大的ORM(对象关系映射)库,它提供了简单易用的API来操作数据库。GORM支持多种数据库,如MySQL、PostgreSQL、SQLite等。通过GORM,开发者可以使用Go语言的结构体来映射数据库表,从而简化数据库操作。

2025-03-21 07:15:00 9960 45

原创 【Prometheus】prometheus标签替换label_replace,动态修改生成标签,增强查询的灵活性和表达能力

label_replace是 PromQL 中的一个函数,用于动态修改或生成标签。它允许用户通过正则表达式从现有标签中提取信息,并将其应用于新的或现有的标签。`label_replace` 在处理复杂的标签操作时非常有用,尤其是在需要动态生成标签或对标签进行格式转换时。

2025-03-20 07:15:00 10736 42

原创 【Golang】go如何通过atomic原子操作来确保数据一致性

在多线程或并发编程中,数据一致性是一个关键问题。当多个协程(Goroutine)同时访问或修改共享数据时,可能会导致数据竞争和不一致的问题。Go语言通过`sync/atomic`包提供了一种高效且轻量级的解决方案,即原子操作。原子操作是指在执行过程中不可分割的操作,不会被其他线程或协程中断。

2025-03-19 07:15:00 11742 39

原创 【Golang】深度解析go语言单元测试与基准测试

单元测试和性能测试是成为优秀程序员的必经之路。在go语言里面,基准测试承担了性能测试的功能。单元测试和基准测试代码开发中的重要环节,良好的单元测试和基准测试,能提升开发质量,对整体开发有非常重要的重要,下面介绍单元测试和基准测试的写法。

2025-03-18 10:17:00 12652 35

原创 【Prometheus】prometheus监控pod资源,ingress,service资源以及如何通过annotations实现自动化监控

所谓Pod资源,指的是,运行在 Pod 中的 "容器" 所使用的计算资源。这些计算资源指的是 CPU、内存、网络以及磁盘 IO等相关指标。之前我们监控容器的资源时,使用的是 cAdvisor 工具来监控。不过在 Kubernetes 中,Cadvisor工具已经被内置到了 kubelet 的组件中。因此,我们可以直接监控节点的kubelet,来收集相关Pod的指标数据。

2025-03-14 14:57:53 16459 65

原创 【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 17311 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 18146 47

原创 【Prometheus】k8s集群内部署的prometheus如何监控kubernetes集群

在前面的章节中,我们已经介绍了 Prometheus 的核心功能,并展示了如何使用二进制部署的Prometheus来监控 Kubernetes 的 APIServer。但在实际的生产环境中,我们通常是将 Prometheus 部署在 Kubernetes 集群内部,来监控整个集群的资源及状态。

2025-03-06 07:15:00 22630 65

原创 【Prometheus】prometheus如何监控k8s集群

Prometheus可以直接通过 Kubernetes 的 API 来自动发现和监控集群中的关键资源。包括节点(Nodes)、服务(Services)、端点(Endpoints)、Pods 和 Ingress。每一种资源都会被Prometheus当作一个监控的目标,并时刻监视着它们的变化。而每种资源类型都对应有一个专门的服务发现组件,在Prometheus 中被称为“role”。

2025-03-03 09:12:01 25345 60

原创 【Prometheus】prometheus服务发现与relabel原理解析与应用实战

relabel它可以在抓取目标实例数据之前,可以对目标实例的标签进行“灵活的改写”。借助Relabel,用户就可以自行定义复杂的“标签选择逻辑”,从而精准的控制哪些实例应当被监控,哪些实例应当被排除。例如,我们可以设置规则,仅抓取带有env=prod标签的目标实例数据,而那些不含此标签的实例则忽略掉 。

2025-02-28 07:15:00 27088 58

原创 【Grafana】Prometheus指标可视化Grafana,手把手教你如何自定义图形

面板(Panel) 是 Grafana 中最基本的可视化单元,每一种类型的面板都提供了相应的查询编辑器(Query Editor),让用户可以从不同的数据源(如Prometheus)中查询出相应的监控数据,并且以可视化的方式展现,所以要在Grafana 上创建可视化的图表,面板是我们所需要掌握的;我们在grafana中,可以自己新建面板,也可以导入面板

2025-02-27 07:15:00 27992 45

原创 【Prometheus】prometheus服务发现的各种方式详细解析与应用实战

prometheus服务发现有很多种方式,最常用的有:1.静态服务配置。2.基于文件的服务发现。3.基于注册中心consul的服务发现。4.基于公有云API的发现机制。5.基于kubernetes的发现机制。

2025-02-26 08:45:04 29045 38

原创 【Alertmanager】Alertmanager告警路由,告警静默,告警抑制,高可用的实现

所谓的告警路由,就是将不同的告警消息转发给不同的接收人,以便故障能快速的被处理和解决。Alertmanager 的告警路由配置,使用的是树状结构来定义,以确保每条告警消息都能够按照定义好的路径进行处理。当一条告警消息进来后,会先进入根路由,然后逐级的去匹配每个子路由的规则,然后将消息通过媒介发送给对应的接收人。

2025-02-25 08:42:02 29772 38

原创 【Alertmanager】alertmanager告警多种通知方式--企业微信告警、钉钉告警、电话和短信告警

本章讲述alertmanager如何实现企业微信告警,钉钉告警,电话短信告警通知,每一步都清晰明了。非常适用于企业生产环境告警通知的实施。

2025-02-21 07:15:00 33483 62

原创 【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面

Alertmanager 是 Prometheus 生态中的一个组件,专门用于处理 Prometheus 发送的告警。由于Prometheus本身无法实现告警,因此需要借助AlertManager来实现告警的推送。Prometheus Server 会对已经设定好的“告警规则”进行定期评估,当检测到问题时,会生成相应的告警通知并发送给 AlertManager。

2025-02-20 07:15:00 34222 40

原创 【Prometheus】prometheus结合pushgateway实现脚本运行状态监控

Pushgateway 是 Prometheus 生态中一个重要工具,使用它的原因主要是:● Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙原因,导致 Prometheus 无法直接拉取各个 target 数据。● 在监控业务数据的时候,需要将不同数据汇总, 由 Prometheus 统一收集。● 当exporter不能满足需要时,也可以通过自定义(python、shell、java)监控我们想要的数据。

2025-02-18 08:41:10 36677 44

原创 【Prometheus】prometheus结合domain_exporter实现域名监控

domain_exporter 主要用来监控网站域名的过期时间。这对于企业和个人都是比较重要的,因为域名过期可能会导致网站无法访问,进而影响业务的正常运行。因此监控“域名的过期时间”就显得比较重要了。

2025-02-17 09:36:36 37224 34

原创 【Golang】Go语言命令行参数解析神器--flag的详细用法与应用实战

flag包是Go语言标准库中的一个包,用于解析命令行参数。它支持多种类型的命令行参数,包括布尔值、整数、浮点数、字符串等。`flag`包还支持自定义参数类型,并且可以自动生成帮助信息。

2025-02-14 14:24:09 40143 26

原创 【Prometheus】prometheus黑盒监控blackbox全面解析与应用实战

Blackbox_exporter 是一个专门用于黑盒监控的工具,它支持多种网络协议对目标对象进行检测,比如 HTTP、HTTPS、TCP、DNS 和 ICMP。这意味着我们可以用它来监控网站响应状态和响应时间、以及通过端口来判断服务是否正常运行。此外用户还可以通过设置不同的检查模块来定制 blackbox_exporter,以便它能够适应不同的检测需求。

2025-02-14 08:53:32 40720 39

原创 【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知

Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。

2025-02-13 09:25:58 41264 47

原创 【Prometheus】如何通过prometheus监控redis实时运行状态,并实现告警通知

在现代微服务架构中,Redis被广泛应用于缓存、消息队列及其他场景。为了确保Redis集群的高可用性和性能,我们需要实时监控其状态与指标。本文将全面讲解如何通过prometheus监控redis运行的各项指标,让数据实时可知。

2025-02-12 08:46:56 42310 41

原创 【Prometheus】MySQL主从搭建,以及如何通过prometheus监控MySQL运行状态

要使用Prometheus 监控 MySQL,则需要 MySQL 服务器上部署对应的mysqld_exporter。如果需要监控多个MySQL实例,则需要在每个MySQL实例上都部署一个mysqld_exporter,因为每个 mysqld_exporter 只能连接并抓取一个MySQL 的指标数据。

2025-02-11 07:15:00 43808 49

原创 【Prometheus】如何通过prometheus监控springboot程序运行状态,并实时告警通知

jmx_exporter 主要用于从 Java 应用程序中提取 JMX 指标,通常包括 JVM级别的信息,如内存使用情况、线程状态、垃圾回收次数等。对于传统的SpringBoot应用,由于它默认没有内置 Prometheus 监控的指标,因此使用 jmx_exporter来抓取基础的JVM相关指标。

2025-02-08 07:15:00 46366 56

原创 【Prometheus】如何通过prometheus监控Tomcat运行状态

Tomcat本身无法对外提供Prometheus所兼容的Metrics,因此需要借助第三方exporter来提供:tomcat-exporter

2025-02-07 09:03:48 46299 35

原创 【Prometheus】如何通过golang生成prometheus格式数据

要在Golang中生成Prometheus数据,你可以使用Prometheus的官方客户端库 `prometheus/client_golang`。这个库允许你定义和暴露自定义的指标,并通过HTTP端点将这些指标暴露给Prometheus服务器。

2025-02-06 08:55:37 47655 46

原创 【Prometheus】RabbitMQ安装部署,如何通过prometheus监控RabbitMQ

RabbitMQ是一个开源的消息代理和队列服务器,它使用Erlang语言编写并运行在多种操作系统上,如Linux、Windows等。RabbitMQ可以接收、存储和转发消息(也称为“事件”)到连接的客户端。它适用于多种场景,包括异步通信、流量削峰、应用解耦等。本文详述RabbitMQ的安装部署和通过prometheus监控RabbitMQ的方法

2025-01-24 09:02:42 53739 61

原创 【Prometheus】Prometheus如何监控Haproxy

从 HAProxy 2.0 版本开始,HAProxy 内置了对 Prometheus 的支持。这意味着 HAProxy 能够直接提供兼容Prometheus的指标格式,无需依赖任何额外的 exporter 。(安装Haproxy、然后修改stats,配置对外输出metrics接口)

2025-01-23 10:56:02 52864 46

原创 【Prometheus】PromQL进阶用法

在监控CPU、内存、磁盘和⽹络等系统资源时,使⽤USE的⽅法论是最为合适的,它要求我们针对每个资源(也就是CPU、内存 、⽹络等)分别检查三个关键方面:使用率、饱和度和错误。使用率:表示资源在占作时占用的平均时间,例如,CPU在过去的60秒内有30秒被用来执行指令,那么我们可以说这个CPU的使用率是50%。饱和度:指明资源已经到达或接近其处理能力极限的程度,表明无法再处理更多的工作量。这通常通过队列长度等指标来衡量。错误:记录了资源在运行过程中发生的错误事件的次数。网络监控用的比较多

2025-01-21 17:22:21 54277 49

原创 【vue-codemirror】Vue中强大的编辑器插件--vue-codemirror

CodeMirror是一个功能强大的Web代码编辑器,广泛应用于各种Web应用中。在Vue3项目中集成CodeMirror,可以显著提升代码编辑和展示的用户体验。本文将结合实际案例,详细介绍在Vue3中使用CodeMirror插件的方法。

2024-12-18 10:53:43 48564 97

原创 【Axios】如何在Vue中使用Axios请求拦截器

在Vue项目中,Axios是一个非常流行的HTTP客户端,用于发送请求和接收响应。Axios拦截器是Axios的一个强大功能,它允许你在请求发送之前和响应返回之后对请求和响应进行处理和拦截。通过拦截器,你可以添加请求头、处理请求参数、处理错误等。

2024-12-05 07:15:00 59404 99

原创 【Vue axios】vue中如何通过axios异步请求后端接口

在现代Web开发中,前端与后端的数据交互至关重要。Vue.js作为一款流行的前端框架,结合Axios库能够高效地实现HTTP请求与数据处理。本文将详细讲解如何在Vue 3中使用Axios,并通过实际案例展示其用法。

2024-12-04 07:15:00 60596 60

原创 【vue-router】关于Vue-Router路由守卫

路由守卫是Vue-Router提供的一种机制,用于在路由跳转前或跳转后执行一些操作。它类似于Vue组件中的生命周期钩子函数,但它是针对路由的。通过路由守卫,我们可以在用户访问特定路由前或离开特定路由后执行一些逻辑,从而控制用户访问权限、加载数据或取消导航等操作。

2024-12-03 07:15:00 57172 63

原创 【vue-router】Vue-router如何实现路由懒加载

在现代前端开发中,Vue.js凭借其轻量级和易用性,成为了很多开发者的首选框架。然而,在构建大型单页应用(SPA)时,初始加载时间可能会变得非常长,影响用户体验。为了解决这个问题,Vue.js引入了路由懒加载机制。本文将结合实际案例,详细讲解Vue-Router路由懒加载的用法。

2024-11-29 09:12:36 60505 60

原创 【vue-router】vue-router如何实现动态路由

在构建基于Vue.js的单页面应用(SPA)时,Vue Router是一个不可或缺的工具。它提供了声明式的路由功能,使开发者能够轻松地管理和控制应用内的导航逻辑。动态路由是Vue Router中的一项重要特性,它允许我们根据运行时的数据来动态地匹配路由。这对于需要根据用户输入或后端响应来调整应用行为的场景尤其有用。本文将详细介绍动态路由的概念、作用及其在Vue Router中的具体实现,并通过一系列实际案例来展示如何有效地使用这项功能。

2024-11-28 07:15:00 61364 59

原创 【Vue3+Pinia】Vue新一代状态管理器Pinia

Pinia最初是作为Vuex的替代方案而设计的,旨在提供一种更简洁、更易于理解和维护的状态管理方式。Pinia的设计灵感来源于Vue的组合式API(Composition API),它允许开发者以更灵活的方式组织代码。

2024-11-26 08:56:09 62642 65

最新版goland,go开发必备好工具

最新版goland,go开发必备好工具

2024-09-10

Prometheus向量匹配程序

prometheus向量匹配数据生成程序,用于prometheus向量匹配学习。

2024-09-09

天气检测程序,暴露端口,给prometheus提供数据

操作流程: mv weather_exporter_jingtian /usr/local/bin/ chmod +x /usr/local/bin/weather_exporter_jingtian # 启动脚本 vim /usr/lib/systemd/system/weather_exporter.service [Unit] Description=weather_exporter Documentation=https://prometheus.io/ After=network.target [Service] ExecStart=/usr/local/bin/weather_exporter_jingtian --port 7001 ExecReload=/bin/kill -HUP $MAINPID TimeoutStopSec=20s Restart=always [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl start weather_exporter.service

2024-09-06

一键删除k8s集群中所有异常pod脚本

该脚本可以一键删除K8S集群中所有名称空间下的不正常的pod,也可以过滤掉指定的名称空间。

2024-08-29

实时获取微博热搜python脚本

该脚本一执行,即可获取实时微博热搜事件和热度。 不仅会在控制台打印出来,还会存储到本地的csv文件中。 一键获取,轻轻松松。

2024-08-27

linux用户管理命令大全

linux用户管理各种操作方式汇总,非常齐全,用户的创建与修改,账号信息各个字段的讲解,密码管理,用户身份的切换,sudo权限提升,家目录的管理,属主属组的管理等等。针对学习linux的童鞋非常有帮助。

2024-08-15

非常详细的git使用功能教程

非常详细的git使用功能教程,包括从下载到配置管理,各种命令使用应俱全,完全从零基础开始教学,想学git,这一篇就足够了。全文近两万字,图文结合教学,平时使用过程中有哪些疑惑,过来翻一下,要不了多久,git应用起来就能得心应手啦。

2024-08-14

咪咕音乐下载代码,先输入音乐名,一键下载

咪咕音乐下载,先输入音乐名,一键下载

2024-08-09

linux批量配置服务器免密登录脚本

linux批量配置服务器免密登录脚本,一键执行,实现控制主机到所有被控制节点免密

2024-03-20

Mysql数据库脚本,备份除了系统自带库以外的所有库

Mysql数据库脚本,备份除了系统自带库以外的所有库

2024-03-20

监控100台服务器磁盘利用率脚本

监控100台服务器磁盘利用率脚本

2024-03-20

nginx访问日志分析脚本

nginx访问日志分析脚本,统计某一时段内的日志数据

2024-03-20

javascript代码分享,学习js编写教程

javascript代码分享,学习js编写教程。 包含各种方法编写技巧

2024-03-08

linux中安装python3教程

linux操作系统安装python3保姆级教程 里面详细讲述了从下载,编译到安装,以及如何避坑的过程 还包含编译ssl教程 图文并茂,各种依赖包的安装

2024-01-30

基于Python编写的类ATM机系统,功能比较全面,适合编程思维训练

基本实现 取钱:卡是否存在,是否冻结,取钱金额是否正确 转账:把一个卡里的钱转到其他卡内 (卡是否存在,是否冻结,对方账户是否存在,转账的金额是否正确) 改密:(1)原密码改密 (2)身份证改密 解卡:判断卡是否存在,使用身份证解卡 锁卡:1:使用密码冻结 2:使用身份证号冻结 补卡:将旧用户的所有信息和新卡绑定(包括名字,余额等所有卡信息和用户信息,数据重新绑定)[user_id_dict] 通过身份证 => 卡号 => 用户对象 类型要判断 姓名不能为空,为中文或者字母 密码长度6位不能空,字母数字下划线 \w (纯数字的密码不允许的) 身份证号长度18位不能为空 main 类,统一调用分模块的功能; 开户(1) register 查询(2) query 存钱(3) save_money 取钱(4) get_money 转账(5) trans_money 改密(6) change_pwd 锁卡(7) lock 解卡(8) unlock 补卡(9) new_card 退出(0) save

2024-01-30

基于Python编写的FTP文件传输程序,包含客户端和服务端,可以跨平台文件传输

基于Python编写的FTP文件传输程序,包含客户端和服务端,可以跨平台文件传输 程序比较轻量,包含了注册,登录,上传,下载,退出等功能

2024-01-30

selenium规避检测,绕过检测

我们在用selenium爬取数据时,有些网站会对selenium进行检测,当检测到时selenium打开时,就会不让我们得程序访问。使用这段js,能有效规避selenium的检测 使用方式 我们在用selenium爬取数据时,有些网站会对selenium进行检测,当检测到时selenium打开时,就会不让我们得程序访问。 使用这段js,能有效规避selenium的检测 使用方式 #Selenium在打开任何页面之前,先运行这个Js文件。 with open('./stealth.min.js') as f: js = f.read() #进行js注入,绕过检测 #execute_cdp_cmd执行cdp命令(在浏览器开发者工具中执行相关指令,完成相关操作) #Page.addScriptToEvaluateOnNewDocument执行脚本 driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": js }) driver.get('https://www.jd.com')

2023-12-29

K8S告警监控prometheus部署方案,包含文档和镜像

这里面包含了完整的prometheus告警部署方案,包含了yaml文件和镜像。亲测可以在生产环境完美部署成功

2023-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除