自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

运维打怪晋级之路

运维打怪晋级之路,终极目标是运维架构师

  • 博客(211)
  • 资源 (8)
  • 收藏
  • 关注

原创 浏览量达到20万

庆祝一下🎉。

2023-04-11 19:25:56 193 1

原创 Logstash 解析Kong字符串删除json嵌套字段

Logstash收集Kong的日志,有字段类型不一致导致报错

2023-03-28 11:14:07 344

原创 docker安装jiacrontab可视化任务管理工具

简介:jiacrontab提供可视化界面的定时任务管理工具。允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。允许设置脚本的最大并发数。一台server管理多个client。每个脚本都可在server端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时…。允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。友好的web界面,方便用户操作。脚本出错时可选择邮箱通知多人。

2023-03-21 17:18:26 880

原创 K8S集群之-ETCD集群监控

ETCD集群监控

2023-03-16 14:20:26 1312

原创 2023开年CSDN中奖了啦

2023开年CSDN中奖了啦!继续加油成长。

2023-02-02 12:08:47 309

原创 如何实现自动化部署node-exporter监控主机

都会自动携带。今天我们来讨论一下node-exporter如何实现自动化安装,如果大家有更好的方案可以留言讨论。这里主要看一下shell脚本这块,脚本使用Jenkins+Ansible分发执行。2、使用Jenkins+Ansible+Shell自动化部署。3、使用Shenll半自动化部署。

2023-01-11 17:57:13 393 1

原创 在linux环境中将Excel转换成文本

