I've been using logstash on another interface on the same box as graylog to 
capture a few different switch formats. If you can set up a separate IP or 
drop in another NIC on your server, this will work just fine for you. I 
don't think certain (or all?) cisco switches/IOS revisions can support 
changing the syslog destination port - hence why I used a separate 
interface.

First, you need to configure your switches to use a specific log format 
that makes them all reasonably consistent:

> service timestamps log datetime msec localtime
> no logging message-counter syslog
> logging origin-id hostname
> logging facility syslog
> logging <logserver IP address>

Some IOS versions don't support some of these commands, and that's OK, 
don't panic - there were some logging format revisions around the 12.X 
versions of code and my logstash grok patterns should figure it all out for 
you. You should update your firmware anyways. I didn't want sequence 
numbers in my logs, so I strip them out - they seem redundant to me if I 
have a timestamp. You may want them. I leave that up to you to figure out 
if that's a problem. Google them, there are a few articles talking about 
this.

Then, set up logstash and use a config similar to this one:


input {
>         udp {
>                 host => 
> "YOUR-SEPARATE-INTERFACE-HERE-DONT-FORGET-TO-CHANGE-THIS"
>                 port => 514
>                 type => syslog
>         }
> }
>
> filter {
> grok {
>  patterns_dir => ["grokpatterns"]
>  match => [
> #Nice, Lovely, Compliant, Configurable Cisco Switches
>         "message", 
> "%{SYSLOG5424PRI}:%{SPACE}%{USERNAME:hostname}:%{SPACE}%{CISCOTIMESTAMP}:%{SPACE}%{CISCOMNEMONIC:category}:%{SPACE}%{GREEDYDATA:logmessage}",
> #Buggy configurable cisco switches
>         "message", 
> "%{SYSLOG5424PRI}:%{SPACE}%{USERNAME:hostname}:%{SPACE}.?%{CISCOTIMESTAMP}:%{SPACE}%{CISCOMNEMONIC:category}:%{SPACE}%{GREEDYDATA:logmessage}",
> # Unconfigurable Cisco Switches
>         "message", 
> "%{SYSLOG5424PRI}%{NUMBER:sequencenumber}:%{SPACE}%{CISCOTIMESTAMP}:%{SPACE}%{CISCOMNEMONIC:category}:%{SPACE}%{GREEDYDATA:logmessage}"
>           ]
>  overwrite => [ "host"  ]
>  remove_field => ["sequencenumber", "type", "version" ]
>  add_field => [
>         "ciscoswitch", "1",
>         "IP", "%{host}"
>         ]
> }
> if [hostname] {
>         if [IP] {
>                 mutate {
>                         replace         => [ "host", "%{hostname}" ]
>                         remove_field    => [ "hostname"]
>                 }
>         }
> }
> }
>
> output {
> gelf {
>         host => "YOURGRAYLOGSERVERHERE-DONT-FORGET-TO-CHANGE-THIS"
>         port => 12201
> }
> }



I did this before graylog started to have it's own method for doing this - 
so I didn't bother going down that route to figure out how to convert this. 
This ought to get you started at least. I'd prefer that - less moving 
parts, but the learning curve was too steep and too few examples exist.


On Wednesday, May 28, 2014 7:24:41 AM UTC-4, Washington Gomez wrote:
>
> Hi, we have 60 x 2960 cisco switch.
> I try send to an input called "plain text" that use udp instead of syslog 
> input option, and all the logs stay in one stream.
> The problem now it is that only show my de IP address, not the hostname.
>
> The first : source name was when i send the logs to a syslog udp input , 
> the 10.100.255.24 IP address is the switch when i change the input to a 
> plain text udp option.
>
> What is the best input option to handle cisco logs in graylog2? 
>
> I update to the last version but the issue not solved.
>
>
>
> El miércoles, 7 de mayo de 2014 16:20:43 UTC-3, lennart escribió:
>>
>> Cisco is usually not sending valid RFC syslog and the parsing fails. What 
>> device is sending this? Can you post (full, non-parsed) example messages?
>>
>>
>> On Wed, May 7, 2014 at 1:57 PM, Washington Gomez <[email protected]> 
>> wrote:
>>
>>>  
>>> <https://lh6.googleusercontent.com/-sMBx3Id-Yc4/U2ofgBLPJII/AAAAAAAATH8/pgn1EgGbctI/s1600/Dibujo.PNG>
>>>
>>>  -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "graylog2" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"graylog2" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to