使用 prometheus_client 写一个 exporter

在使用 Filebeat 收集系统日志时,有些网络设备的日志是通过 UDP 端口接收的,并且有多个 Filebeat 实例在使用不同的 UDP 端口同时运行。为了保证日志的完整性,避免因 Filebeat 意外停止导致数据丢失,需要监控其运行状态。首先想到的是 process_exporter,但在调研后发现,它对同名多个进程的监控配置较为复杂,难以满足需求。另一个方案是使用 blackbox_exporter 监控 Filebeat 所用端口,但深入研究后发现 blackbox_exporter 并不支持 UDP 端口探测。于是决定自己动手写一个 exporter。 ...

2023-02-07 · 4 min

Elasticsearch 跨集群迁移方案对比

elasticsearch-dump、logstash、reindex、snapshot 方式进行数据迁移,实际上这几种工具大体上可以分为以下几类: scroll query + bulk:批量读取旧集群的数据然后再批量写入新集群,elasticsearch-dump、logstash、reindex 都是采用这种方式。 snapshot:直接把旧集群的底层的文件进行备份,在新的集群中恢复出来,相比较 scroll query + bulk 的方式,snapshot 的方式迁移速度最快。 从源 ES 集群通过备份 API 创建数据快照,然后在目标 ES 集群中进行恢复,无网络互通要求、迁移速度快、运维配置简单、适用于数据量大,接受离线数据迁移的场景。Snapshot and restore 模块允许创建单个索引或者整个集群的快照到远程仓库。所以首先需要创建一个存储快照的地方,存储方案可以选择一个 NFS 的共享存储,或者对象存储。 ...

2023-01-09 · 9 min

使用 Docker 运行 Hexo 博客

原本 Hexo 是放在 Mac 上的,但是只是配过两次,对其了解不够深刻不敢乱动,这次我又回来了,近乎破釜沉舟,因为我把原本的博客毁得差不多了,只能重新搭,并且这次下定决心采用 Docker 运行,技术要用起来,才能理解的更深刻。 ...

2023-01-07 · 3 min

删除 ES 的 security-7 索引后的处理步骤

搭建了一套新环境,为了测试 Kibana 配置 LDAP,并且对 ES 中超大的索引进行导出存档。 在搭建的过程中发现,Kibana 连接 ES 失败,网上查找资料后发现解决方案,发现只要删除 .security-7 这个索引就能够清除之前设置的密码,重新设置。.security-7 索引中应该包含了用户登录等一些信息。利用 curl 命令执行删除索引的操作时,误删了另外一个测试环境的该索引,删除后,一切认证相关的功能全都失效,Kibana 无法登录,查找资料进行恢复。 ...

2023-01-07 · 1 min

Logstash 用日志时间代替时间戳

最近工作中遇到的一个问题,网络组把网络设备的“陈年”老日志传到 ELK,这样的问题就是日志的时间是过去的,但是 Logstash 在生成时间戳然后输入到 ES 时,默认的是当前的时间戳。于是需求就是将日志中的时间代替它生成的时间戳,开搞! ...

2022-12-29 · 2 min

使用 parted 操作对超大硬盘进行分区

我承认我可能是标题党了,因为每个人对“大”的理解肯定是不一样的,更何况我说的是超大。其实就是 10TB,对我一个没见过大世面的行业新人和 fdisk 来说,它确实算大的了,本文介绍对 parted 的学习和实际使用。 ...

2022-12-25 · 10 min

K8s 学习笔记_Zero2Hero

转载自黑马程序员的Kubernetes(K8S) 入门进阶实战完整教程的笔记课程链接在哔站,共同学习进步。 ...

2022-12-25 · 107 min

使用 Log-pilot 收集 k8s 中的容器日志

容器时代越来越多的传统应用将会逐渐容器化,而日志又是应用的一个关键环节,那么在应用容器化过程中,如何方便快捷高效地来自动发现和采集应用的日志,如何与日志存储系统协同来高效存储和搜索应用日志。本文将主要跟大家分享下如何通过Log-Pilot来采集容器的标准输出日志和容器内文件日志。 ...

2022-12-11 · 3 min

Shell 脚本加密的一些思考

今天同事请教我一个问题,说不想让别人看到脚本执行的内容,我一开始脸懵,后来才了解到,她是不想让用户看到脚本的内容(卸载软件的路径),以防软件的文件被人恶意破坏,导致不能正常运行等问题,于是便有了本文。 ...

2022-11-02 · 2 min

MySQL 的 MHA 高可用安装踩坑记录

MHA 是一种 MySQL 高可用解决方案,可用于 Position 或 GTID 模式下的主从复制架构,可以在主从故障时自动完成主从切换,并且最大程度地保持数据一致性。MHA 由管理节点(Manager)和数据节点(Node)组成,一套 MHA Manager 可以管理多套 MySQL 集群。当 Manager 发现 MySQL Master 出现故障时,自动将一个拥有最新数据的 Slave 提升为 Master,并让另外的 Slave 重新指向到新的 Master 上来。 ...

2022-10-18 · 9 min