一般来说,监控 Substrate 框架开发的区块链节点,可以使用官方推荐的 Prometheus + Grafana 技术栈。在节点数量比较多的情况下,这套方案的优势比较容易体现出来,我给公司的官方节点也是这么配的。不过近期 Darwinia 主网上线,有不少同事想要跑自己的验证人(validator)节点。对于他们来说:
搭建一套 Prometheus 还要自己调面板和规则,成本实在太高; 只用 PM2、Supervisord、Systemd 之类的守护进程通常只能保证进程没挂,但节点是否正常出块是未知的(例如断网、0 Peer 的情况,节点进程还在,其实已经掉线了)。 为了解决以上这两个问题,我搞了一套非常简易的、基于日志的监控预警方法。
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.
sudo spctl --master-disable
在早期 轻松部署 Laravel 应用 课程开始编写之前,就考虑到一个非常重要的问题:如何保证 Laravel-China 上发布的文章与 GitHub 仓库内的 Markdown 源文件保持同步?
博客又跳票一阵子,不过最近并没有闲着,而是把业余时间全部投入到了 Laravel 部署课程。在写作时经常需要对窗口截图,为了提高阅读体验,需确保截图大小统一;因此如何让窗口 快速 地缩放为指定像素的 精确 大小,成了一个不可或缺的需求。
前些天给命令行设置标题遇到一奇葩问题,最终调试发现是 Oh-My-Zsh 的锅。
近期在研究系统监控预警,包括但不限于:CPU 使用率预警、内存使用率预警、磁盘使用率预警以及 IO 预警。
在测试过程中,需要模拟系统负载来验证预警规则是否有效。故总结几种模拟负载的方式,以供日后查询。
序 最近新项目写 README,在编排实体命名协定中英对照的时候,有使用到 Markdown 的表格。那么如何按照某列的字母顺序排序 Markdown 表格呢?实际上,一条 Shell 命令就足以解决。请看大佬的实现。
正文 TableFlip 目前还无法根据列排序表格. 所以我们不得不使用其他方法,比如 Shell 或者 Terminal 命令.
首先,我们假设你的 Markdown 表格由一个两行的表头开始,并且每行开头都有管道操作符(|),就像这样:
当我们的 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。