[syslog-ng] How to get list of IPs

Nik Ambrosch nik at ambrosch.com
Fri May 12 17:54:53 UTC 2017


someone correct me if i’m wrong, but i don’t think there’s a good way to get this information directly from the syslog-ng daemon, especially if it’s restarted.  a more reliable way is to pull the data off disk.

depending on your log volume putting them into a database will allow you to easily do this with a single query.  i write about 20 million log lines into a mysql database every day so this should cover most use cases.  a query would look like one of these two (depends if you want a line count or not):

  mysql> select distinct host from syslog_table_20170511;
  mysql> select distinct host,count(*) as count from syslog_table_20170511 group by host order by count desc;

pulling from log files on disk is obviously takes longer to run but can be done with a one-liner like this:

  $ cat file.log | awk '{print $1}' | sort | uniq -c | sort -nr

another option is to write one log file per host and just run an ls to see which hosts have sent logs for the day, for example:

/loghost/YYYYMMDD/hostname.prv.log

the dynamic path can be setup using syslog-ng.


> On May 12, 2017, at 1:11 PM, Sathish Sundaravel <sathish.sundaravel at gmail.com> wrote:
> 
> Hi All
> 
> I have syslog Ng server running on Solaris platform and configured to receive or accept events from all unix servers in one single log file.
> 
> If I want to collect list of servers reporting to the log server , I have to manually extract list from a single log file which is too much time consuming . What would the best way ? 
> 
> Regards
> Sathish 
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
> 



More information about the syslog-ng mailing list