很久没有更新博客,不是忘了初心,只是在时间上确实没有以前那么宽裕。 自从换了工作,内网办公后,重心一直在更好的融入新公司当中,新公司的业务更广,技术栈更全面,可遇见的问题更多,Wiki上的记录也让人收获颇丰。但是无法将记录分享与外部。 下半年还是希望重新开启博客之路,将自己的所学所思分享一下。
curl中的连接和代理以及证书穿透
curl中的连接和代理以及证书穿透
1.curl中的主机名解析与技巧
1.1编辑hosts文件,改变域名指向
vim /etc/hosts
182.61.200.6 www.baidu.com1.2指定Host头
HTTP客户端一般会通过Host:标头告诉HTTP服务器它要连接到哪个服务器,因为通常同一个HTTP服务器实例会有多个名字
    curl -H "Host: www.example.com" http://182.61.200.6/
注意点: HTTPS服务器通信时,只使用Host:标头是不够的。TLS协议中有一个单独的扩展字段,称作SNI(Server Name Ind...apisix中etcd的集群备份和恢复
1.备份
ETCDCTL_API=3 etcdctl snapshot save snapshot.db
恢复
#2.查看备份状态
ETCDCTL_API=3 etcdctl  snapshot status snapshot.db -w=table
#3. 还原快照
kubectl  cp /root/temp/snapshot.db  -n ingress-apisix  apisix-etcd-0:/tmp/
kubectl  cp /root/temp/snapshot.db  -n ingress-apisix  apisix-etcd-1:/tmp/
kubectl  ...Redis连接池Wireshark抓包分析
Redis连接池Wireshark抓包分析
1.文章背景
 因线上redis连接池出现i/o timeout,遂想通过抓包分析redis连接池的各配置参数。
 连接相对于其他对象,创建成本较高,资源也有限。如果没有连接池,在高并发场景下,连接关闭又新建,很快就会因为过多的TIME_WAIT(连接主动关闭方)导致无法创建更多连接了,程序被压死。
 本文主要确认:
 1.redis连接池是否复用
 2.redis连接池超时分析
 3.redis连接池直接替换(加锁)
 ...
ElastAlert监控部署
获取k8s中pod日志上传oss输出到企业微信
获取k8s中pod日志上传oss输出到企业微信 //目的: 一键获取Pod日志,方便给其他人查看 //方式: //1.通过client-go获取pod日志 //2.将pod日志上传值oss //3.将返回的链接输出到企业微信 //注意点: //1.参考kubectl log源码去写的 //2.上传值Oss信息PutOSSFile函数我涂抹了,需要自己写
package main
import (
    "bytes"
    "context"
    "encoding/json"
    "errors"
    "flag"
    "fmt"
    "github.com/...k8s集成企业微信通知第一版
//k8s集成企业微信通知第一版 //目的: 想将k8s的更新信息通知到企业微信里面 //现状: 目前是第一版,可以正常运行,可能存在bug,也需要进一步调优 //设计思路: //1.通过informer去获取k8s状态 //2.将service,pod,deployment,statefulset,job,crontab,sa,configmap,secret,ingress进行工厂实例化 //3.通过AddEventHandler去获取add,update,delete状态 //4.通过反射将判断资源类型,然后发送到企业微信通知 //5.update有这一块存在很多问题,一个资源更新...
gitlab升级后问题 (支持golang私有仓和兼容多域名拉取)
公司证书过期时间扫描(golang)
公司证书过期时间扫描(golang)
// 将公司所有A记录域名解析导出
// 将域名拼接为https://+域名
//设置超时时间,并发扫描域名
//无响应,不正确域名直接抛弃
//打印所有有结果域名过期信息
package main
import (
    "bufio"
    "context"
    "fmt"
    "io"
    "log"
    "net/http"
    "os"
    "strings"
    "sync"
    "time"
)
type Cert struct {
    Name string //域名
    Startt...获取通过官方api获取docker状态
获取通过官方api获取docker状态
写的不好仅供参考。
package main
import (
    "context"
    "encoding/json"
    "fmt"
    "github.com/docker/docker/api/types"
    "github.com/docker/docker/client"
    "github.com/robfig/cron/v3"
    "github.com/shirou/gopsutil/v3/cpu"
    "github.com/shirou/gopsutil/v3/mem"
    "io/i...