自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录一次es的性能调优

这是 JVM 垃圾回收过程中的一条日志,表示在最近 38.6 秒内,JVM 进行了一次 GC (Garbage Collection) 的操作,回收垃圾所占用的内存。这条日志的含义是,在这次 GC 中,有很大一部分时间(38.3 秒)是用于处理 GC 相关的开销(例如标记垃圾、整理内存等),而不是实际回收垃圾。除了垃圾回收器的选择之外,还可以调整 Elasticsearch 的垃圾回收策略参数。例如,可以调整堆内存的大小、垃圾回收的线程数、垃圾回收的阈值等参数,以达到更好的垃圾回收效果。

2023-03-06 10:56:39 2336 3

原创 运维网关系列4:Qin Admin

网关开发完成了之后,还面临着一些问题,例如三方登录,使用openid自动登录。但是如果要在网关的模块上再加一个,我觉得违背了当初开发网关的初衷,不是每个公司都需要小程序这一套东西。LDAP本身并不支持三方登录,所以我们围绕着这个就诞生了Qin的后台扩展。Qin本身就支持租户接入,我们把这个Admin作为Qin的一个租户。这样在保证QIn的代码简洁、功能专一的情况,来实现我们的需求,建立一个良好的生态。

2022-09-20 08:55:23 270

原创 运维网关系列3:项目正式命名为秦(Qin)

在运维领域,有着众多优秀的开源项目。怎么才能把这些项目联系在一起,创造更大的价值?历史给出了答案,大一统。秦,应运而生。

2022-09-15 10:05:50 307

原创 运维网关系列2:实现细节

主要描述一下实现细节

2022-09-09 13:45:27 387

原创 运维网关系列1:开发网关的初衷

从零开始设计一个运维网关

2022-09-07 16:37:53 512

原创 vsc使用remote ssh连接服务器遇到的问题以及解决办法

Q1: 修改ssh端口vim ~/.ssh/configHost IP HostName IP Port 端口 User rootQ2: Running the contributed command: ‘_workbench.downloadResource’ failed.升级系统吧。。。。。Centos7以上参考连接Q3: 优化的配置fs.inotify.max_user_watches=524288...

2021-09-07 16:00:15 19738

原创 高项笔记1.信息化和信息系统

目录信息信息特征:信息的质量属性信息的功能信息的传输模型信息系统的基本规律信息系统系统的特性信息系统特性信息系统信息化信息系统生命周期信息信息就是能够用来消除不确定性的东西信息量的单位是bit信息特征:客观性普遍性无限性动态性相对性依附性变换性传递性层次性系统性转化型信息的质量属性精确性完整性可靠性及时性经济型可验证性安全性信息的功能为认识世界提供一句为 改造世界提供指导为有序的建立提供保证为资源开发提供条件为知识生产提供材料信

2021-08-04 09:57:24 20486

原创 建站技术:不懂设计怎么也能做出好看的banner

前言建议收藏!简直就是程序员的福音!相信开发的同学都有自己的博客吧,但是怎么为自己的文章设计出超级好看的banner,本文就来讲讲公众号banner公众号的banner图一般是2.5:1就是下图这样的公众号效果多篇文章单篇文章iconfont阿里旗下一个字体分享网站,我们可以去上面搜索自己想要的icon,然后下载下来iconfont地址:https://www.iconfont.cn/鹿班鹿班是阿里旗下的一个AI设计平台,我们只需要想好文案,logo,它就能帮我们.

2021-07-01 11:31:06 27419

原创 运维实战:DNS服务篇

前言部署DNS服务之后,我们可以自定义域名,来供应用之间互相调用。服务地址(IP)可能会发生改变,当我们把应用迁移到别的机器上之后,只需要修改DNS的配置文件,应用端无需任何更改,即可正常访问迁移后的应用。在k8s中,当服务重新部署之后,Pod的IP就会改变,k8s通过coredns来维护域名和ip的对应关系,来保证集群内部可以通过域名访问。当时coredns只能保证当前集群,若是多个集群就没办法保证域名解析。解决办法就是自己维护一套DNS服务。部署DNS服务可以使用开源的Bind,也可以使用dn

