Filebeat + Elasticsearch + Kibana 轻量日志收集与展示系统

by wzyboy on

有个段子是说现在创业公司招人的如果说自己是「大数据」(Big Data),意思其实是说他们会把日志收集上来,但是从来不看。段子归段子,近些年所谓「微服务」「容器化」等「热门技术」的发展,的确促进了日志收集等技术的发展。而 ELK (Elasticsearch + Logstash + Kibana) 也不再是日志收集与展示系统的铁三角了。本文介绍用 Filebeat 代替 Logstash Shipper,用 Elasticsearch Ingest Node 代替 Logstash Indexer 实现一个更加轻量高效的日志收集与展示系统。 一、Beats 与 Logstash 一样,Beats 也是由 Elastic 公司出品;与 Logstash 不同,Beats 只是 data shipper。Beats 家族共享 libbeat 这个库,每个产品分别实现对不同数据来源的收集。目前官方实现有: Filebeat —— 文件 Metricbeat —— 系统及应用指标 Packetbeat —— 网络抓包分析,如 SQL, DNS Winlogbeat —— Windows 系统日志 Auditbea ……

BorgBackup —— 增量备份方案

by wzyboy on

生活在电子时代,人们每天都在产生数据。写过的文字,拍过的照片,收集过的网络内容,都是数据。对于程序员们来说,写过的代码,服务器的数据库、日志等,也都是数据。然而硬盘故障、服务器宕机等灾害却随时都有可能危害数据的安全。所以数据需要备份。正如某程序员的语录: 冗余不做,日子甭过;备份不做,十恶不赦! Xin LI本文介绍一款优秀的备份方案:BorgBackup。 一、为什么选择 BorgBackup BorgBackup 的主要优势(总结自官方文档): 高效:BorgBackup 会将文件按数据块去重,只有改动的数据块才会被备份。一个 25 GiB 的虚拟机磁盘文件,只改动了 1 GiB,那就只会新增备份这 1 GiB 的数据; 高速:核心算法使用 C 编译,使用缓存快速跳过未改动过的文件以加快备份速度; 加密:数据默认是 AES-256 加密并且 HMAC-SHA256 校验的; 压缩:支持多种压缩算法,可自动检测数据是否属于可被压缩的类型; 异地备份:原生支持 SSH 备份到异地服务器,也可使用 NFS 等网络存储; 可挂载:可以直接用 FUSE 挂载一个备份存档读取里面的数据; 跨平台:支持 Linux, ……

Recuérdame

by wzyboy on

Disney 的动画电影 Coco 以墨西哥节日亡灵节(Día de Muertos)为背景,讲述了小男孩 Miguel 追寻自己梦想的故事。电影中,已经去世的亲人会进入亡灵的世界继续生活,并且只要有生者记得他们,并在亡灵节当天把他们的照片放在祭坛上,他们便可以在那天暂时回到生者的世界看望自己的亲人。而一旦不再有任何生者记得他们了,他们便会化为一片光辉,达到「终极死亡」。 最近将博客从 WordPress 迁移到了 Lektor,昨天和 Jimmy Xu 聊天时谈到迁移过程中遇到的各种有趣的事情,也聊到了 link rot 的问题。继而想到,我们在互联网上发布的内容,包括创作的文字、拍摄的照片与视频等,只要还有人转载、引用,即使创作者已经自己不记得了,互联网也会记得这些内容,而当整个互联网都忘记了这些内容,那这些内容也就「终极死亡」了。 以下内容主要由我和 Jimmy Xu 的聊天记录整理而成。有删改。 外链图片 在 WordPress 里上传的图片都是存储在 /wordpress/wp-content/uploads/ 目录里的,而迁移到 Lektor 之后这些路径就不再存在了。自己文章里引用的图片地址 ……

Lektor —— 静态内容管理系统

by wzyboy on

尝试了一下 Lektor 这个静态内容管理系统,觉得挺好用的,于是把博客从 WordPress 迁移到了 Lektor。 一、动态博客与静态博客 本博客的历史可以追溯到 2009 年,至今已经 8 年,曾使用过 Blogger 和 WordPress 作为博客软件。头几年写博客热情高涨,比较高产,而近几年由于种种原因,已经很少写博客了,最近两年基本是一年一更的节奏。博客本身也疏于打理,偶尔想起来,登录一次 WordPress,等待我的却是满满一筒的垃圾评论(被反垃圾插件过滤的),偶尔还能从垃圾筒里捞出几个被误杀的非垃圾评论。除此之外的例行便是点一下 WordPress 里的升级按钮,把 WordPress 本身和各种插件、主题全部更新成最新版本。 前段时间无意中发现了 Lektor 项目。阅读了一下作者的自述,产生了不少共鸣: The longer I'm programming and creating software, the more I notice that I build a lot of stuff that requires maintenance even though it shoul ……

collectd + Graphite + Grafana 搭建网络质量监控系统

by wzyboy on

前段时间入手一台 Gen8 服务器,主要用来做网络存储。光做网络存储显然太浪费了,感谢 ESXi,一机多用很方便。本文介绍如何在家庭服务器上搭建简单好用的网络质量监控系统。 一、选材 说到网络质量监控,大部分人会想到著名的 SmokePing。SmokePing 的确是经典工具,但未免老旧,配置也略复杂。本文使用 collectd 作为收集工具,Graphite 作为存储工具,Grafana 作为展示工具。这些工具符合「专做一件事情并把这件事情做好」的 Unix 哲学,配置灵活、功能强大。 整体结构是这样的: 二、收集:collectd 正如其名字所暗示的那样,collectd 是一个收集系统各项指标的进程。它自带很多插件,也可以通过自定义插件和数据类型的方式增加更多的收集项。网络质量监控主要用到其中的 ping 插件,该插件依赖 Liboping 这个库。这两个项目在主流 GNU/Linux 发行版中都有打包。 使用你最喜爱的包管理器安装 collectd 和 liboping 之后,使用你最喜爱的编辑器打开 /etc/collectd.conf 文件。这是一个带有详尽注释的超长配置文件,要让 ping ……