随笔分类 - python 运维开发
摘要:一、概述 Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过web
阅读全文
摘要:一、插件安装 插件:Role-based Authorization Strategy 二、全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略会多出一个Role-Based Strategy选项,选择该项并保存 三、管理和分配角色 在系统管理页面进入 Man
阅读全文
摘要:一、概述 job建立的特别多的时候,我们可能不太容易找到自己的某个job,这时,我们就可以在Jenkins中建立视图。job的视图类似于我们电脑上的文件夹。可以通过一些过滤规则,将已经建好的job过滤到视图中,也可以在视图中直接新建我们的job。下面以过滤job为例讲讲视图如何使用。 二、新建视图
阅读全文
摘要:一、概述 背景 Loki的第一个稳定版本于2019年11月19日发布,是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。 Grafana 对 Loki 的描述如下: Loki: like Prometheus, but for logs. Loki
阅读全文
摘要:一、概述 Celery是Python开发的分布式任务调度模块,今天抽空看了一下,果然接口简单,开发容易,5分钟就写出了一个异步发送邮件的服务。 Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前,Celery支持的消息服务有RabbitMQ、Redis甚至是数据库,当然Redis应该
阅读全文
摘要:一、概述 LZMA (Lempel-Ziv-Markov chain-Algorithm) 基于著名的LZ77压缩算法改进的压缩/解压工具,特点:高压缩率,高解压速度,低内存消耗,lzma命令行工具使用方式和gzip,bzip2类似,对 已经熟悉gzip,bzip2这类工具的用户来说,上手并不难。对
阅读全文
摘要:一、概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/13074198.html 已经实现了基于Jenkins+Gitlab+Harbor+Rancher+k8s CI/CD,但是有一个问题,需要jenkins ssh登录到k8s mas
阅读全文
摘要:一、概述 在工作中我们会有直接想通过http方式运行Jenkins job的需求,这样就不需要每次都进入JENKINS的页面了。 二、安装python-jenkins 基本用法: 三、项目演示 本文采用 Jenkins 2.222.4,ip地址为:10.212.82.86 构建普通job 这里有一个
阅读全文
摘要:一、概述 Jenkins的Master-Slave分布式架构主要是为了解决Jenkins单点构建任务多、负载较高、性能不足的场景。Master-Slave相当于Server和Agent的概念。 Master提供web接口让用户来管理job和Slave,job可以运行在Master本机或者被分配到Sl
阅读全文
摘要:一、概述 最近上线了一个项目,运行了一个月。想知道mysql库中,哪个表最大,有多少行数据。 由于库里面有上百张表,一个个查看比较费劲。 二、查询表大小 我需要查询的库名为:kite 因此sql语句为: select table_schema as '数据库', table_name as '表名'
阅读全文
摘要:一、概述 看官网的描述Depends的使用,似乎比较懵懵懂懂的,于是乎还是需要花些时间再次学习一下关于依赖注入。 首先依赖注入它可以是函数也可以是类,如下面的函数形式的依赖注入: 简单的依赖说明 梳理一下接口请求的流程: 1: 上面的commons: dict = Depends(common_pa
阅读全文
摘要:一、概述 为啥需要跨域处理,通常我们的API一般是给到前端去调用,但是前端可能使用域名和没提供的API域名是不一样,这就引发了浏览器同源策略问题,所以我们需要做跨域请求支持。 FastAPI支持跨域的话,可以通过添加中间的形式,和bottle也有相似之处。不仅如此他还支持仅限于支持哪些域名进行跨域请
阅读全文
摘要:一、概述 所谓的中间件,其实和我们bottle中的中间件作用是一致。有些方法或操作需要在所有路由之前执行,比如要加一个http访问的拦截器,可以对部分接口API需要授权才能访问的接口进行验证之类的。 FastAPI提供了一个@app.middleware("http")可以做到类似上面的拦截功能。其
阅读全文
摘要:一、概述 HTTPException异常抛出 再之前Bottle 中其实有一个就是HttpError异常类,在FastAPI也存在这么一个HTTPException。比如: 在上面的代码中,通过判断item_id是不是存在于items来主动的抛出了一个404的错误 访问一个错误的url 我们查看HT
阅读全文
摘要:一、概述 使用response_model定义 请求一个接口返回来我们客户端可见的东西都是所谓的响应报文,如响应头,响应码,响应内容等。 通常不会那么傻的用户输入什么就返回什么。以下的官网示例纯粹的演示看: json参数 通常再定义我们的API返回响应的时候,一般是返回固定JSON格式的,所以可以直
阅读全文
摘要:一、概述 一般对于Request Body不会通过get提交,对于get提交的参数一般称为是查询参数。所以,如果是通过POTS,PUT等方式提交的参数信息,我们一般是放到Request Body来提交到我们的后端。 对于如何接收和校验请求体,FastApi提供的形式是使用:from pydantic
阅读全文
摘要:一、概述 路由方法有 GET, POST, PUT, PATCH, DELETE 和 OPTIONS。 二、路由Route上参数获取和校验 一般我们的路由分会静态和动态,静态路由就是参数是固定写死,也就是访问地址是写死的,而动态地址,就是需要动态的生成,类似简书的博文的地址94710ed35b92就
阅读全文
摘要:一、简介 FastAPI 是一个高性能 Web 框架,用于构建 API。 主要特性: 快速:非常高的性能,与 NodeJS 和 Go 相当 快速编码:将功能开发速度提高约 200% 至 300% 更少的错误:减少约 40% 的人为错误 直观:强大的编辑器支持,自动补全无处不在,调试时间更少 简易:旨
阅读全文
摘要:一、概述 本实验基于CentOS7.6 操作系统,总共5台设备,两台做后端web服务器,两台做lvs和keepalived,一台做客户机,实验以LVS(DR)+Keepalived和LVS(NAT)+Keepalived两种模式来做双机热备份,实验环境拓扑如下图所示: 从架构可以看出来,从用户的角度
阅读全文
摘要:一、概述 讲正文开始前先回顾一下以往传统的代码部署方式。 通常运维人员在接到代码(新项目)上线的任务前都要做大量的准备工作,包括:物理主机、虚拟机、代码运行环境、数据库安装配置、各种帐号创建,、运行后期的系统监控、应用的日志收集,性能优化等一系列的工作。 想一想这个流程不是很复杂但是很繁琐,效率低下
阅读全文