在运维自动化过程中有这样的需求,有公司使用公共文档Excel维护信息,这些信息需要运维及时获取实现自动化任务,这些自动化任务以shell为例,shell不能直接操作Excel文档,需要将Excel转换成文本然后在解析和分析,我使用GO语言开发编译成二进制命令(之前的go编译文章可以参考 https://blog.csdn.net/qq_31555951/article/details/122177160),上传到服务器当命令使用。

2023-01-08 09:50:09 1720 2

原创 如何使用Prometheus监控主机node_exporter中删除9100只保留IP

在使用Prometheus监控主机时,使用node_exporter默认instance的值是主机IP地址和端口,我们在告警的时候使用instance时候有端口,很不方便,我在处理这个问题时是添加了一个主机IP字段。

2022-12-30 15:51:37 928

原创 CSDN的GO技能树答题

答题等你来挑战,一起学Go。

2022-12-29 18:44:29 153

原创 K8S集群宿主机CPU过高处理

K8S集群宿主机CPU过高处理今天告警收到一个K8S集群的node节点CPU使用率过高告警,经过排查是一个POD没有限制CPU使用导致的,在容器云环境中应用服务最好做CPU、MEM的限制,不然有异常的服务会导致不可想象后果。处理过程查询服务的PID通过top命令我们可以看到确实是CPU使用过高,也能查到对应的PID[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hwpRSsMj-1640770263586)(https://www.showdoc.com..

2021-12-29 17:32:22 3747 7

原创 golang程序打包成脚本部署到Linux系统

golang程序打包成脚本部署到Linux系统一、本地编译Golang程序本地代码://变量的作用域package mainimport "fmt"//单行注释//包级变量var packageVar string = "pachage var"func main(){ //函数级别的变量 var funVar string = "func var" fmt.Println(packageVar,funVar) /* 这是多行注释 以下是使用代码块功能 */..

2021-12-27 17:45:09 4122

原创 如何在k8s的pod中查询top显示真实信息

利用LXCFS增强容器隔离性和资源可见性Linuxs利用Cgroup实现了对容器的资源限制,但在容器内部依然缺省挂载了宿主机上的procfs的/proc目录,其包含如:meminfo, cpuinfo,stat, uptime等资源信息。一些监控工具如free/top或遗留应用还依赖上述文件内容获取资源配置和使用情况。当它们在容器中运行时,就会把宿主机的资源状态读取出来,引起错误和不便。安装LXCFS[root@localhost]# wget https://copr-be.cloud.f.

2021-12-21 17:23:10 2350

原创 如何搭建自己的grokdebug工具测试logstash语法糖

grokdebug 一个方便的 grok 调试工具,grok 的语法编写起来还是有点吃力的,但是使用grokdebug可以提高我们排查问题的效率,但是服务提供大多数是国外的服务器,我们在墙内服务比较困难,目前grokdebug 提供了docker 版本了

2021-12-02 11:32:05 1782

原创 K8S容器云平台查询容器TOP真实使用情况工具之Topic

K8S容器云平台查询容器TOP真实使用情况工具之Topic1、说明容器通过 cgroups和 namespace 实现了资源的轻量级隔离和限制,但容器中的/proc文件实际上是宿主机的,因此在执行 top命令查看容器运行信息时,部分指标显示不正确,例如启动时间、用户数、平均负载、cpu 使用率、内存使用率,那么如何在容器中查询top的使用情况呢?开源的二进制命令topic完美解决此问题。...

2021-09-26 16:06:56 1446

原创 kibana大屏可视化的MySQL慢日志数据收集和展示查询

ELK收集和展示Mysql慢日志数据1、收集需求Mysql慢日志要求Mysql的慢日志可以有地方查询,便于开发人员分析问题;对应的慢日志记录如下:# Time: 2021-08-19T05:28:13.275255+08:00# User@Host: gtmed_wm[gtmed_wm] @ [10.152.160.184] Id: 50278# Schema: gtmed_wm Last_errno: 0 Killed: 0# Query_time: 4.434879 Lock.

2021-09-24 17:02:37 1311

原创 20- Go 切片的使用2

package mainimport "fmt"func main() { fmt.Println("============append函数的基本使用==========") s1 := []int{111, 222, 333, 444, 555, 666} fmt.Printf("切片的长度:%v,切片的容量:%v, 切片对应的数据为:%v\n", len(s1), cap(s1), s1) s1 = append(s1, 777) fmt.Printf("扩容之后的切片s1的长度为

2021-09-16 19:19:13 84

原创 K8S容器缓存查看利器hcache的使用

缓存查看利器hcache的使用最近监控K8S的容器内存使用,发现有个容器一直在告警,此时说一下容器内存的监控,container_memory_working_set_bytes 容器使用内存 更能体现出mem usage,也是oom killer指标(建议使用),其实际组成为 RSS + Cache(最近访问的内存、脏内存和内核内存)。经查询是Cache使用的比较多,那么如何确认是那个缓存的导致的呢?使用容器缓存查看利器hcache完美解决。上传hcachehcache下载地址修改权限.

2021-09-13 18:02:32 1818 2

原创 19 - Go 切片的使用1

19 - Go 切片的使用1/* 1、切片是一个可以动态变化的数组,切片发的长度是可以变化的 2、切片的基本定义: var 切片名称 []类型 3、切片是数组的一个引用,因此切片是引用类型*/package mainimport "fmt"func main() { //切片的创建 var qp []int = []int{1,2,3,4,5} fmt.Printf("%T\n",qp) qp1:=[] int{6,7,8,9} fmt.Printf("%T\n",qp1.

2021-09-09 19:15:15 102

原创 如何开发Kibana与Elasticsearch结合的报表系统

Kibana与Elasticsearch结合定制企业报表系统选择Data Table添加最大耗时分组分桶再次添加一个分桶此时报表已经做好了!下载内容如下:此时我们还可以把kibana查询的配置转换为Lucene的查询语法,方法如下:复制Request内容进行查询如下:Lucene的查询语法如下:POST gt-isc-open-aifgw-log-openstep_2021_09_08/_search{ "aggs": { "3": { .

2021-09-08 16:11:34 609

原创 18 - Go 数组的使用

/* 1、数组是指一系列同一类型数据集合,数组长度固定 2、数组定义如下: var array [10] int 注: var关键字 array是数组的名称 10是长度 int是数组的类型 3、数组的遍历:方法1:常规遍历(for循环) 方法2:for-range遍历*/package mainimport "fmt"func main() { //数组的4种初始化的方法 var arr1 [3]int = [3]int{1, 2, 3} //最完整、规范的写法 fmt.Print

2021-09-07 18:22:27 158

原创 17 - Go 递归的使用

package mainimport "fmt"func main() { fmt.Println("GO 语言递归调用") var aa_input int fmt.Println("请输入你要查看数的阶乘?:") fmt.Scan(&aa_input) fmt.Println(Fac(aa_input)) fmt.Println(fn(9))}//求n! n!=1*2*3*4*....*nfunc Fac(n int) int{ if n>0 { retur

2021-09-06 18:23:49 152

原创 16 - Go 闭包的使用

Go 闭包的使用package mainimport ( "fmt")func Test()int{ var x int x++ return x}//函数的调用添加()就是执行func main(){ f1:=Test() //Test函数有返回值 f2:=Test() f3:=Test() fmt.Println(f1,f2,f3) //函数在每次调用的时候分配内存,调用结束后销毁,f1,f2,f3是依次调用的 fmt.Println("======匿名函数执行.

2021-09-06 13:08:11 150

原创 Grafana如何导出自己做的报表数据

Grafana如何导出自己做的报表数据

2021-09-02 11:04:08 10522 15

原创 15 - Go 匿名函数的使用

/* 1、Go 语言定义函数的时候,不能在一个函数中在定义一个函数 2、如果我们想在一个函数中在定义另一个函数,那么就可以使用匿名函数 3、所谓的匿名函数就是没有名字的函数 4、语法 func()*/package mainimport "fmt"func main() { f:=func(){ fmt.Println("这里是匿名函数") } fmt.Printf("匿名函数的类型是:%T、值是%v\n",f,f) //调用匿名函数 f() fmt.Println("

2021-09-01 17:38:52 167

原创 14 - Go 函数的基本使用

函数的基本使用package mainimport "fmt"func main() { a := 200 b := 100 res1 := Add(a, b) fmt.Printf("计算和: %d\n", res1) res2 := Sub(a, b) fmt.Printf("计算差: %d\n", res2) res3 := sum(a) fmt.Printf("计算之和: %d\n", res3) //函数调用 fmt.Println("开始调用A函数") A().

2021-08-31 18:26:08 99

原创 13 - Go 函数Debug调试

Go 函数Debug调试双击打断点Debug模式执行执行函数

2021-08-31 13:24:35 615

原创 linux文件已删除,但空间没有释放

linux文件系统问题问题原因一般说来不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件被进程锁定,或者有进程一直在向这个文件写数据等等,要理解这个问题,就需要知道Linux下文件的存储机制和存储结构。一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,数据被删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中,数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文.

2021-08-31 08:44:04 976

原创 12 - Go for循环结构

package mainimport "fmt"func main(){ //输出10次我非常喜欢Go语言 for i:=0;i<=10;i++{ fmt.Println("我非常喜欢Go语言",i) } //问题:1--100的和 var sum int= 0 for i:=1;i<=100;i+=2 { sum+=i } fmt.Println(sum)}

2021-08-24 13:30:31 106

原创 11 - Go switch选择结构

swicth选择结构package mainimport "fmt"func main(){ fmt.Println("==========基本使用==========") fmt.Println("请输入位置方向:") var position string fmt.Scanf("%s",&position) fmt.Println("您输入的变量字符串是:"+position) switch position { case "L": fmt.Println("左转.

2021-08-23 13:55:36 119

原创 10 - Go if选择结构

Go学习之 if选择结构/*选择结构也称为判断结构,如果满足条件才能做什么事情*/package mainimport "fmt"func main(){ fmt.Println("请输入您的年龄:") var age int fmt.Scanf("%d",&age) if age >=18 { fmt.Println("您已经是成年了!") if age >= 60 { fmt.Println("您已经是老年了") } else { .

2021-08-21 21:54:06 133

原创 09 - Go 其他运算符

package mainimport ( "fmt" "unsafe")func main(){ a := 123 fmt.Println(&a) //取变量的内存地址,是随机分配的,每一次都不一样使用二进制保存地址 d:=123 st:="123" //unsafe.Sizeof是输出变量占用内存的大小单位是byte字节 fmt.Println(unsafe.Sizeof(d),unsafe.Sizeof(st)) fmt.Println("===========.

2021-08-20 13:30:05 115

原创 K8S指标样图解释说明

K8S样图解释说明K8S监控指标中标签name解释K8S使用A记录域名

2021-08-19 17:23:43 228

原创 crontab没有正常执行一次

异常情况磁盘告警,发现crontab没有正常执行一次,查询异常日志如下:[root@gtcq-gt-resource2-07 shell_script]# tailf /var/log/cronFeb 3 09:35:01 gtcq-gt-resource2-07 crond[86726]: (root) FAILED to open PAM security session (Permission denied)Feb 3 09:35:05 gtcq-gt-resource2-07 cront

2021-08-19 17:22:01 282

原创 Centos7升级OpenSSH到OpenSSH_8.0p1版本

Centos7升级OpenSSH到OpenSSH_8.0p1版本1、升级要求升级至openssl 1.1.1版本升级至openssh 8.0版本ssh -V 当前查看版本2、安装telnet (以防升级失败,连不上服务器,建议弄) 4 2020-11-01 16:34:22 rpm -qa | grep telnet 5 2020-11-01 16:34:24 rpm -qa | grep xinetd 6 2020-11-01 16:34:34.

2021-08-19 17:21:07 699

原创 08 - Go 基本运算符

Go 语言学习基本运算符的使用/* 基本运算符包括:1、算术运算符 2、赋值运算符 3、逻辑运算符 4、关系运算符 1、算术运算符有哪些 + 加 实例 10 + 5 结果 15 - 减 实例 10 - 5 结果 5 * 乘 实例 10 * 5 结果 50 / 除 实例 10 / 5 结果 2 % 取模(取余) 10 % 5 结果 0 ++ 后自增(没有前自增) a:=0; a++ 结果 a=1 -- 后自减(没有后自减) a.

2021-08-19 13:05:04 109

原创 07 - Go 枚举常量

Go 枚举常量/* Go 语言定义枚举类型使用 iota 关键字 它默认开始值是0,const中每增加一行加1 枚举类型的常量使用 iota 常量生成器初始化,用于生成一组相似规则的初始化常量*/package mainimport "fmt"func main(){ const PI float32 = 3.14 const pi = 3.14 //可以在初始化不指定常量的类型 fmt.Println(PI,pi) //GO 为了提高代码的阅读性,使用()简化书写 co.

2021-08-18 14:06:28 163

原创 06 - Go 常量

/*常量:是在程序编译阶段就确定下来的值,且在运行时无法改变的值,例如圆周率;在Go程序中,常量可以是数值类型(包括整型、浮点型和复数类型)、布尔类型、字符串类型等常量的定义使用关键字 const*/package mainimport "fmt"func main() { var number int = 123 number = 456 fmt.Println(number) /* const num int num=123 此处会报错常量在初始化的

2021-08-17 13:11:26 100

原创 05 - Go fmt包是处理格式化输出和输入

//fmt包是处理格式化输出的;unsafe包可以查询变量的长度//%d 格式化整数、%s 格式化字符串、%T 使用Go语言输出值的类型package mainimport ( "fmt" "unsafe")func main() { name := "小明" score := 98 fmt.Println("姓名:" + name + "分数:" + string(score)) fmt.Printf("姓名:%s,分数:%d \n", name, score) //查询变量的

2021-08-16 15:01:07 115

原创 04 - GO 变量的定义

//go语言变量的定义/*1、声明变量就是创建一个变量,并且指定该变量存储什么类型的数据2、go生命变量的语法是: var 变量名 变量类型3、输出变量的值的时候,不能给变量添加引号4、int 默认值是0*/package mainimport "fmt"func main(){ var a int //声明一个int的变量 默认值是0 fmt.Println(a) a = 100 //变量的赋值 fmt.Println(a) var b int = 200 //变量的

2021-08-13 20:03:07 305

原创 03 - Go 语言变量的定义

Go 语言变量的定义//go语言变量的定义package mainimport "fmt"func main(){ var name string = "kk" //定义了类型,并且初始化了值 var zeroString srring //定义变量类型,但不初始化值,默认系统初始化值是空字符串 var typeString = "kkk" //定义变量省略类型,不能省略初始化值;通过对应的值类型推到变量的类型 shortString := "kkkk" //短声明.

2021-08-07 21:55:22 95 1

在linux环境中将Excel转换成文本的命令

自动化任务以shell为例,shell不能直接操作Excel文档,需要将Excel转换成文本然后在解析和分析,我使用GO语言开发编译成二进制命令,上传到服务器当命令使用。

2023-01-07

K8S容器云平台查询容器TOP真实使用情况工具之Topic

K8S容器云平台查询容器TOP真实使用情况工具之Topic,方面容器docker内部查询自己的top

2021-09-26

容器缓存查看利器hcache的使用

查询缓存使用命令hcache,已经是二进制的了,上传可以使用

2021-09-13

数据可视化利器-grafana.docx

培训文档

2021-04-09

查询服务器基本监控信息-总-1617256704896.json

查询服务器基本监控信息-总是实现服务器信息granfan使用table监控的

2021-04-01

jd云原生-技术实践与探索之路.pdf

jd云原生 技术实践与探索之路 如何实现多云环境的混合云,以及pass层

2021-03-29

运维监控汇报材料.pptx

运维监控汇报ppt

2021-03-29

Jenkins+Docker部署微服务.zip

使用jenkins搭建docker环境实现的devops自动化部署,使用的pipline和shell脚本实现的,要学习的小伙伴可以下载一下。

2020-06-09

awk-培训.docx

awk培训资料,可以学习一下linux强大的awk,我是从使用sql的方式整理的,例如:如何条件查询,如何去重复,如何对结果进行分组等

2020-06-05

攻防脚本.zip资源没有解压密码,请放心绝对安全,建议内网测试使用

测试网络恶意程序的攻防,和删除异常程序,网络不知攻燕之坊,资源没有解压密码,请放心绝对安全,建议内网测试使用。

2020-02-16

空空如也

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

TA关注的人

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