使用Python识别验证码 Muggle OCR
最近发现个 ddddocr,识别率很高,识别速度还很快:使用Python识别验证码 ddddocr 以前用过什么 pytesseract 识别效果很差,还需要电脑上安装 Tesseract OCR 的软件,但是使用下来,效果不好,后面也用过 PaddleOCR 可以识别,但是识别速度比较慢,成功率也不高。后面又看到了这个开源工具,吹牛逼比较厉害,号称自己是验证码识别的最高境界,就试试看。官方的 GitHub 地址是:https://github.com/litongjava/muggle_ocr 效果展示 环境OS: Windows 11Python: python-3.10.10-amd64 安装这个开源程序在 pypi 仓库上被移除了,需要在 GitHub 上将源码包下载下来安装。 下载到本地,解压后,打开 cmd 命令提示符, 123456REM 创建虚拟环境python -m venv venvREM 安装muggle_ocrcd muggle_ocr-mainpython setup.py install 报错处理error: numpy 2.2.1 is...
nginx反向代理的context path
返回请求 uri在 Nginx 中,可以使用 $request_uri 来表示请求 uri, 配置如下; 123456789server { listen 80; server_name example.com; location / { add_header Content-Type text/html; return 200 "$request_uri\n"; }} 这里再使用另一台 nginx 反向代理到这台 nginx 就可以测试请求的 uri 了。 测试 nginx 的反向代理 content path1123location / { proxy_pass http://192.168.200.12;} 结果是 curl localhost/a/b/ –> http://192.168.200.12/a/b/ 2123location /a { proxy_pass...
使用kubeadm部署一套高可用k8s 1.32集群 for AlmaLinux9(RHEL9)
基于 AlmaLinux9 使用 kubeadm 搭建集群, ubuntu部署文档, 有疑问的地方可以看 官方文档, 本教程需要能访问 国际互联网 。不能的话,需要解决镜像拉取问题、yum 安装组件的问题。 准备机器 我的机器详情如下, 配置至少为 4C4G hostname IP 作用 master1 10.0.0.11 k8s master 节点 master2 10.0.0.12 k8s master 节点 master3 10.0.0.13 k8s master 节点 worker1 10.0.0.21 k8s worker 节点 worker2 10.0.0.22 k8s worker 节点 每台机器都做域名解析,或者绑定 hosts(直接使用 ip 地址会有警告) 12345vim /etc/hosts10.0.0.11 master110.0.0.12 master210.0.0.13 master3 每台机器都关闭防火墙和 SELinux 负载均衡机器必须要关闭,因为 6443 不是 nginx 的标准端口,会被...
Grafana表格绘制
选择一个关联标签instance 是机器 ip,不会重复,所以我用这个做关联字段。第一个查询我会保留多一些标签,(可以使用 sum by ... (instance) 保留想要的标签)其他的查询尽量只保留关联字段。 默认配置了多个查询,并将 Grafana 图表类型设置成 table 后,再将查询的格式设置成 Table,显示如下,有以下几个问题: 整合多个查询在一张表里面现在显示的是 3 个查询,通过一个选框来切换的,我们想要让这 3 个查询显示在一个框中,可以在 Grafana 的 Transform data 中增加一个 Join by field, 我这里以 instance 这个字段做关联,也就是说同样的 instance 认为是一条数据。可以看到展示出来只有一条数据了,并且选框没有了。 移除不想展示的字段上面可以看到数据已经被关联成了一条,但是有很多不想显示的字段,在 Transform data 中增加一个 Organize fields by name,经过调整后 修改字段单位上面的运行时间,单位是秒,需要调整一下单位,在 Override...
使用RedisShake进行Redis迁移
对于自建的 redis, 我们可以将 rdb/aof 文件拷贝到目的 redis, 启动恢复, 但是云 redis 或者某些特殊情况, 比如没有云平台的权限等等情况, 可以使用工具来进行迁移. RedisShake 是阿里云 Tair 团队 积极维护的一个项目。它的演变可以追溯到其初始版本,该版本是从 redis-port 分支出来的。官方文档https://tair-opensource.github.io/RedisShake/zh/guide/introduction.html 安装12wget https://github.com/tair-opensource/RedisShake/releases/download/v4.0.0/redis-shake-linux-amd64.tar.gztar xf redis-shake-linux-amd64.tar.gz 同步迁移创建一个配置文件 redis_sync.toml 12345678910111213[sync_reader]cluster = false #...
Elasticsearch索引生命周期配置
参考https://www.cnblogs.com/feifuzeng/p/13563430.htmlhttps://blog.csdn.net/feiying0canglang/article/details/129789161 这里以 Elasticsearch 7.17.14 为例,7.8 版本之前与之后有一点区别。7.8 之后的 API 是:_index_template,7.8 之前的命令是:_template 设置索引模板模板是为了让创建的索引按照一定的规则,比如索引按天分割,手动给每个索引做配置太麻烦 创建生命周期策略1234567891011121314151617# 设置ingress日志保留14天,超过14天删除。PUT _ilm/policy/ingress-log-retention-policy{ "policy": { "phases": { "hot": { "actions":...
在Windows中使用msys来运行linux命令
为什么不用 WSL主要原因有以下几点: WSL 访问 Windows 的路径和原生 Windows 不一致,需要手动或者 wslpath 命令来转换 在 Windows 的命令行运行 wsl 命令的时候,需要通过 wsl <linux命令> 这种方式来实现,并不是原生的 Windows 命令写法。 WSL 启动耗时问题(倒还好,影响不大。) 下载安装官网地址:https://www.msys2.org/安装直接下一步下一步即可。 不同的启动器之间的区别请看:https://www.msys2.org/docs/environments/ 增加环境变量或者 win + R 输入 sysdm.cpl 点击 高级 环境变量 进入环境变量配置界面: 一般来说建议修改用户变量里面的 PATH 即可,添加一个路径:C:\msys64\usr\bin 然后就可以正常使用了。 常用技巧包管理使用的是 pacman ,使用文档可以看这里:https://www.msys2.org/docs/package-management/ 比如安装 vim,可以执行 pacman...
HTTPS的原理,使用HTTPS就一定是安全的吗?
HTTPS 是什么以前一直以为 HTTPS 是一种与 HTTP 类似的应用层协议,后来才发现 HTTPS 并不是一种协议。https 只是在 URI 中作为 protocol identifier 罢了。HTTPS 其实是 HTTP Over TLS( RFC2818 )的简称,也就是运行在 TLS 协议上的 HTTP 协议,使用 TLS 协议对 HTTP 数据进行加密,从而保证了安全性。 TLS 协议简介HTTPS 的核心就是 TLS 协议,那么 TLS 协议又是什么呢?TLS 的全称为 Transport Layer Security,也就是在传输层保证安全 RFC5246。主要分为以下四个协议: handshake protocol,用来建立连接、身份认证、密钥协商 alert protocol,用来关闭连接 change cipher spec protocol,用来表示开始使用协商好的加密方式进行数据传输 application data protocol,用来传输密文 TLS 协议中最重要的就是 handshake...
生产环境Prometheus监控架构记录
比如有 30 家客户,每一个客户都有自己的 Kubernetes 集群,部署方式千差万别,还有客户不使用 Kubernetes 的,使用虚拟机部署,那么怎么对这么多客户的机器、服务进行有效的监控,本文记录一下监控的架构方案。 监控架构图 说明:Prometheus Core 是一个核心的 Prometheus,所有其他 Prometheus 的数据都汇总到这里,查询、告警等都使用这个 Prometheus Prometheus Core这个是核心的 Prometheus,其他客户的 Prometheus 通过联邦接入或者 远程写 (remote write) 的方式来写入数据到这个 Prometheus 中。Prometheus Core 可以更换成 VictoriaMetrics 联邦接入配置123456789101112131415161718192021222324252627282930313233343536# http 接口联邦- job_name: 'federate-http' scrape_interval: 30s ...
使用snmp exporter对交换机、服务器等进行监控
安装到 GitHub 下载一个可执行文件,直接运行即可,或者使用 systemd 来运行,也可以直接部署到 Kubernetes 中。https://github.com/prometheus/snmp_exporter systemd 配置: 12345678910[Unit]Description=snmp_exporterAfter=network.target[Service]ExecStart=/opt/snmp_exporter/snmp_exporter --config.file=/opt/snmp_exporter/snmp.ymlRestart=on-failure[Install]WantedBy=multi-user.target 交换机或服务器打开 snmp 协议这一步需要在交换机或服务器的 ipmi 上配置,交换机这种网络设备一般都只支持 snmp 协议来获取数据,比如说每个接口的状态(有没有插网线等)对于服务器,像 cpu 占用率、内存使用率这些数据使用 node_exporter 就可以做,为啥还要使用 snmp_exporter...