基础监控插件

satori-agent 内置指标的扩展,建议每个机器上都收集

插件文件地址
infra/*
插件类型
不接受参数(直接执行),重复执行

Conntrack

Conntrack 是 Netfilter 用来跟踪连接的机制,如果使用了 NAT 或者有状态防火墙功能就会启用 conntrack 跟踪连接。

net.netfilter.conntrack.used
意义:Conntrack 桶用量
提供:infra/30_conntrack.py
取值:0 - 无上限,整数
Tags:
net.netfilter.conntrack.max
意义:Conntrack 桶最大值
提供:infra/30_conntrack.py
取值:0 - 无上限,整数
Tags:
net.netfilter.conntrack.used_ratio
意义:Conntrack 桶用量百分比
提供:infra/30_conntrack.py
取值:0 - 1.0,浮点数
Tags:

重整化的机器负载(Load)

load.1min.normalized
意义:1分钟平均负载
提供:infra/30_normalized_load.py
取值:0 - 无上限,浮点数
Tags:
load.5min.normalized
意义:5分钟平均负载
提供:infra/30_normalized_load.py
取值:0 - 无上限,浮点数
Tags:
load.15min.normalized
意义:15分钟平均负载
提供:infra/30_normalized_load.py
取值:0 - 无上限,浮点数
Tags:

注解

这个值与 机器负载(Load) 监控的是相同的值, 但是这里的 Load 会除以 CPU 核数,在编写监控规则的时候就不用考虑核数了。

MegaRAID 磁盘损坏监控

megaraid.offline
意义:第一个 MegaRAID 控制器中 Failed/Offline 状态的磁盘个数
提供:infra/600_megaraid.py
取值:0 - 无上限,整数
Tags:

注解

这个插件需要安装 megacli 工具后才能使用, 请确认 /opt/MegaRAID/MegaCli/MegaCli64 文件是否存在。

内核 dmesg 监控

kernel.dmesg.bug
意义:dmesg 中出现 BUG: 字样的次数
提供:infra/60_kernel.py
取值:0 - 无上限,整数
Tags:
kernel.dmesg.io_error
意义:dmesg 中出现 I/O error 字样的次数
提供:infra/60_kernel.py
取值:0 - 无上限,整数
Tags:

注解

处理完故障之后可以使用 dmesg --clear 来清除内核的 dmesg buffer,否则会一直报告 0 以上的值。

异常状态进程数量

proc.zombies
意义:僵尸进程数量
提供:infra/60_zombies.py
取值:0 - 无上限,整数
Tags:

注解

僵尸进程是已经结束的进程,不占用内存/CPU,只占用内核进程表的一个条目。 大量出现僵尸进程通常是程序编写的问题。

proc.uninterruptables
意义:处于不可中断睡眠状态的进程数量
提供:infra/60_zombies.py
取值:0 - 无上限,整数
Tags:

注解

最常见的不可中断睡眠状态的进程状态是由磁盘 IO 导致的,是正常状态。 如果持续性的数量过多就需要调查了。

软中断统计

softirq.timer
意义:时钟中断
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:
softirq.net_tx: 89 84
意义:发送网络数据
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:
softirq.net_rx: 776 1331
意义:接收网络数据
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:
softirq.block: 60 89
意义:块设备请求
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:
softirq.tasklet: 141 29
意义:Tasklet
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:

注解

一些内核中高优先级但是不合适做成软中断的任务

softirq.sched:
意义:进程调度
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:
softirq.rcu:
意义:RCU 回收
提供:infra/30_softirq.py
取值:0 - 无上限,累积,整数
Tags:

注解

RCU 是内核中用的一种并发数据结构,需要定期清理

监控规则样例

注解

请直接参考规则仓库中附带的 infra/common.clj 文件,篇幅过长不再贴了。