为什么 Prometheus 监控不到 Pod 磁盘空间?原因分析与解决
问题因为业务原因会把 log 写入到 pod 里,同时控制台也会打印一份,而我们的日志搜集都是统一使用 filebeat 从主机层面进行收集控制台日志,pod 里的日志是无用的,也没有挂载外部存储,为了避免 pod 日志膨胀把 node 节点磁盘打满,于是做了个 pod 磁盘占用的 Grafana 大盘,但是过程中发现有些集群没有这个指标。 发现问题在 Grafana 中,根据公式 来查询,部分集群无数据,有些集群有数据,但是只有 node 节点,pod 标签的值是空的。 没有 pod 标签,只能根据 instance 进行聚合。 排查问题先到 Prometheus 进行查询数据:可以看到数据里面确实没有 pod 标签,自然也取不到 pod 级别的磁盘使用情况。 然后使用 kubectl 查看原始数据: 得到的结果是: 可以看到原始的数据就没有 pod 信息,而 Grafana 正常的集群,查到的 pod 标签就有值,比如下面(腾讯云 TKE): 原因根因是因为 container_fs_usage_bytes 这个指标,在 docker 运行时环境下, docker...
使用RetroArch玩步步高电子词典游戏
https://github.com/ThisBoringWorld/gam4980 这个是一个 步步高 4980 的电子词典模拟器项目。 先编译出动态链接库文件,作为 RetroArch 的核心。 打开 RetroArch,找到 设置 – 文件夹 找到系统 BIOS,把 8.bin 和 E.bin 放到这个文件夹下的 gam4980 目录下 直接启动核心,就相当于启动了一台 步步高朗文 4980 电子词典。。 这个小和尚又出来练武了。。。
彻底删除CCLibrary
尽量使用干净的方式来安装 Photoshop 了,但还是有个 CCLibrary 的启动项 正常来说,启动项的删除只需要检查下这几个文件夹,把 Adobe 的 plist 删除即可: 但是这几个文件夹删干净了之后,还是有。 于是使用命令: 刷新缓存
在 Nginx 中禁止 IP 直连与域名暴露
说明比如漏洞扫描工具会扫描出这种漏洞(直接访问 https://1.1.1.1 ):SSL Certificate Is About To ExpireSSL Certificate Name Hostname Mismatch只是 Nginx 开放到公网,也并不会直接通过 IP 地址来访问,为了消除这个漏洞影响。 不返回数据可以修改 nginx 的默认站点配置,直接返回 444(444 状态码是 Nginx 特有的,即直接关闭链接) 这是一个最简单的配置,配置完成后,浏览器访问效果: 虽然不返回数据了,但是还是会泄露证书信息。 禁止发送证书加上配置:ssl_reject_handshake on IP 地址直接访问的效果,不但被禁止打开。而且浏览器里看不到证书信息。 访问正常的域名正常:
使用 RustFS 自建对象存储
使用 Docker 部署准备配置 .env 准备 Docker 启动脚本 nginx 配置API 接口 控制台页面 配置存储桶权限默认权限为私有,需要用 apikey 才可以上传与下载。 先到访问密钥里面创建一个 APIKey 进入 存储桶 -> 设置 点击访问策略 旁边的编辑 选择自定义策略,私有写公有读 的 策略内容为: 使用 CURL 操作对象存储curl 操作对象存储,或者测试对象存储权限等。可以参考使用cURL命令管理对象存储(s3)
使用cURL命令管理对象存储(s3)
公共存储桶(无须认证) 私有存储桶(需要认证)上传文件 下载文件
AGENTS.md
这个文件可以让 AI 自己生成,所有 AI Agent 都会读取。claude.md 只有 claude code 这个 agent 可以读取。
Prometheus使用kubeconfig做k8s的service 自动发现监控
之前的写法:把 pod ip 写入配置文件。如: 痛点分析: 在 Kubernetes 中,直接使用 Pod IP 进行监控存在明显的局限性:一旦 Pod 发生重新部署或被节点驱逐,Pod IP 就会发生漂移,导致监控端必须频繁手动更新目标 IP。 如果转而使用 Service 地址进行监控,在单副本(Single Pod)情况下尚可正常工作;但若处于多副本(Multiple Pods)场景下,Service 自带的负载均衡(轮询机制)会导致每次监控指标抓取(Scrape)流量被随机分发到不同的 Pod 上。这不仅会导致时序数据出现剧烈的指标跳变(Data Fluctuation),还会引发 Counter(计数器)等类型的数据因无法正确累加而产生成倍的统计偏差(而正常的业务预期应当是获取所有 Pod 的数据总和)。 如果你的 kubeconfig 只有某个命名空间的权限,则需要指定命名空间,不然会因为权限被拒绝无法继续执行下去。 这样就算没有所有权限也可以进行抓取到 service endpoint metrics 了
定制Windows系统镜像iso
从 iso 文件中提取出 install.wim 文件 dism 解压 wim 文件到一个干净的 ntfs 分区或文件夹里 查看 wim 的 index id 挂载镜像到一个空目录 安装 Windows 更新补丁 ⚠️ 如果忘记执行 /Commit,所有更改都会丢失。如果只想丢弃更改并卸载,则使用 /Discard 替代 /Commit。 清理冗余更新 安装 winappx 软件包 其他常用命令 制作成 iso 镜像
使用create-dmg工具制作dmg安装包
简介create-dmg 是一个用来创建磁盘镜像文件(dmg)的 shell 脚本命令行工具。本文将介绍如何使用 create-dmg 来创建一个 dmg 磁盘镜像文件,即 macOS 系统的安装包。 准备工作create-dmg 可以通过 Homebrew 来安装,使用以下命令安装 create-dmg : 创建 DMG 文件在创建 dmg 文件之前,确保你的应用程序已经打包好,并且所有的资源文件都已经放置在正确的位置。通常为 xxx.app 的 bundle 形式文件。 创建一个文件夹,将你的应用程序拖放进去。这个文件夹将作为 dmg 文件的根目录。这里以 dmg-demo 作为目录为例: 只需要额外提供一张背景图即可。当然也可再提供一个 icns 图标文件作为磁盘镜像文件的图标(双击 dmg 后,桌面显示的磁盘镜像图标) 如图,上面为默认的磁盘镜像图标,下图为自行替换的图标: 在应用程序文件夹所在的目录打开终端。然后运行以下命令: 这个命令中包含了多个参数: --volname :设置卷的名称。 --background :设置窗口的背景图。 --windo...







