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
}