improving signal to noise ratio from centralized network syslogs
Shane Short
shane at short.id.au
Mon Feb 5 02:25:36 UTC 2018
In addition to that, you can use some fancy awk colour coding, so you can make it highlight certain lines based on content.. I use this for my e-mail logs, but I’m sure it could be adapted:
tail -n 1000 -f /var/log/mail-submission.log | grep smtp.*relay | awk '
/sent/ {print "\033[32m" $0 "\033[39m"}
/bounced/ {print "\033[31m" $0 "\033[39m"}
/deferred/ {print "\033[33m" $0 "\033[39m"}
'
> On 4 Feb 2018, at 5:49 am, Scott Weeks <surfer at mauigateway.com> wrote:
>
>
> --- jmaimon at jmaimon.com wrote:
> Centralized logging is a good thing. However,
> what happens is that every repetitive, annoying
> but not (usually) important thing fills up the
> log with reams of what you are not looking for.
> ---------------------------------------
>
> Apologies, I'm late to the party. But I just
> want to add one thing for the archives. It's
> along with what Rich Kulawiec said, "it forces
> you to look at your own data, which is really
> helpful. You'll be surprised at what you find
> if you've never done it before." This is
> accurate. It's fun to see what your network
> is putting out.
>
> This is all from memory (I've done it so many
> times it's in there permanently... :-) as I
> don't have a unix server or a router in front
> of me to use, so don't hold me to exact
> details...
>
> And it's mainly for the newbies.
>
> Have all the routers send to one syslog file,
> switches to another and other devices to a
> third on a *nix box: For example, send the
> router messages to /var/log/router.log and
> the switch messages to /var/log/switch.log
> This is done with the 'logging facility'
> command on the devices:
>
> After defining your syslog server's IP
> address and the level of messaging you want
> (I set it to debug because I want to see
> everything):
>
> on the routers: logging facility local0
> on the switches: logging facility local1
>
> on the logging server in: /etc/rsyslog.conf
> local0.* /var/log/router.log
> local1.* /var/log/switch.log
>
> Use logrotate to manage the log files as they
> can get quite large.
>
> Then, you can watch your network in real time
> like so (below is all one line):
>
> tail -f /var/log/router.log /var/log/switch.log
> | egrep -vi 'term1|term2|termN'
>
> 'egrep -v' takes out all the lines you don't
> want to see while the syslog messages scroll
> across the screen.
>
> Say there is a battery condition on router1
> and a duplex mismatch on a switch I don't want
> to see:
>
> tail -f /var/log/router.log /var/log/switch.log
> | egrep -vi 'router1.*battery|switch1.*duplex.*mismatch'
>
> For me, N can get to 40-50 sometimes, so I put
> it into a shell script like so:
>
> vi log.sh
>
> ---------------------------
> #! /bin/sh
>
> tail -f /var/log/router.log /var/log/switch.log
> | egrep -v 'term1|term2|termN'
> ---------------------------
>
> then, run it like so: ./log.sh
>
> It's all netgeek fun-n-games from there on. :)
>
> scott
More information about the NANOG
mailing list