003 File Manager
Current Path:
/usr/local/lib/python3.8/site-packages/salt/returners
usr
/
local
/
lib
/
python3.8
/
site-packages
/
salt
/
returners
/
📁
..
📄
__init__.py
(5.98 KB)
📁
__pycache__
📄
appoptics_return.py
(6.11 KB)
📄
carbon_return.py
(8.24 KB)
📄
cassandra_cql_return.py
(15.17 KB)
📄
cassandra_return.py
(2.07 KB)
📄
couchbase_return.py
(8.91 KB)
📄
couchdb_return.py
(10.35 KB)
📄
django_return.py
(2.27 KB)
📄
elasticsearch_return.py
(12.18 KB)
📄
etcd_return.py
(6.32 KB)
📄
highstate_return.py
(15.59 KB)
📄
influxdb_return.py
(8.03 KB)
📄
kafka_return.py
(2.12 KB)
📄
librato_return.py
(4.29 KB)
📄
local.py
(541 B)
📄
local_cache.py
(17.1 KB)
📄
mattermost_returner.py
(4.08 KB)
📄
memcache_return.py
(5.72 KB)
📄
mongo_future_return.py
(10.08 KB)
📄
mongo_return.py
(6.11 KB)
📄
multi_returner.py
(2.82 KB)
📄
mysql.py
(18.61 KB)
📄
nagios_nrdp_return.py
(4.92 KB)
📄
odbc.py
(7.77 KB)
📄
pgjsonb.py
(17.18 KB)
📄
postgres.py
(10.2 KB)
📄
postgres_local_cache.py
(10.73 KB)
📄
pushover_returner.py
(6.55 KB)
📄
rawfile_json.py
(2.23 KB)
📄
redis_return.py
(8.52 KB)
📄
sentry_return.py
(5.3 KB)
📄
slack_returner.py
(6.02 KB)
📄
slack_webhook_return.py
(11.22 KB)
📄
sms_return.py
(2.64 KB)
📄
smtp_return.py
(8.2 KB)
📄
splunk.py
(6.69 KB)
📄
sqlite3_return.py
(7.73 KB)
📄
syslog_return.py
(5.26 KB)
📄
telegram_return.py
(1.92 KB)
📄
xmpp_return.py
(4.85 KB)
📄
zabbix_return.py
(2.45 KB)
Editing: zabbix_return.py
""" Return salt data to Zabbix The following Type: "Zabbix trapper" with "Type of information" Text items are required: .. code-block:: cfg Key: salt.trap.info Key: salt.trap.warning Key: salt.trap.high To use the Zabbix returner, append '--return zabbix' to the salt command. ex: .. code-block:: bash salt '*' test.ping --return zabbix """ import os # Define the module's virtual name __virtualname__ = "zabbix" def __virtual__(): if zbx(): return True return False, "Zabbix returner: No zabbix_sender and zabbix_agend.conf found." def zbx(): if os.path.exists("/usr/local/zabbix/bin/zabbix_sender") and os.path.exists( "/usr/local/zabbix/etc/zabbix_agentd.conf" ): zabbix_sender = "/usr/local/zabbix/bin/zabbix_sender" zabbix_config = "/usr/local/zabbix/etc/zabbix_agentd.conf" return {"sender": zabbix_sender, "config": zabbix_config} elif os.path.exists("/usr/bin/zabbix_sender") and os.path.exists( "/etc/zabbix/zabbix_agentd.conf" ): zabbix_sender = "/usr/bin/zabbix_sender" zabbix_config = "/etc/zabbix/zabbix_agentd.conf" return {"sender": zabbix_sender, "config": zabbix_config} else: return False def zabbix_send(key, output): cmd = ( zbx()["sender"] + " -c " + zbx()["config"] + " -k " + key + ' -o "' + output + '"' ) __salt__["cmd.shell"](cmd) def save_load(jid, load, minions=None): """ Included for API consistency """ def returner(ret): changes = False errors = False job_minion_id = ret["id"] if type(ret["return"]) is dict: for state, item in ret["return"].items(): if "comment" in item and "name" in item and item["result"] is False: errors = True zabbix_send( "salt.trap.high", "SALT:\nname: {}\ncomment: {}".format( item["name"], item["comment"] ), ) elif "comment" in item and "name" in item and item["changes"]: changes = True zabbix_send( "salt.trap.warning", "SALT:\nname: {}\ncomment: {}".format( item["name"], item["comment"] ), ) if not changes and not errors: zabbix_send("salt.trap.info", "SALT {} OK".format(job_minion_id))
Upload File
Create Folder