{ "code_name": "snmp_discovery", "unique_prefix": "SNMPDSC", "enabled": true, "data_source": "pyton-script", "data_filters": [ { "compare_column" : "Object_PrimaryID", "compare_operator" : "==", "compare_field_id": "txtMacFilter", "compare_js_template": "'{value}'.toString()", "compare_use_quotes": true } ], "localized": ["display_name", "description", "icon"], "mapped_to_table": "DHCP_Leases", "display_name" : [{ "language_code":"en_us", "string" : "SNMP discovery" }], "icon":[{ "language_code":"en_us", "string" : "" }], "description": [{ "language_code":"en_us", "string" : "This plugin is used to discover devices via the arp table(s) of a RFC1213 compliant router or switch." }], "params" : [ { "name" : "routers", "type" : "setting", "value" : "SNMPDSC_routers" } ], "database_column_definitions": [ { "column": "Index", "css_classes": "col-sm-2", "show": false, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "N/A" }] } , { "column": "Plugin", "css_classes": "col-sm-2", "show": false, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "N/A" }] }, { "column": "Object_PrimaryID", "mapped_to_column": "DHCP_MAC", "css_classes": "col-sm-2", "show": true, "type": "devicemac", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "MAC address" }] }, { "column": "Object_SecondaryID", "mapped_to_column": "DHCP_IP", "css_classes": "col-sm-2", "show": true, "type": "deviceip", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "IP" }] } , { "column": "DateTimeCreated", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Created" }] }, { "column": "DateTimeChanged", "mapped_to_column": "DHCP_DateTime", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Changed" }] }, { "column": "Watched_Value1", "mapped_to_column": "DHCP_Name", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value":"(unknown)", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Hostname" }] }, { "column": "Watched_Value2", "css_classes": "col-sm-2", "show": true, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Router IP" }] }, { "column": "Watched_Value3", "css_classes": "col-sm-2", "show": false, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Type" }] } , { "column": "Watched_Value4", "css_classes": "col-sm-2", "show": false, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Network" }] } , { "column": "UserData", "css_classes": "col-sm-2", "show": false, "type": "textboxsave", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Comments" }] }, { "column": "Extra", "css_classes": "col-sm-3", "show": true, "type": "label", "default_value":"", "options": [], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "RAW output" }] }, { "column": "Status", "css_classes": "col-sm-1", "show": true, "type": "replace", "default_value":"", "options": [ { "equals": "watched-not-changed", "replacement": "
schedule the scheduling settings from below are applied. If you select once the scan is run only once on start of the application (container) or after you update your settings."
}]
},
{
"function": "CMD",
"type": "text",
"default_value":"python3 /home/pi/pialert/front/plugins/snmp_discovery/script.py routers={s-quote}{routers}{s-quote}",
"options": [],
"localized": ["name", "description"],
"name" : [{
"language_code":"en_us",
"string" : "Command"
}],
"description": [{
"language_code":"en_us",
"string" : "Command to run. Not recommended to change."
}]
},
{
"function": "routers",
"type": "list",
"default_value":["snmpwalk -v 2c -c public -OXsq 192.168.1.1 .1.3.6.1.2.1.3.1.1.2"],
"options": [],
"localized": ["name", "description"],
"name" : [{
"language_code":"en_us",
"string" : "Routers"
}],
"description": [{
"language_code":"en_us",
"string" : "A list of snmpwalk commands to execute against IP addresses of roputers/switches with SNMP turned on. 192.168.1.1: snmpwalk -v 2c -c public -OXsq 192.168.1.1 .1.3.6.1.2.1.3.1.1.2 schedule in the SNMPDSC_RUN setting. Make sure you enter the schedule in the correct cron-like format (e.g. validate at crontab.guru). For example entering 0 4 * * * will run the scan after 4 am in the TIMEZONE you set above. Will be run NEXT time the time passes."
}]
},
{
"function": "RUN_TIMEOUT",
"type": "integer",
"default_value":5,
"options": [],
"localized": ["name", "description"],
"name" : [{
"language_code":"en_us",
"string" : "Run timeout"
},
{
"language_code":"de_de",
"string" : "Wartezeit"
}],
"description": [{
"language_code":"en_us",
"string" : "Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted."
}]
},
{
"function": "WATCH",
"type": "text.multiselect",
"default_value":["Watched_Value1"],
"options": ["Watched_Value1","Watched_Value2","Watched_Value3","Watched_Value4"],
"localized": ["name", "description"],
"name" :[{
"language_code":"en_us",
"string" : "Watched"
}] ,
"description":[{
"language_code":"en_us",
"string" : "Send a notification if selected values change. Use CTRL + Click to select/deselect. Watched_Value1 is Hostname (not discoverable) Watched_Value2 is Router IP Watched_Value3 is not used Watched_Value4 is not used new means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. watched-changed means that selected Watched_ValueN columns changed."
}]
}
]
}