夜莺监控设计思考(四)关于机器那些事儿
夜莺监控设计思考系列第四篇,围绕机器管理展开:机器采集、业务组归属、标签、metadata、机器失联告警、时间偏移告警、业务组变量和仪表盘过滤。
围绕可观测性、AI SRE、告警治理、On-call、Nightingale、Categraf、Prometheus、Kubernetes、Zabbix、用户案例和产品更新,沉淀一线工程实践、选型参考和稳定性治理方法。
夜莺监控设计思考系列第四篇,围绕机器管理展开:机器采集、业务组归属、标签、metadata、机器失联告警、时间偏移告警、业务组变量和仪表盘过滤。
夜莺监控设计思考系列第三篇,解释夜莺从自研时序库转向对接外部数据源的原因,以及为什么在不内置时序库的前提下仍然提供 Categraf agent 和指标转发能力。
夜莺监控设计思考系列第二篇,解释多数据中心、弱网络链路和本地数据源场景下,为什么需要 n9e-edge 边缘告警引擎,以及边缘架构如何在中心统一管理规则和本地执行告警之间做取舍。
夜莺监控设计思考系列第一篇,从项目定位、告警引擎架构、webapi 与 alert 模块拆分、单进程和多进程取舍、以及高可用设计出发,解释夜莺为什么把核心定位放在统一告警引擎上。
在云原生时代,日志监控已成为可观测性体系的核心支柱。Flashduty Monitors 告警引擎现已全面支持 Grafana Loki 和 VictoriaLogs 数据源,提供原生查询语法兼容、三种告警模式、智能恢复机制等强大功能,助力团队构建可靠的日志告警能力。
完整教程:用 Vector 采集 Nightingale 夜莺日志并写入 VictoriaLogs,覆盖 Docker 容器化部署、夜莺日志文件输出、VRL 正则解析、Elasticsearch 协议对接和 vmui 查询验证。
UDP 是无连接协议,不能像 TCP 一样通过建立连接判断端口存活。本文结合 Categraf net_response 插件和 ncat 源码,说明 UDP 端口探活的判断逻辑与 Go 实现。
剖析 Categraf snmp_zabbix 插件的调度重构:从 Go Ticker 与随机 Jitter,演进到最小堆、墙上时钟对齐、OID 排序、BatchSize 与 MaxRepetitions 解耦,以及 0.85 因子自适应流控。
介绍用 Categraf SNMP 插件、VictoriaMetrics 和 Grafana 搭建交换机监控方案,对比 SNMP Exporter,并演示 Categraf、VictoriaMetrics、MIB、gosmi/netsnmp 和 Grafana 数据源配置。
本文汇总 Categraf 监控采集器的常见配置问题,覆盖 hostname、writers、heartbeat、ibex、多实例、采集频率、标签、配置文件合并和机器 IP 获取等排查场景。
本文介绍 Categraf 在 Linux 下如何通过 systemd 或 SysVinit 托管服务,并使用 install、remove、start、stop、status、update 等命令完成启停、状态查看和自升级。
以 H3C 无线设备监控为案例,介绍 Categraf + vmagent + VictoriaMetrics + Grafana 架构如何替换 SNMP Exporter + Prometheus,并说明二进制部署、remote write、SNMP 采集配置、VMUI 验证和 Grafana 仪表盘展示。
介绍如何通过 Categraf SNMP 插件采集监控数据,包括 SNMP agent 地址、版本、community、Scalar 数据、Table 数据、is_tag、inherit_tags 和 agent_host_tag 等关键配置。
Categraf SNMP 插件通过启发式算法自动提取带单位字符串中的数值,解决浪潮等服务器返回 60 degree Celsius 格式导致指标采集失败的问题,无需正则即可智能解析温度、电流等复杂格式。
使用夜莺监控、Categraf 和 VictoriaMetrics 监控多个进程的存活、CPU、内存、句柄、IO 等指标,并配置 procstat 插件和进程存活告警。
本文介绍 Nginx stub status 指标采集的完整流程:在 CentOS 7.2 环境编译 http_stub_status_module,配置 /stub_status 状态页,并通过 Categraf input.nginx 插件采集连接数、读写状态和请求指标。
本文介绍 Nginx upstream 健康状态采集流程:添加 nginx_upstream_check_module,配置 /upstream_status 状态页,并通过 Categraf input.nginx_upstream_check 插件采集 upstream rise、fall、up/down 等指标。
本文介绍 Nginx vts 指标采集流程:添加 nginx-module-vts,配置 /vts_status 状态页,并通过 Categraf input.prometheus 插件采集 Prometheus 格式的 vhost、upstream 和状态码指标。
介绍使用 Categraf 的 mtail 插件把系统日志异常转换为指标,再接入夜莺告警的轻量级方案,并给出 /var/log/messages 中 10 类严重系统错误的 mtail 规则示例。
在大规模 Kubernetes 集群中,单机低级别告警可能需要按数量升级为集群级告警。本文基于夜莺 MySQL 数据源和 alert_cur_event 当前告警表,演示如何用 SQL 统计活跃告警数量,并将聚合计数作为告警阈值。