2021-06-28 17:08:25 27640

原创 使用golang开发并监控hadoop篇(3)监控hadoop的端口并整合到Prometheus体系

前言我们公司的hadoop集群都是基于原生安装的,没有使用cdh这些第三方整合好的,还提供各种监控。为了保证各个组件的正常,需要自己来开发弥补监控上的缺失。hadoop生态相当庞大,组件也超级多,其中一两个组件挂掉了,不经常巡检可能发现不了,经常巡检也会消耗掉大量精力设计思路针对前面提到的痛点,我要动手解决掉下面的几个问题 定时检测端口是否正常 怎么模块化配置,支持各个地方不同的场景 当异常发生时候,怎么通知到我明确了要解决的问题之后,开始着手开发。定时检测端口是否正常在上一篇文章中,

2021-06-21 12:49:45 28184 3

原创 podman初尝试:镜像加速,podman-compose

前言安装了centos8之后通过yum安装docker会自己装一个podmanpodman没有常驻进程,其他跟docker基本上一样,docker-compose 不能用了,需要换成podman-compose,可以通过pip install podman-compose直接安装

2021-06-17 14:09:50 29311

原创 使用golang开发并监控hadoop篇(2)hdfs使用情况和定时任务功能

使用golang开发并监控hadoop篇(1)hdfs文件夹大小监控前言前面一片文章描写了怎么用go去监控hdfs的文件夹大小,这篇文章将为大家带来怎么监控hdfs使用情况和定时任务功能hdfs磁盘空间监控这个是每天定时发送一次,所以这次结合定时任务一起说了。下图就是个大概情况,当使用百分比超过80就会出现橘黄色,超过90%就会出现深红色。实现思路通过执行下面命令获取hdfs集群的信息,然后对这些信息进行格式化处理。hdfs dfsadmin -report | grep -E '^Name

2021-06-15 14:46:06 28542

原创 记录一次hadoop namenode fsimage不更新问题

前言之前Hadoop namenode机器扩容过一次,扩容之后感觉老是有问题。今天上去看了下namenode的fsimage镜像好久没从内存写到硬盘上了,想找找什么问题。对hadoop也不太熟悉,也是慢慢摸索阶段启动SecondaryNameNode启动命令hadoop-daemon.sh start secondarynamenode然后执行jps发现没有启动起来,去查看日志,发现了一个报错Cannot use SecondaryNameNode in an HA cluster. The

2021-06-09 17:04:16 28352

原创 小程序实现卡片式设计(又叫原子化设计)

