{ "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": "
" }, { "equals": "watched-changed", "replacement": "
" }, { "equals": "new", "replacement": "
" } ], "localized": ["name"], "name":[{ "language_code":"en_us", "string" : "Status" }] } ], "settings":[ { "function": "RUN", "type": "text.select", "default_value":"disabled", "options": ["disabled", "once", "schedule", "always_after_scan", "on_new_device"], "localized": ["name", "description"], "name" :[{ "language_code":"en_us", "string" : "When to run" }], "description": [{ "language_code":"en_us", "string" : "Enable import of devices from a SNMP enabled device. If you select 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.

Example with the router on the IP 192.168.1.1:
snmpwalk -v 2c -c public -OXsq 192.168.1.1 .1.3.6.1.2.1.3.1.1.2

Only IPv4 supported. Authentication is not supported. More info on the plugin here." }] }, { "function": "RUN_SCHD", "type": "text", "default_value":"0 2 * * *", "options": [], "localized": ["name", "description"], "name" : [{ "language_code":"en_us", "string" : "Schedule" }], "description": [{ "language_code":"en_us", "string" : "Only enabled if you select 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. " }] }, { "function": "REPORT_ON", "type": "text.multiselect", "default_value":["new","watched-changed"], "options": ["new","watched-changed","watched-not-changed"], "localized": ["name", "description"], "name" :[{ "language_code":"en_us", "string" : "Report on" }] , "description":[{ "language_code":"en_us", "string" : "Send a notification only on these statuses. new means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. watched-changed means that selected Watched_ValueN columns changed." }] } ] }