mirror of
				https://github.com/prometheus/node_exporter.git
				synced 2025-08-20 18:33:52 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			166 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {
 | |
|   prometheusAlerts+:: {
 | |
|     groups+: [
 | |
|       {
 | |
|         name: 'node-exporter',
 | |
|         rules: [
 | |
|           {
 | |
|             alert: 'NodeFilesystemSpaceFillingUp',
 | |
|             expr: |||
 | |
|               predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 24*60*60) < 0
 | |
|               and
 | |
|               node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.4
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'warning',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} is predicted to run out of space within the next 24 hours.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemSpaceFillingUp',
 | |
|             expr: |||
 | |
|               predict_linear(node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 4*60*60) < 0
 | |
|               and
 | |
|               node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.2
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'critical',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} is predicted to run out of space within the next 4 hours.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemOutOfSpace',
 | |
|             expr: |||
 | |
|               node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 5
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'warning',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ $value }}% available space left.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemOutOfSpace',
 | |
|             expr: |||
 | |
|               node_filesystem_avail_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_size_bytes{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 3
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'critical',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ $value }}% available space left.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemFilesFillingUp',
 | |
|             expr: |||
 | |
|               predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 24*60*60) < 0
 | |
|               and
 | |
|               node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.4
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'warning',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} is predicted to run out of files within the next 24 hours.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemFilesFillingUp',
 | |
|             expr: |||
 | |
|               predict_linear(node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s}[6h], 4*60*60) < 0
 | |
|               and
 | |
|               node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} < 0.2
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'critical',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} is predicted to run out of files within the next 4 hours.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemOutOfFiles',
 | |
|             expr: |||
 | |
|               node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 5
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'warning',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ $value }}% available inodes left.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeFilesystemOutOfSpace',
 | |
|             expr: |||
 | |
|               node_filesystem_files_free{%(nodeExporterSelector)s,%(fsSelectors)s} / node_filesystem_files{%(nodeExporterSelector)s,%(fsSelectors)s} * 100 < 3
 | |
|               and
 | |
|               node_filesystem_readonly{%(nodeExporterSelector)s,%(fsSelectors)s} == 0
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'critical',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: 'Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ $value }}% available space left.',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeNetworkReceiveErrs',
 | |
|             expr: |||
 | |
|               increase(node_network_receive_errs_total[2m]) > 10
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'critical',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: '{{ $labels.instance }} interface {{ $labels.device }} shows errors while receiving packets ({{ $value }} errors in two minutes).',
 | |
|             },
 | |
|           },
 | |
|           {
 | |
|             alert: 'NodeNetworkTransmitErrs',
 | |
|             expr: |||
 | |
|               increase(node_network_transmit_errs_total[2m]) > 10
 | |
|             ||| % $._config,
 | |
|             'for': '1h',
 | |
|             labels: {
 | |
|               severity: 'critical',
 | |
|             },
 | |
|             annotations: {
 | |
|               message: '{{ $labels.instance }} interface {{ $labels.device }} shows errors while transmitting packets ({{ $value }} errors in two minutes).',
 | |
|             },
 | |
|           },
 | |
|         ],
 | |
|       },
 | |
|     ],
 | |
|   },
 | |
| }
 |