Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions docs/integrations/zabbix/sample-1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"status": "0",
"recovery_mode": "0",
"description": "/etc/resolv.conf: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:\"/etc/resolv.conf\"}%)",
"state": "0",
"url": "",
"type": "0",
"templateid": "0",
"correlation_tag": "",
"lastchange": "1590642631",
"value": "1",
"priority": "2",
"triggerid": "16919",
"opdata": "Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})",
"flags": "4",
"comments": "Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:\"/etc/resolv.conf\"}.\r\n Second condition should be one of the following:\r\n - The disk free space is less than 10G.\r\n - The disk will be full in less than 24 hours.",
"error": "",
"hosts": [
{
"host": "node3",
"hostid": "10318"
}
],
Comment thread
bzurkowski marked this conversation as resolved.
"correlation_mode": "0",
"expression": "{19856}>{$VFS.FS.PUSED.MAX.WARN:\"/etc/resolv.conf\"} and\r\n(({19857}-{19858})<10G or {19859}<1d)",
"recovery_expression": "",
"manual_close": "1"
}
30 changes: 30 additions & 0 deletions docs/integrations/zabbix/sample-2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[
{
"status": "0",
"recovery_mode": "0",
"description": "Zabbix agent is not available (for {$AGENT.TIMEOUT})",
"state": "0",
"url": "",
"type": "0",
"templateid": "16198",
"correlation_tag": "",
"lastchange": "1590405426",
"value": "1",
"priority": "3",
"triggerid": "16873",
"opdata": "",
"flags": "0",
"comments": "For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold.",
"error": "",
"hosts": [
{
"host": "node2",
"hostid": "10319"
}
],
"correlation_mode": "0",
"expression": "{19743}=0",
"recovery_expression": "",
"manual_close": "1"
}
]
28 changes: 28 additions & 0 deletions docs/integrations/zabbix/sample-3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"status": "0",
"recovery_mode": "0",
"description":"Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)",
"state": "0",
"url": "",
"type": "0",
"templateid": "0",
"correlation_tag": "",
"lastchange": "1511612631",
"value": "1",
"priority": "3",
"triggerid": "16565",
"opdata": "Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}",
"flags": "4",
"comments": "Per CPU load average is too high. Your system may be slow to respond.",
"error": "",
"hosts": [
{
"host": "node3",
"hostid": "10318"
}
],
"correlation_mode": "0",
"expression": "{19277}/{19278}>{$LOAD_AVG_PER_CPU.MAX.WARN}\r\nand {19279}>0\r\nand {19280}>0",
"recovery_expression": "",
"manual_close": "1"
}
255 changes: 255 additions & 0 deletions helm/orca/config/alerts-mapping.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -696,3 +696,258 @@ elastalert:
properties:
name: pod_name
namespace: namespace_name

zabbix:
Comment thread
bzurkowski marked this conversation as resolved.
mappings:
- name: "Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)"
Comment thread
bzurkowski marked this conversation as resolved.
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Interface eth0: Link down'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Interface tunl0: Link down'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: '/etc/hostname: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:/etc/hostname}%)'
Comment thread
bzurkowski marked this conversation as resolved.
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: '/etc/hosts: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:/etc/hosts}%)'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix agent is not available (for {$AGENT.TIMEOUT})'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix alerter processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix alert manager processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix alert syncer processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix configuration syncer processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix discoverer processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix escalator processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix history syncer processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix housekeeper processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix http poller processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix icmp pinger processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix ipmi manager processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix ipmi poller processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix java poller processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix LLD manager processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix LLD worker processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix poller processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix preprocessing manager processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix preprocessing worker processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix proxy poller processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix self-monitoring processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix snmp trapper processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix task manager processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix timer processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix trapper processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix unreachable poller processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix value cache working in low memory mode'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: 'Zabbix vmware collector processes more than 75% busy'
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "Unavailable by ICMP ping"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "High ICMP ping loss"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "High ICMP ping response time"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "System status is in critical state"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "System is in unrecoverable state!"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "System status is in warning state"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "Temperature is above warning threshold: >{$TEMP_WARN:}"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "Temperature is above critical threshold: >{$TEMP_CRIT:}"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
- name: "Temperature is too low: <{$TEMP_CRIT_LOW:}"
source_mapping:
origin: kubernetes
kind: node
properties:
name: node
7 changes: 7 additions & 0 deletions helm/orca/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@ data:
url: {{ .Values.probes.prometheus.url }}
resync_period: {{ .Values.probes.prometheus.resync_period }}

zabbix:
enabled: {{ .Values.probes.zabbix.enabled }}
url: {{ .Values.probes.zabbix.url }}
username: {{ .Values.probes.zabbix.username }}
password: {{ .Values.probes.zabbix.password }}
resync_period: {{ .Values.probes.zabbix.resync_period }}

ingestors:
prometheus:
enabled: {{ .Values.ingestors.prometheus.enabled }}
Expand Down
6 changes: 6 additions & 0 deletions helm/orca/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@ probes:
enabled: false
resync_period: 60
url:
zabbix:
enabled: false
resync_period: 60
url:
username:
password:

ingestors:
prometheus:
Expand Down
14 changes: 14 additions & 0 deletions orca/common/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,20 @@ def parse(self, config_path):
'url': {'type': 'string'},
'resync_period': {'type': 'integer', 'coerce': int, 'default': 300}
}
},
'zabbix': {
'type': 'dict',
'schema': {
'enabled': {
'type': 'boolean',
'coerce': (str, str_utils.to_bool),
'default': False
},
'url': {'type': 'string'},
'username': {'type': 'string'},
'password': {'type': 'string'},
'resync_period': {'type': 'integer', 'coerce': int, 'default': 300}
}
}
}
},
Expand Down
Loading