超简单!基于日志的 Darwinia 验证人节点监控预警

一般来说,监控 Substrate 框架开发的区块链节点,可以使用官方推荐的 Prometheus + Grafana 技术栈。在节点数量比较多的情况下,这套方案的优势比较容易体现出来,我给公司的官方节点也是这么配的。不过近期 Darwinia 主网上线,有不少同事想要跑自己的验证人(validator)节点。对于他们来说: 搭建一套 Prometheus 还要自己调面板和规则,成本实在太高; 只用 PM2、Supervisord、Systemd 之类的守护进程通常只能保证进程没挂,但节点是否正常出块是未知的(例如断网、0 Peer 的情况,节点进程还在,其实已经掉线了)。 为了解决以上这两个问题,我搞了一套非常简易的、基于日志的监控预警方法。

September 29, 2020 · Wi1dcard

List All IP Addresses and the Number of Connections to a Port

It’s been a while maintaining the proxy services for my work friends who are in Beijing office. These days I tried to collect some basic metrics like online IP addresses and its connections. And I found a very simple way to do it with only netstat and several text process tools.

November 13, 2019 · Wi1dcard

允许 macOS 安装任何未签名的 App

sudo spctl --master-disable

June 14, 2019 · Wi1dcard

我如何实现 Laravel-China 全自动系列文章发布

在早期 轻松部署 Laravel 应用 课程开始编写之前,就考虑到一个非常重要的问题:如何保证 Laravel-China 上发布的文章与 GitHub 仓库内的 Markdown 源文件保持同步?

March 22, 2019 · Wi1dcard

使用 AppleScript 精确地设置 macOS 窗口大小

博客又跳票一阵子,不过最近并没有闲着,而是把业余时间全部投入到了 Laravel 部署课程。在写作时经常需要对窗口截图,为了提高阅读体验,需确保截图大小统一;因此如何让窗口 快速 地缩放为指定像素的 精确 大小,成了一个不可或缺的需求。

March 8, 2019 · Wi1dcard

在 Oh-My-Zsh 内设置命令行标题

前些天给命令行设置标题遇到一奇葩问题,最终调试发现是 Oh-My-Zsh 的锅。

February 21, 2019 · Wi1dcard

Linux 中模拟多种系统负载的方法

近期在研究系统监控预警,包括但不限于:CPU 使用率预警、内存使用率预警、磁盘使用率预警以及 IO 预警。 在测试过程中,需要模拟系统负载来验证预警规则是否有效。故总结几种模拟负载的方式,以供日后查询。

January 22, 2019 · Wi1dcard

在终端内排序 Markdown 表格

序 最近新项目写 README,在编排实体命名协定中英对照的时候,有使用到 Markdown 的表格。那么如何按照某列的字母顺序排序 Markdown 表格呢?实际上,一条 Shell 命令就足以解决。请看大佬的实现。 正文 TableFlip 目前还无法根据列排序表格. 所以我们不得不使用其他方法,比如 Shell 或者 Terminal 命令. 首先,我们假设你的 Markdown 表格由一个两行的表头开始,并且每行开头都有管道操作符(|),就像这样:

August 26, 2018 · Wi1dcard

Git 仓库查找已追踪的大文件

当我们的 Git 仓库越来越大,或者不小心提交了二进制大文件,如何快速找出仓库内的「罪魁祸首」? 实践 实际上非常简单,一条命令就能搞定。 git rev-list --objects --all \ # | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \ | sed -n 's/^blob //p' \ | sort -r -n -k 2 \ | head -10 \ | cut -c 1-12,41- \ | numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest 注意,在 macOS 使用此命令需要安装 brew install coreutils --with-default-names。

August 10, 2018 · Wi1dcard