Skip to main content

Cisco Meraki

Overview​

Cisco Meraki receives events from the Meraki Cloud using webhooks. When specific events occur in a Meraki network, the Meraki Dashboard sends a JSON payload to a configured HTTP endpoint.

Supported platforms

  • Linux: Logs
  • Windows: Logs
  • macOS: Logs

Authentication​

Authentication is configured using the Credential Type field.

ParameterTypeDescription
Credential TypestringSpecifies the authentication mechanism
BearerTokenAuthoptionEnables bearer token authentication.

Basic Configuration​

ParameterTypeRequiredDefaultDescription
endpointstringYesnoneThe network address where the source listens for incoming Meraki webhook HTTP requests. Example: 0.0.0.0:8080.
pathstringYes/eventsHTTP path used for receiving webhook events from Meraki.
health_pathstringNo/health_checkPath for the health check endpoint.

Advanced Configuration​

TLS​

ParameterTypeDefault ValueDescription
enable_tlsboolfalseEnables TLS encryption for incoming webhook HTTP connections.
min_versionstring1.3Defines the minimum TLS version accepted for secure connections. Supports TLS 1.2 and above.
cert_filestringnonePath to the TLS certificate file used by the server.
key_filestringnonePath to the TLS private key file used by the server.
client_ca_filestringnonePath to the client CA certificate file used to verify client certificates for mutual TLS (mTLS).

Timeouts & Limits​

ParameterTypeDefaultDescription
read_timeoutduration500msMaximum wait time while attempting to read a received event.
write_timeoutduration500msMaximum wait time while attempting to write a response.
max_request_body_sizeinteger1048576Maximum size in bytes for the request body. Requests exceeding this limit will be rejected with an error.

Log Processing & Headers​

ParameterTypeDefaultDescription
split_logs_at_newlinebooleanfalseIf true, the source creates a separate log record for each line in the request body.
split_logs_at_json_boundarybooleanfalseIf true, the source parses the request body as JSON and sends each object as a log. Splitting on newline overrides JSON boundary splitting, so enable only one at a time.
convert_headers_to_attributesbooleanfalseAdds all request headers as log attributes, excluding required headers if also set.
header_attribute_regexstringnoneAdds headers matching the supplied regex as log attributes. Header attributes are prefixed with header. Example: ^X-.*.

Example Configuration​

{
"path": "/events", // required, default: "/events"
"endpoint": "", // required, default: none

"health_path": "/health_check", // default: "/health_check"

"tls": {
"enable_tls": false, // required inside tls, default: false
"cert_file": "", // default: none
"key_file": "", // default: none
"client_ca_file": "", // default: none
"min_version": "1.3", // default: "1.3"
},

"read_timeout": "500ms", // default: "500ms"
"write_timeout": "500ms", // default: "500ms"
"max_request_body_size": 1048576, // default: 1048576

"split_logs_at_newline": false, // default: false
"split_logs_at_json_boundary": false, // default: false
"convert_headers_to_attributes": false, // default: false
"header_attribute_regex": "", // default: none
}