Cisco Meraki Azure Sentinel data connector won't connect

ITPKeithK
Here to help

Cisco Meraki Azure Sentinel data connector won't connect

I've followed the bare bones instructions provided to the letter.  tcpdump seems to indicate that logs are getting from our MX64 to the Linux VM hosted in Azure, but my data connector in Azure remains in a "disconnected" state with no logs being received in Azure.  Where should I look next?  I've confirmed multiple times that my configurations match the following:

 

1. Install and onboard the agent for Linux

Typically, you should install the agent on a different computer from the one on which the logs are generated.

Syslog logs are collected only from Linux agents.

Choose where to install the agent:
Install agent on Azure Linux Virtual Machine
Install agent on a non-Azure Linux Machine
2. Configure the logs to be collected

Follow the configuration steps below to get Cisco Meraki device logs into Microsoft Sentinel. Refer to the Azure Monitor Documentation for more details on these steps.
For Cisco Meraki logs, we have issues while parsing the data by OMS agent data using default settings.
So we advice to capture the logs into custom table meraki_CL using below instructions.

  1. Login to the server where you have installed OMS agent.

  2. Download config file meraki.conf
    wget -v https://aka.ms/sentinel-ciscomerakioms-conf -O meraki.conf

  3. Copy meraki.conf to the /etc/opt/microsoft/omsagent/workspace_id/conf/omsagent.d/ folder.
    cp meraki.conf /etc/opt/microsoft/omsagent/<>/conf/omsagent.d/

  4. Edit meraki.conf as follows:

    a. meraki.conf uses the port 22033 by default. Ensure this port is not being used by any other source on your server

    b. If you would like to change the default port for meraki.conf make sure that you dont use default Azure monitoring /log analytic agent ports I.e.(For example CEF uses TCP port 25226 or 25224)

    c. replace workspace_id with real value of your Workspace ID (lines 14,15,16,19)

  5. Save changes and restart the Azure Log Analytics agent for Linux service with the following command:
    sudo /opt/microsoft/omsagent/bin/service_control restart

  6. Modify /etc/rsyslog.conf file - add below template preferably at the beginning / before directives section
    $template meraki,"%timestamp% %hostname% %msg%

"
7. Create a custom conf file in /etc/rsyslog.d/ for example 10-meraki.conf and add following filter conditions.

 With an added statement you will need to create a filter which will specify the logs coming from the Cisco Meraki to be forwarded to the custom table.

 reference: [Filter Conditions — rsyslog 8.18.0.master documentation](https://rsyslog.readthedocs.io/en/latest/configuration/filters.html)

 Here is an example of filtering that can be defined, this is not complete and will require additional testing for each installation.
     if $rawmsg contains "flows" then @@127.0.0.1:22033;meraki
     & stop 
     if $rawmsg contains "urls" then @@127.0.0.1:22033;meraki
     & stop
     if $rawmsg contains "ids-alerts" then @@127.0.0.1:22033;meraki
     & stop
     if $rawmsg contains "events" then @@127.0.0.1:22033;meraki
     & stop
     if $rawmsg contains "ip_flow_start" then @@127.0.0.1:22033;meraki
     & stop
     if $rawmsg contains "ip_flow_end" then @@127.0.0.1:22033;meraki
     & stop 
  1. Restart rsyslog
    systemctl restart rsyslog
 
3 Replies 3
ITPKeithK
Here to help

Update..my data connector is connected since I separated "& stop" to its own lines in my 10-meraki.conf file.  One log entry received so I'll continue to monitor but at least it is progress.

So the data connector is still connected, but only one empty event received in the past 7 hours.  Has anyone else had similar issues?

ITPKeithK
Here to help

Got this all working.  This thread pointed me in the right direction.  Meraki Collector for Sentinel : r/meraki (reddit.com)

 

I am using an Ubuntu VM, and apparently Ubuntu's implementation of rsyslog will, by default, only listen on sockets for log entries.

 

I had to enable UDP by uncommenting the following lines in /etc/rsyslog.conf:

 

module(load="imudp")

input(type="imudp" port="514")

Get notified when there are additional replies to this discussion.
Welcome to the Meraki Community!
To start contributing, simply sign in with your Cisco account. If you don't yet have a Cisco account, you can sign up.