自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 sentry缓冲池异常buffer capacity exceeded

现象:sentry通过API提交数据报503,返回Body中提示:buffer capacity exceeded排查过程:日志:docker logs -n 10 sentry-self-hosted-relay-1,发现大量buffer capacity exceeded解决:编辑:./relay/config.yml文件,添加以下内容:cache: envelope_buffer_size: 1000000参考https://github.com/getsentry/self-h

2023-10-09 18:23:33 463

原创 Docker版本升级后镜像及数据丢失找回

如系统安装有docker-ce时docker-ce将被升级,升级过程docker相关启动文件将被新版替换,若数据目录配置不当则易引发升级后镜像丢失、服务无法启动等假象。当yum update或yum upgrade未指定软件包名称时,将默认升级系统所有可升级软件。

2023-09-25 17:38:42 2131

原创 GO基础笔记

go笔记

2022-07-17 18:37:56 135

原创 k8s环境kong网关1.0版本升级至2.4

Konga网关管理后台升级操作手册现状序号资源名称版本获取方式1Kong1.0.2kong version2PostgreSQL10.6psql --version目标此次升级Kong,同时将数据迁移至自建数据库。序号资源名称版本1Kong2.4.12PostgreSQL10.6升级步骤官方指导文档升级步骤:因Kong在每个大版本发布时数据库结构发生变更,因此不支持直接升级至最新版。

2021-09-30 16:22:29 1015

原创 docker部署kong网关

Kong Gateway学习总结依赖环境序号名称版本1CentOS 7.93.10.0-1160.25.1.el7.x86_642Docker20.10.73Kong Gateway2.4.1.04PostgreSQL9.6创建Kong Gateway官方Docker方式安装文档下载Kong Gateway Docker镜像# 下载镜像docker pull kong/kong-gateway:2.4.1.0-alpine

2021-09-30 15:45:14 470

原创 jenkinsfile通过ssh推送代码至gitlab

// 通过jenkins pipeline-syntax语法生成器获取SSH私钥withCredentials(bindings: [sshUserPrivateKey(credentialsId: 'gituser', keyFileVariable: 'SSH_KEY_FOR_GIT', passphraseVariable: '', usernameVariable: '')]) { // 自定义ssh参考<https://git-scm.com/docs/gitfaq>"How

2021-09-22 18:54:42 460

原创 kubernetes k8s镜像名称列表及手动导入镜像并打标签

问题:部署集群时国内无法下载镜像,因此从香港服务器下载了K8S镜像,导出时直接使用的 IMAGE ID作为导出对象,因此在下载到国内导入镜像时资源名称与标签均变为,导致集群初始化时仍需要卡在下载镜像。解决方法:删除已导入镜像通过 kubeadm config images list查看所需资源标签$ kubeadm config images listk8s.gcr.io/kube-apiserver:v1.21.1k8s.gcr.io/kube-controller-mana..

2021-05-31 18:07:19 2241

原创 Keepalived监测备份节点服务IP地址不存在问题

Keepalived做高可用时,因此时VIP在主节点存活,在备份节点启动服务监听指定VIP时会报错不能注册地址导致备份节点服务无法启动。配置内核参数解决绑定不存在IP问题$ vi /etc/sysctl.confnet.ipv4.ip_nonlocal_bind=1$ systcl -p...

2021-05-16 16:51:24 288

原创 Loki + Promtail 解决日志多行与跨行问题

描述因项目未进行日志格式化,在有空白字符开头的日志记录产生时,promtail无法将跨行及多行日志发送给loki,导致日志丢行。解决经过查询官方文档https://grafana.com/docs/loki/v2.2.0/clients/promtail获悉Promtail可通过配置pipelines管道进行处理日志(类似于ELK格式化日志),但实现很轻巧。经过实践,参考https://grafana.com/docs/loki/v2.2.0/clients/promtail/pipelin..

2021-05-06 18:05:45 4908 2

原创 GO Strings包的日常应用

