|
|
|
|
|
|
|
|
{%- from "linux/map.jinja" import monitoring with context %} |
|
|
{%- from "linux/map.jinja" import monitoring with context %} |
|
|
server: |
|
|
server: |
|
|
alert: |
|
|
alert: |
|
|
AvgCPUUsageIdle: |
|
|
|
|
|
|
|
|
SystemCpuIdleTooLow: |
|
|
{%- set cpu_idle_threshold = monitoring.cpu_idle_percentage.warn|float %} |
|
|
{%- set cpu_idle_threshold = monitoring.cpu_idle_percentage.warn|float %} |
|
|
if: avg_over_time(cpu_usage_idle{cpu="cpu-total"}[5m]) < {{ cpu_idle_threshold }} |
|
|
if: avg_over_time(cpu_usage_idle{cpu="cpu-total"}[5m]) < {{ cpu_idle_threshold }} |
|
|
{% raw %} |
|
|
{% raw %} |
|
|
|
|
|
|
|
|
annotations: |
|
|
annotations: |
|
|
summary: 'Idle CPU usage too low on {{ $labels.host }}' |
|
|
summary: 'Idle CPU usage too low on {{ $labels.host }}' |
|
|
description: 'The average idle CPU usage is too low on node {{ $labels.host }} (current value={{ $value }}, threshold={% endraw %}{{ cpu_idle_threshold}})' |
|
|
description: 'The average idle CPU usage is too low on node {{ $labels.host }} (current value={{ $value }}, threshold={% endraw %}{{ cpu_idle_threshold}})' |
|
|
PredictLinearDiskFree: |
|
|
|
|
|
|
|
|
SystemDiskSpaceTooLow: |
|
|
if: 'predict_linear(disk_free[1h], 8*3600) < 0' |
|
|
if: 'predict_linear(disk_free[1h], 8*3600) < 0' |
|
|
{% raw %} |
|
|
{% raw %} |
|
|
labels: |
|
|
labels: |
|
|
|
|
|
|
|
|
summary: 'Free space for {{ $labels.path }} too low on {{ $labels.host }}' |
|
|
summary: 'Free space for {{ $labels.path }} too low on {{ $labels.host }}' |
|
|
description: 'The disk partition ({{ $labels.path }}) will be full in less than 8 hours on {{ $labels.host }}' |
|
|
description: 'The disk partition ({{ $labels.path }}) will be full in less than 8 hours on {{ $labels.host }}' |
|
|
{% endraw %} |
|
|
{% endraw %} |
|
|
PredictLinearDiskInodesFree: |
|
|
|
|
|
|
|
|
SystemDiskInodesTooLow: |
|
|
if: 'predict_linear(disk_inodes_free[1h], 8*3600) < 0' |
|
|
if: 'predict_linear(disk_inodes_free[1h], 8*3600) < 0' |
|
|
{% raw %} |
|
|
{% raw %} |
|
|
labels: |
|
|
labels: |
|
|
|
|
|
|
|
|
summary: 'Free inodes for {{ $labels.path }} too low on {{ $labels.host }}' |
|
|
summary: 'Free inodes for {{ $labels.path }} too low on {{ $labels.host }}' |
|
|
description: 'The disk inodes ({{ $labels.path }}) will be full in less than 8 hours on {{ $labels.host }}' |
|
|
description: 'The disk inodes ({{ $labels.path }}) will be full in less than 8 hours on {{ $labels.host }}' |
|
|
{% endraw %} |
|
|
{% endraw %} |
|
|
AvgMemAvailablePercent: |
|
|
|
|
|
|
|
|
SystemMemoryAvailableTooLow: |
|
|
{%- set mem_avail_threshold = monitoring.free_memory_percentage.warn|float %} |
|
|
{%- set mem_avail_threshold = monitoring.free_memory_percentage.warn|float %} |
|
|
if: avg_over_time(mem_available_percent[5m]) < {{ mem_avail_threshold }} |
|
|
if: avg_over_time(mem_available_percent[5m]) < {{ mem_avail_threshold }} |
|
|
{% raw %} |
|
|
{% raw %} |
|
|
|
|
|
|
|
|
annotations: |
|
|
annotations: |
|
|
summary: 'Free memory too low on {{ $labels.host }}' |
|
|
summary: 'Free memory too low on {{ $labels.host }}' |
|
|
description: 'The percentage of free memory is too low on node {{ $labels.host }} (current value={{ $value }}, threshold={% endraw %}{{ mem_avail_threshold }})' |
|
|
description: 'The percentage of free memory is too low on node {{ $labels.host }} (current value={{ $value }}, threshold={% endraw %}{{ mem_avail_threshold }})' |
|
|
SystemLoad5: |
|
|
|
|
|
|
|
|
SystemLoad5TooHigh: |
|
|
if: system_load5 / system_n_cpus > {{ monitoring.load_5.warn }} |
|
|
if: system_load5 / system_n_cpus > {{ monitoring.load_5.warn }} |
|
|
{% raw %} |
|
|
{% raw %} |
|
|
labels: |
|
|
labels: |
|
|
|
|
|
|
|
|
summary: 'High system load (5m) on {{ $labels.host }}' |
|
|
summary: 'High system load (5m) on {{ $labels.host }}' |
|
|
description: 'High system load (5m) on node {{ $labels.host }}' |
|
|
description: 'High system load (5m) on node {{ $labels.host }}' |
|
|
{% endraw %} |
|
|
{% endraw %} |
|
|
NetworkRxPacketsDropped: |
|
|
|
|
|
|
|
|
SystemRxPacketsDroppedTooHigh: |
|
|
{%- set net_rx_dropped_threshold = monitoring.rx_packets_dropped_rate.warn %} |
|
|
{%- set net_rx_dropped_threshold = monitoring.rx_packets_dropped_rate.warn %} |
|
|
if: avg_over_time(net_drop_in[1m]) > {{ net_rx_dropped_threshold }} |
|
|
if: avg_over_time(net_drop_in[1m]) > {{ net_rx_dropped_threshold }} |
|
|
{% raw %} |
|
|
{% raw %} |
|
|
|
|
|
|
|
|
annotations: |
|
|
annotations: |
|
|
summary: 'Too many received packets dropped on {{ $labels.host }} for interface {{ $labels.interface }}' |
|
|
summary: 'Too many received packets dropped on {{ $labels.host }} for interface {{ $labels.interface }}' |
|
|
description: 'The average number of received packets which are dropped is too high on node {{ $labels.host }} for interface {{ $label.interface }} (current value={{ $value }}, threshold={% endraw %}{{ net_rx_dropped_threshold }})' |
|
|
description: 'The average number of received packets which are dropped is too high on node {{ $labels.host }} for interface {{ $label.interface }} (current value={{ $value }}, threshold={% endraw %}{{ net_rx_dropped_threshold }})' |
|
|
NetworkTxPacketsDropped: |
|
|
|
|
|
|
|
|
SystemTxPacketsDroppedTooHigh: |
|
|
{%- set net_tx_dropped_threshold = monitoring.tx_packets_dropped_rate.warn %} |
|
|
{%- set net_tx_dropped_threshold = monitoring.tx_packets_dropped_rate.warn %} |
|
|
if: avg_over_time(net_drop_out[1m]) > {{ net_tx_dropped_threshold }} |
|
|
if: avg_over_time(net_drop_out[1m]) > {{ net_tx_dropped_threshold }} |
|
|
{% raw %} |
|
|
{% raw %} |