前言我之前想做的就是照着华为emui的这种风格去设计。我前端好垃圾啊,有大佬看到这边文章能帮忙指点下更好了。。。代码wxss.cards { margin: 5px; padding: 0 10px; text-align: center; background: linear-gradient( #e2deda, #d6dacd); height: 3em; border-radius: 20px; /* line-height: 2.3em; */ font-w

2021-06-08 18:18:21 29060

原创 使用python封装了一个获取小程序token,发送订阅消息的类

前言这是在开发小程序过程中用到的一个类,这里放出来希望对大家有一些帮助。class WeAPP(): def __new__(cls, *args, **kwargs): if not hasattr(cls, '_instance'): cls._instance = super(WeAPP, cls).__new__(cls, *args, **kwargs) return cls._instance def __init_

2021-06-08 17:59:39 28882

原创 CMDB建设作品:利用小程序实现运维移动端(一)

前言去年做过很多套方案,一直不满意。今年突发奇想为什么不做一个小程序版的运维系统。有想法就开始动手做起来。功能设计 登录工作台 告警 待办 消息地域 切换地域 切换地域动态联动jenkins 获取各地域列表 发布和通知rancher大数据ansible…设计思路登录登录界面没有太多的元素,不想做的太复杂。能正常登录就可以。首页首页的标题是可以点击的,点击之后会出现地域列表,点击对应的就可以进行切换。jenkins因为才做了3天,所以

2021-06-08 17:51:18 28577 1

原创 解决 go get获取package时候time out超时问题

前言正常使用go get获取安装包时候因为一些原因,导致经常出现超时的问题,特别,go在后面的版本(go.1.13)增加了一个功能,即可以使用代理获取package。准备工作将go升级到1.13以上版本。点击下载Go配置Linux、Mac# 配置 GOPROXY 环境变量export GOPROXY=https://goproxy.io,direct长久生效# 设置你的 bash 环境变量echo "export GOPROXY=https://goproxy.io,direct" &

2021-06-04 11:02:39 30369

原创 Linux安装完成之后系统参数调优(0604更新)

目录前言关闭selinux修改内核参数调大文件打开数修改时区关闭防火墙前言系统安装完成之后一些参数的修改关闭selinuxvim /etc/sysconfig/selinuxSELINUX=disabled修改内核参数cat >> /etc/sysctl.conf << EOFnet.ipv4.tcp_fin_timeout = 2net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_

2021-06-04 10:53:10 28312

原创 使用golang开发并监控hadoop篇(1)hdfs文件夹大小监控

前言我们公司在各地都有分公司,分公司下面基本都有一套属于自己的hadoop集群。这时候需要一个监控,来采集一些我们需要的信息,在发生异常时候可以告知我们hdfs本篇主要讲解下怎么监控hdfs文件夹大小,这个需求是因为我们会把采集的数据写进hive,有时候前一天的数据会特别少,可能只有几M,这时候就属于异常情况,我们不可能每天都登录服务器去执行命令查看,这时候怎么设计一款监控程序能够告诉我们前一天的数据到底是否正常。实现思路我们要监控的是hadoop生态圈的各种组件,不只是hdfs。所以我们要有多模

2021-06-03 17:59:44 29222 1

原创 谈谈做等保三级后的一些关于运维的想法

前言公司现在在跑的项目基本都是通过docker镜像部署在k8s集群当中,这次做等保自查,发现平台的一些高危漏洞(有专业的第三方做这方面的工作),基本上都是一些ssl,php,nfs,mysql这种。ssl这块直接升级就行了。phpphp这块我们是做了基础镜像,我这边的想法是用一个统一的基础镜像。采用Nginx+php-fpm来构建,里面可以加入一些常用的第三方库,例如memcache,redis,mongod这些。一般php的高危漏洞需要升级php的小版本来解决,所以我们只需要在外面将源码编译好之

2021-06-03 16:56:36 28723 1

原创 运维开发利器:使用VSC来进行Python Django开发

前言相信大家还是使用Pycharm比较多,我之前也是使用Pycharm开发,但是正版太贵了,懒得折腾破解版。同时我也使用go开发项目,Goland+Pycharm来回切换也十分不方便,就想到IDE的新宠Visual Studio Code。装上一系列插件之后也是十分的方便。插件插件名用途Python用来支持python语法Django用来支持django框架,ORM,Template这些配置在项目目录下面创建.vscode目录launch.json可以帮助你调

2021-05-26 17:54:24 27993 1

原创 运维利器:使用VSC管理Ansible playbook脚本

前言不知道大家面对很多的playbook脚本时候怎么去管理的,在这里想给大家分享一下我的方法。利用微软的开源IDE Visual Studio Code去管理。安装方法网上一大堆,我这里面就不过多描述了。用法在playbook脚本存放的根目录下面创建一个.vscode文件夹,里面新建一个.settings.json文件。内容如下:{ "code-runner.executorMapByFileExtension": { ".yaml":"ansible-playbook $d

2021-05-26 17:28:45 29274 2

原创 es集群磁盘空间使用超过90的解决办法

es集群磁盘使用空间大于90的时候,会将es索引设置成为只读的,这时候也没有办法删除,解决办法1.停掉logstash2.将索引的只读状态去掉3.再进行删除附上脚本#!/bin/bash#清理es过期文件#保留近 N 天KEEP_DAYS=7 # 删除前 N的所有天到 前N+10天==>每天执行function get_todelete_days(){ # declare -A DAY_ARR # DAY_ARR="" for i in $(seq 1

2021-01-11 14:36:26 30541

原创 ChatOps:使用正则表达式分组,提取字符串需要的部分

前言前面开发jenkins的时候,就是使用简单的以空格切割来确定消息要实现什么功能,这个真的好low。example:list beijing 1 10 a动作 执行对象 页码 size 检索关键字第一个list作为要执行的动作是必须的,后面的beijing ,1,10,a都是不需要出现的。看看之前的代码怎么实现的(阉割版的还没实现翻页功能,如果要实现可能还需要写上几十行代码):text := strings.Split(m.Content, " ")lastWord := text[

2020-11-24 09:44:51 28150

原创 nginx利用go反向代理https

代码代码很简单。因为一些问题需要将内网的https网站暴露在互联网上,使用nginx反向代理https网站会有问题。利用go的http模块可以很轻松的代理https网站。package mainimport ( "crypto/tls" "net/http" "net/http/httputil" "net/url" "os")func main() { if len(os.Args)!=3 { panic("proxy2https bind-addr proxy-addr")

2020-11-23 13:07:56 28046

原创 rancher 2.3.x 证书过期解决办法

原因rancher 2.3出来有一年了。2.3内部启动了一个k3s,如果在距离证书过期前90天没重启过(重启也可能申请证书失败),在到期后容器会自动退出。进入/var/lib/rancher/k3s/server/tls执行下面命令可以查看到期时间for i in `ls *.crt` ;do openssl x509 -in $i -noout -dates;echo $i;done解决方法1.删除/var/lib/rancher/k3s/server/tls目录,2.重启rancher-

2020-11-18 14:31:10 12064

原创 基于语言交互的自动化运维系统二Jenkins

JenkinsGUI是使用Vue+Electron开发的。使用说明获取工程信息构建显示工程显示不同地区的工程

2020-11-13 17:22:35 28405

原创 基于语言交互的自动化运维系统一ChatOps

前言目前运维发展到现在经历了好几代1.0 单机时代手敲命令时代,写shell时代。写一大堆shell去管理服务器2.0 自动化工具时代随着Puppet、Ansible、fabric等基于命令行的批量管理服务器工具的出现,方便运维去管理大量服务器3.0 平台化时代这个时代真是百花齐放,各种基于2.0时代工具开发的系统,基于Web界面,鼠标点点就能完成各种操作,真的相当方便!下个时代肯定是基于AI实现的真正无人运维时代。我经历了这三个时代,同时我也在不断探索怎么减轻运维人的工作压力。不用周

2020-11-13 17:13:31 28195 1

原创 CMDB建设作品:使用Electron构建运维PC客户端

目录前言CMDBElectronVueJenkins获取所有项目build工程OpenVPNRancher前言好久没写博客了,疫情期间自闭了。来讲讲最近重新设计的新工具。界面就是这么朴实无华。。类OSX的窗口设计,抄袭QQMac版本的功能栏设计这个工具开发完成后:1.不需要每次构建还要打开浏览器访问各个地方的Jenkins。2.方便管理公司人员的VPN内网账号,3.一键发布新版本。CMDB我这里面的数据都是通过CMDBAPI获取到的,CMDB的开发,我前面的文章有写。包括各个地方的连接信息

2020-10-14 12:01:55 28509

原创 js定位子元素,并修改class

出现的问题就是如上图所示,本来应该在中心轴右边的却跑到左边。html代码是这样的<li class="timeline-item timeline-reverse"> <div class="timeline-dot bg-green-500"> ...

2019-10-16 14:19:44 11118

原创 rancher挂载mysql配置

资源->配置映射->添加配置映射键值my.cnf[mysqld] pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlinnodb_buffer_pool_size = 8Gsymbolic-links=0server...

2019-09-29 10:50:39 11781

原创 自定义ansible模块

根据业务需要,需要自己写一些定制化ansible模块,网上这方面的资料挺少的。下面是一个操作rancher的模块ANSIBLE_METADATA={ 'metadata_version': '1.1', 'status': ['preview'], 'supported_by': 'community'}DOCUMENTATION = '''---module:...

2019-09-27 15:13:17 28318

原创 基于Fabric+多线程写了一个公共类

背景就是为了批量安装软件方便一点,使用方法if __name__ == "__main__": options, args = opt() if len(args) == 0: parser.print_help() sys.exit(1) for project in args: try: # 加...

2019-09-10 15:04:55 28393

原创 分享一个go发送报警的客户端

用到的技术:http使用post提交json数据代码仅供参考,不要直接拿去用,因为需要配合一个服务端去接收。package mainimport ( "bytes" "encoding/json" "fmt" "github.com/urfave/cli" "io/ioutil" "log" "net/http" "os" "time")var ( al...

2019-09-09 15:57:30 28513

原创 Prometheus报警规则

node_exporter磁盘空间大于80报警 - alert: "node_disk_root" expr: round((1-sum(node_filesystem_avail_bytes{mountpoint="/"}) by (instance, mountpoint)/sum(node_filesystem_size_bytes{mountpoint="/"}) by ...

2019-09-09 15:51:54 28965

原创 使用ansible批量安装Prometheus node_exporter

使用pip install ansiblemkdir -p /etc/ansible/touch /etc/ansible/hosts修改hosts主机配置文件,把需要安装的服务器,按照下面格式写[node]172.16.170.127 ansible_ssh_user=root ansible_ssh_pass="123456"172.16.170.128 ansible_ssh...

2019-09-09 15:47:49 11562

原创 蓝鲸bk-sops源码学习二:流程组件注册实现原理

研究背景自己的项目都是python3.6开发。想使用蓝鲸的流程系统,真是千难万难。魔改路上真是一路坎坷。由于BK-SOPS需要结合蓝鲸的一整套服务才能够运行,所以单独把标准运维的流程系统抽出来然后融合进自己的系统。看看蓝鲸标准运维的功能多元接入支持:标准运维对接了蓝鲸通知、作业平台、配置平台等服务,作为官方标准插件库提供服务,还支持用户自定义接入企业内部系统,定制 开发标准插件。可视化流...

2019-08-23 11:32:05 28821 7

原创 Python安装vsphere-automation-sdk-python

git clone https://github.com/vmware/vsphere-automation-sdk-python.gitcd vsphere-automation-sdk-pythonpip install --upgrade --force-reinstall --ignore-installed -r requirements.txt \--extra-index-ur...

2019-07-05 10:02:57 28848 1

原创 k8s安装完成之后的各种坑

解决k8s创建pod报错No API token found for service account “default”, retry after the token is automaticallyopen /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file oryum reinstall ...

2019-07-04 15:06:34 29197 1

原创 蓝鲸bk-sops源码学习一:流程图前端二之节点创建

来说说怎么生成流程图中的节点吧。修改源码里的反向代理配置修改一下:frontend/desktop/builds/webpack.dev.config.js源码这里使用nodejs做了一个反向代理const proxyPath = [ '/o/bk_sops/api/*', //修改一下,改成把前面的改成demo数据的url,例如我的是/api/* .....proxyP...

2019-06-20 11:16:22 28890

空空如也

空空如也

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

TA关注的人

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