很久没有更新博客,不是忘了初心,只是在时间上确实没有以前那么宽裕。 自从换了工作,内网办公后,重心一直在更好的融入新公司当中,新公司的业务更广,技术栈更全面,可遇见的问题更多,Wiki上的记录也让人收获颇丰。但是无法将记录分享与外部。 下半年还是希望重新开启博客之路,将自己的所学所思分享一下。
curl中的连接和代理以及证书穿透
curl中的连接和代理以及证书穿透
1.curl中的主机名解析与技巧
1.1编辑hosts文件,改变域名指向
vim /etc/hosts
182.61.200.6 www.baidu.com
1.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/...
gateio
//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...