package mainimport ( "strings" "fmt")func main() { fmt.Println(strings.Compare("123","123")) fmt.Println(strings.Contains("abcd","bd")) fmt.Println(strings.ContainsAny("abcde","gg")) fmt.Println(strings.ContainsRune("abc",100)) fmt.Println(stri

2021-04-09 16:03:24 93

原创 GO语言编写简单九九乘法表

代码如下···gopackage mainimport “fmt”func main() {/*1 * 1/for x := 1; x <= 9; x++ {for y := 1; y <= x; y++ {fmt.Print(y, "", x, “=”, y*x, “\t”)}fmt.Println()}}···

2021-04-06 16:47:42 333

原创 RabbitMQ服务及集群管理命令

多租户与权限RabbitMQ服务器可以创建多个虚拟消息服务器(vhost),每一个vhost本质上是独立的小型RabbitMQ服务器,拥有独立的队列、交换器、绑定管理、权限控制等等,vhost之间是绝对隔离的。添加vhostrabbitmqctl add_vhost vhost1查看vhost列表rabbitmqctl list_vhosts删除vhost –此操作会删除其下所有队列、交换器、绑定管理、权限等信息rabbitmqctl delete_vhost vhost1

2021-03-11 13:53:03 216

原创 SRE Google运维解密-第三章

拥抱风险极端的可靠性带来成本的大幅提升,过分追求稳定性限制了新功能的开发速度和交付速度;SRE旨在寻求快速创新和高效的服务运营业务之间的风险平衡,而不是简单的将服务在线时间最大化;管理服务的可靠性很大程度是通过管理风险来进行的,明确的将运维风险与业务风险对应,同时把可用性目标看作风险的上限和下限,促使团队进行风险讨论,管理风险需要从两方面入手: 资源成本:因降低风险所付出的资源投入; 机会成本:因降低风险带来的效率低下;度量服务的风险基于时间的可用性: 可用性 = 系统

2021-03-11 00:53:46 242

原创 RabbitMQ基础概念及生产者消费者数据流转过程

基础理解RabbitMQ:是一个生产者与消费者模型,负责接收、存储、转发消息;Message:消息,由消息体和标签组成; 消息体(payload)是相关业务逻辑结构数据; 标签(label)定义消息路由及交换名称等信息;Producer:生产者,负责生成消息;Cunsumer:消费者,用于接收消息;Broker:服务节点Queue:队列,用于存储消息,是rabbitmq的内部对象 PS: - 消费者连接rabbitmq服务并订阅相关队列消费一条消息时,只是消费消息的消息体,消..

2021-03-09 14:59:20 871 1

原创 SRE Google运维解密-第二章

google使用 Borg(伯格)分布式集群管理系统进行资源分配,负责集群层面管理任务的编排工作;google使用 BNS 在Borg启动某一个任务时,会给每个具体的任务实例分配一个名字和编号,作为名称解析、地址转换;google数据中心构建拓扑结构: Rack Row Cluster Datacenter Campus 数台物理服务器组成机柜 数台机柜组成机柜排 数排机柜组成一个集群 多个集群组成数据中心 多个相邻的数据中心组成园区google使用..

2021-03-09 00:21:48 253

原创 RabbitMQ常用命令

服务管理以守护进程方式启动rabbitmq-server -detached查看节点状态rabbitmqctl status或者rabbitmqctl cluster_status新增用户并授权1. rabbitmqctl add_user $username $password2. rabbitmqctl set_permissions -p / $username ".*" ".*" ".*"3. rabbitmqctl set_user_tags $username..

2021-03-07 00:53:44 142

原创 SRE Google运维解密-第一章

研发(Dev)与运维(Ops)分离导致的问题直接成本: 随着产品及项目增多,相应人员线性增加。间接成本: 研发与运维团队背景各异,技术能力与工具使用习惯存在差距,工作目标不同; 研发与运维团队对产品可靠程度要求不同,具体执行某项操作的危险程度评估与技术防范措施不同。以上逐渐演变成目标与方向上的分歧及形成沟通问题,容易出现信任、尊重等问题如何减少更新故障—以下两点均不是最优运维:给研发制定严格上线流程;研发:不再大规模更新,而是转为功能开关调整、增量更新、补丁等方式..

2021-03-06 23:37:41 806

原创 Linux文件名称乱码GBK转UTF8重命名

因项目运行于Linux之上,设置字符集为UTF8,而启动参数设置字符集为GBK,通过上传功能上传的附件文件名称为GBK格式,因此在系统中文件名无法正常显示,修改终端显示字符集后可正常查看。由上可确定需要对附件文件进行文件名称字符集转换。Linux系统中有iconv与convmv分别提供文件内容与文件名称字符转换,本次仅使用convmv即可。1. 拷贝源文件至临时目录cp -a old_filename.pdf /tmp/2. 转换成utf8convmv -r -f gbk -t utf8 ol

2021-03-04 19:14:40 1171 1

原创 Nginx反向代理下载大文件超时

需求 下载超过1G以上文件服务架构 浏览器-->Nginx反向代理-->Java应用程序问题表现 网络质量良好的情况下浏览器点击下载功能可下载完成并成功打开文件; 网络质量差时仅能下载到1G左右。排查 排查系统性能无异常拨动 查看Java应用程序日志无异常信息 Nginx日志在下载未完成时刷新一条“200 OK”日志,error日志出现一条“client timeout”日志解决 server上下文中修改proxy_read_timeou..

2021-02-24 09:59:48 2513

原创 MysqlDump导出导入操作步骤

MysqlDump导出导入操作步骤导出数据导出备份文件$ mysqldump -h ${source_host} -u ${username} -p \--set-gtid-purged=OFF -c ${source_dbname} ${source_tablename} \--where="${where_conditions}" > ${path_filename}.dump修改备份文件sed -i '/^INSERT INTO `${source_tablename}`

2021-02-01 10:59:41 438

原创 mysql全量恢复及binlog恢复

通过innobackupex 恢复全量备校验全量备份文件 # 可用性校验 $ more backup_datetime.log #应在最后有明确的MySQL binlog position及completed OK!成功提醒。 # 完整性校验 $ sha256sum -cw full_backup_file.tar.gz.SHA256 #终端输出OK。恢复全量备份文件 # 解压全量备份 $ tar -xf full_bakckup_file.

2021-02-01 10:54:01 255

原创 Nexus备份任务设置

Nexus备份任务设置简述nexus备份:官方文档nexus备份:分为文件备份与数据库备份(我司使用nexus库作为maven和npm仓库,仓库使用频率较高,拟进行每日备份。)!!!为保证备份有效性,请及时进行恢复性验证。!!!备份任务文件备份文件备份:针对数据量小的可进行tar归档备份;针对上百G及T级的文件数据不建议进行压缩备份,因为仓库中的文件大都是jar或tar.gz文件,可压缩比例可忽略不计,此时建议使用磁盘快照、带库等进行备份。数据库备份根据官方指导设置如下:

2020-12-15 10:07:00 651

原创 ansible使用git模块ssh克隆代码Permission denied (publickey)

现象:ansible通过git模块克隆项目配置至指定目录,在ssh-key已经添加正确的情况下报错:Permission denied (publickey)解决方法:注释掉playbook中become与become_method涉及切换用户身份的配置项。排查结论:playbook中remote_user执行角色应为自身权限,若添加become与become_method参数ansible远程连接后将使用超级用户的key进行请求.还原现场详情:$ vi t..

2020-12-10 16:33:22 845 1

原创 生产环境ansible定义多级变量应用

生产环境ansible定义playbook多级变量定义及应用因技术架构刚刚起步,未构建动态配置注册中心,为保障ansible运维springboot过程变量赋值易于查找,在ansible var种定义Java变量配置项:定义app: api1: opt1: "aaa“ opt2: subopt1: "bbb" api2: opt1: "ccc" opt2: "ddd" 应用在task或template及其他任务中可使用以下方式进行变量引用。

2020-12-09 09:29:45 372

原创 sonarqube代码质量监测工具安装部署

sonarqube代码质量监测工具安装部署sonarqube介绍SonarQube是一个自动代码审查工具,可检测代码中的错误,漏洞和代码质量。sonarqube安装sonarqube官方安装手册, 该软件 8.0 开始不再支持mysql数据库,仅支持MSSQL、Oracle、PostgreSQL。本次采用PostgreSQL使用docker安装,官方手册sonarqube安装$ mkdir /data/sonar/data //创建数据目录$ vi /data/sonar/sonar

2020-11-20 19:06:36 134

原创 Clamav杀毒安装配置手册

Clamav杀毒安装配置手册 一、 部署本地病毒库镜像源官方参考文档1. 安装配置代理服务器1.1 安装 $ sudo curl -o /path/nginx-1.16.1.tar.gz http://nginx.org/download/nginx-1.16.1.tar.gz $ sudo tar -zxf /path/nginx-1.16.1.tar.gz -C /path/nginx-1.16.1 $ cd /path/nginx-1.16.1 $ sudo.

2020-11-20 18:51:57 2143 1

原创 Centos7离线安装Harbor镜像仓库

注意事项1.为系统划分独立分区:/var–容器、/data–镜像。2.harbor生产环境请勿使用默认密码。2.1 安装docker下载镜像源:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装:yum makecache && yum install docker-ce2.2 安装docker-compose下载安装程序:cd /data && curl -L “https://

2020-11-18 22:25:42 505

原创 Kubernets安装Helm

下载程序包https://github.com/helm/helm/releases解压后将执行文件拷贝至/usr/bin/下创建RBAC[root@master01 helm]# vim rbac-config.yamlapiVersion: v1kind: ServiceAccountmetadata:name: tillernamespace: kube-systemapiVersion: rbac.authorization.k8s.io/v1kind: Clust..

2020-11-18 22:23:00 80

原创 npm查找依赖包版本

npm查找依赖包版本列表并安装指定版本因前端提交版本迭代需由运维安装指定版本依赖包$ npm view [packagename] versions执行安装$ npm i [packagename@version]

2020-10-28 10:31:01 2229

空空如也

空空如也

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

TA关注的人

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