
Golang
文章平均质量分 76
分享golang自动化脚本,提高自动化运维效率
50902636
记录的知识都来自企业级生产环境实战
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
golang基于gin框架的脚手架开发
【代码】golang基于gin框架的脚手架开发。原创 2025-01-20 11:31:57 · 416 阅读 · 0 评论 -
golang标准库path/filepath使用示例
path/filepath包是一个非常重要的工具包,它提供了一系列函数用于操作和处理文件路径。在实际运维工具开发中肯定会涉及构建文件路径、解析路径中的各个部分、还是遍历目录树、读取文件等操作,path/filepath包都提供了便捷的方法来实现这些功能。参考文档:https://pkg.go.dev/path/filepath//如果路径为空字符串,Base返回.//相当于获取目录下的子文件或子目录import("fmt"//Dir函数返回路径中除去最后一个元素的部分,即路径的目录部分。原创 2025-01-18 14:38:05 · 859 阅读 · 0 评论 -
golang标准库os/exec使用方法示例
在自定义运维工具开发过程中,有时候为了降低代码复杂度,能用shell脚本或linux命令实现的,我们尽量选择此方式然后通过代码去调用执行,那么os/exec这个系统库刚好提供了相应的功能。它提供了一组函数和结构,用于调用外部程序,这些外部程序可以是系统自带的,也可以是用户自定义的。并且包中提供了一组函数,用于执行系统命令,我们可以使用它来执行系统的cmd命令行。原创 2025-01-18 14:22:44 · 828 阅读 · 0 评论 -
golang标准库archive/tar实现打包压缩及解压
这个包就是将文件进行打包和解包,通俗理解就是Linux 下的 tar 命令。主要是通过 tar.Reader 读取 tar 包,通过 tar.Writer 写入 tar包,在写入的过程中再设置一下头,详细的过程以示例的方式进行展示,可以查看代码里面的注释。标准库 tar 中文文档。原创 2024-12-30 10:33:16 · 663 阅读 · 0 评论 -
golang标准库SSH操作示例
SSH 全称为 Secure Shell,是一种用于安全地远程登录到网络上的其他计算机的网络协议。相信做运维的同学没有不了解 SSH的,比较常用的登录服务器的 shell 工具例如 Xshell、SecureCRT、iTerm2 等都是基于 SSH 协议实现的。Golang 中的的 crypto/ssh 库提供了实现 SSH 客户端的功能,本文接下来详细讲解下如何使用 Golang 实现操作 SSH 客户端,为后续运维开发的道路上使用golang编写脚本先夯实一下基础以上就是SSH标准库自己整理的知识,原创 2024-12-26 22:46:15 · 1322 阅读 · 0 评论 -
golang实现mysql实例存活检查及全量备份是否完成检查工具开发
在顶部文章中,通过golang编写了一个mysql的全量备份工具,经过验证备份工具没有问题,可以正常使用。但是在正式的生产环境中,作为运维的你怎么确认昨天的备份是成功的?最普通的方式是登上服务器手动查看,这种方式在当前的自动化运维中显得有些low了。因为生产环境中避免不了prometheus监控的接入,因此,为了解决手动确认备份成功的问题,并结合Prometheus实现备份检查告警,通过golang的cobra命令行框架编写一个备份检查工具脚本和mysql实例存活探测脚本来实现。原创 2024-10-24 00:15:00 · 935 阅读 · 0 评论 -
golang开发alertmanagerWebhook,实现prometheus+alertmanagerWebhook告警
在当今复杂多变的系统环境中,高效的警报管理和响应机制变得尤为重要。为了解决这一问题,Alertmanager作为Prometheus生态系统中的核心组件,提供了强大的警报处理功能。然而,Alertmanager的默认通知方式可能并不完全满足所有用户的需求。例如,将不同的告警发送到不同接收群体、客户自己的办公软件等,为了解决这个问题,Alertmanager Webhook 应运而生,它允许用户将Alertmanager的警报与外部媒介的Webhook集成,实现自定义的警报通知和处理流程。原创 2024-10-26 22:37:18 · 1088 阅读 · 0 评论 -
goalng命令行框架(标准库)cobra、cobra-cli安装及使用
cobra是一个go语言开发的命令行(CLI)框架,它提供了简洁的、灵活且强大的方式来创建命令行程序。它可以用于各种场景包括但不限于linux实用工具(mysql备份检查等)、开发者工具等。它包含一个用于创建命令行程序的库(Cobra 库,以及一个用于快速生成基于 Cobra 库的命令行程序工具(Cobra 命令)。原创 2024-10-24 00:00:00 · 928 阅读 · 0 评论 -
利用golang_Consul代码实现Prometheus监控目标的注册以及动态发现与配置
在实际产生环境中主要以prometheus监控为主,在使用该监控时,有个很大的问题时,需要手动修改Prometheus.yml文件,将监控指标手动添加进去,当监控指标少的时候,维护和添加都很方便,但是当一套环境中监控指标多大几百个,添加工作繁琐,这时你会想到写个shell脚本,对多个监控指标进行添加,但是你有没有考虑过此时的prometheus.yaml文件的可维护性以及当添加的监控指标越来越多时,prometheus主机的cpu、内存也随之增长,这时你该怎么处理呢?原创 2024-06-23 19:38:51 · 982 阅读 · 0 评论 -
MySQL-5.7版本数据库全量备份golang脚本
数据库备份与恢复是数据库管理中最重要的方面之一。如果数据库崩溃后却没有办法恢复,那么对企业造成的毁灭性结果可能会是数据丢失、收入减少、客户不满等。不管公司是使用单个数据库还是多个数据库来存储数百 GB 或 TB 的数据,它们都有一个共同点,即需要有一个备份与恢复方案或脚本来备份重要数据并使自身免于灾难。以下脚本主要用于全量备份,已验证MySQL-5.7版本可正常使用,如果了解golang语言,可以轻松看懂该脚本,有不对的地方请大佬们指教!!!原创 2024-06-21 00:12:44 · 1231 阅读 · 2 评论 -
Golang调用京东云sdk获取云主机信息
在最近工作中,涉及到需要统计京东云云服务器资源信息并进行汇总,但是在京东云的云服务器导出资源界面中只能导出云服务器的cpu、内存、实例id、创建时间、所属区域、主机名、ipv4地址等,如果需要磁盘信息,还需要重新导一份磁盘信息表,但是磁盘信息表中只有磁盘实例ID、磁盘大小等信息,还需要自行使用execl的vslookup函数进行对比,将每台服务器对应的磁盘信息获取出来。原创 2023-11-07 20:46:50 · 234 阅读 · 0 评论