1

This the log file that I want to monitor:

/test/James-2018-11-16_15215125111115-16.15.41.111-appserver0.log

I want Nagios to read it this log file so I can monitor a specific string.

The issue is with 15215125111115 this is the random id that gets generated

Here is my script where the Nagios is checking for the Logfile path:

Veriables:

HOSTNAMEIP=$(/bin/hostname -i)
DATE=$(date +%F)

..

CHECK=$(/usr/lib64/nagios/plugins/check_logfiles/check_logfiles --tag='failorder' --logfile=/test/james-${date +"%F"}_-${HOSTNAMEIP}-appserver0.log ....

I am getting the following output in nagios:

could not find logfile /test/James-2018-11-16_-16.15.41.111-appserver0.log

15215125111115 This number is always generated randomly but I don't know how to get nagios to identify it. Is there a way to add a variable for this or something? I tried adding an asterisk "*" but that didn't work.

Any ideas would be much appreciated.

2 Answers2

2

I would run a separate script, via cron, that identifies the newest log file and makes a symlink to it (named something like "latest.log"). There are several ways you could do this (using ls -rt | tail or find -mtime, for example).

If the new logfile is created at the same time every day, schedule it to run right after that. If not, have it run every (minute, 5 minutes, whatever), checking for a new log file.

... And then have check_logfiles use that symlink.

Keith
  • 4,637
  • 15
  • 25
0

there are now predefined macros to be used found in the readme file - check_logfiles directory

   $CL_HOSTNAME$ - the hostname without domain.
   $CL_IPADDRESS$ - the IP address of the aforementioned.
   $CL_DATE_YYYY$ - the year (1970...)
   $CL_DATE_MM$ - the month (01..12)
   $CL_DATE_DD$ - the day of month (01..31)
   $CL_DATE_HH$ - the hour (00..23)
   $CL_DATE_MI$ - the minute (00..59)
   $CL_DATE_SS$ - the second (00..59)
   $CL_SERVICEDESC$ - the service description derived from the config file.
   $CL_NSCA_SERVICEDESC$ - dto.
   $CL_NSCA_HOST_ADDRESS$ - the local address 127.0.0.1
   $CL_NSCA_PORT$ - 5667
   $CL_NSCA_TO_SEC$ - 10
   $CL_NSCA_CONFIG_FILE$ - send_nsca.cfg
Mazza
  • 1