Xymon Mailing List Archive search

File monitor not working in Xymon - using file list generated by wildcard

14 messages in this thread

list Don Kuhlman · Thu, 4 Oct 2012 21:11:31 +0000 ·
Hi folks. I've been trying to figure this out for a while and would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of files that are created every morning at 00:05 AM by a cron job on a server.
There are several files created each night the sql dump runs.
It creates them as filename_backup__yyyymmdd.sql
So each day there are new file names created (never the same name)
I want to alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01]
# dir:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`
# file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql
file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows:
HOST=MYSQLSERVER01
FILE %^.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql mtime>86400 noexist

Xymon generates this msg when I use the full filename – eg mysqlbackup20121004.sql in analysis.cfg
It doesn't work when I try to use a wildcard name (which I need because the filename will change each day) - eg FILE %^.sql

Example alert is below using full real filename:
Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

[red] /Volumes/MySQL_Backups/mysql_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;
File was modified 57134 seconds ago - should be <600


[green] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;


Example below using %^.sql:

 Thu Oct  4 16:10:15 CDT 2012 - Files ok


[green] /Volumes/MySQL_Backups/mysql_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;

[green] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;


Thanks


Don K
list Larry Barber · Thu, 4 Oct 2012 16:39:51 -0500 ·
Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null |
sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks,
Larry Barber
quoted from Don Kuhlman


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid> wrote:
 Hi folks. I've been trying to figure this out for a while and would
appreciate any help.

 I'm trying to monitor for a sql backup by watching for a set of files
that are created every morning at 00:05 AM by a cron job on a server.
There are several files created each night the sql dump runs.
It creates them as filename_backup__yyyymmdd.sql
So each day there are new file names created (never the same name)
I want to alert if the file doesn't get created each day with the new name.

 I have configured the client-local.cfg file as follows:
 [MYSQLSERVER01]
# dir:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`
# file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql
file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

 Analysis.cfg is as follows:
 HOST=MYSQLSERVER01
FILE %^.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql mtime>86400 noexist

 Xymon generates this msg when I use the full filename – eg mysqlbackup20121004.sql
in analysis.cfg
It doesn't work when I try to use a wildcard name (which I need because
the filename will change each day) - eg FILE %^.sql

 Example alert is below using full real filename:
    Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

[image: red] /Volumes/MySQL_Backups/mysql_backup_20121004.sql <http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;
File was modified 57134 seconds ago - should be <600

[image: green] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql <http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;
quoted from Don Kuhlman


Example below using %^.sql:

 Thu Oct  4 16:10:15 CDT 2012 - Files ok

[image: green] /Volumes/MySQL_Backups/mysql_backup_20121004.sql <http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;
[image: green] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql <http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;

Thanks


Don K

list Ryan Novosielski · Fri, 5 Oct 2012 01:33:14 -0400 ·
head -1 is probably a lot more standard (I've been encountering a lot of GNU scripts lately that have made me crazy).
quoted from Larry Barber


From: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid]
Sent: Thursday, October 04, 2012 05:39 PM
To: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid>
Cc: Xymon Email List <xymon at xymon.com>
Subject: Re: [Xymon] File monitor not working in Xymon - using file list generated by wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks,
Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:
Hi folks. I've been trying to figure this out for a while and would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of files that are created every morning at 00:05 AM by a cron job on a server.
There are several files created each night the sql dump runs.
It creates them as filename_backup__yyyymmdd.sql
So each day there are new file names created (never the same name)
I want to alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01]
# dir:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`
# file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql
file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows:
HOST=MYSQLSERVER01
FILE %^.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql mtime>86400 noexist

Xymon generates this msg when I use the full filename – eg mysqlbackup20121004.sql in analysis.cfg
It doesn't work when I try to use a wildcard name (which I need because the filename will change each day) - eg FILE %^.sql

Example alert is below using full real filename:
Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

[http://srmxymon.ambrosi.com/xymon/gifs/red.gif] /Volumes/MySQL_Backups/mysql_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;
File was modified 57134 seconds ago - should be <600


[http://srmxymon.ambrosi.com/xymon/gifs/green.gif] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;
quoted from Larry Barber


Example below using %^.sql:

 Thu Oct  4 16:10:15 CDT 2012 - Files ok


[http://srmxymon.ambrosi.com/xymon/gifs/green.gif] /Volumes/MySQL_Backups/mysql_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;

[http://srmxymon.ambrosi.com/xymon/gifs/green.gif] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;


Thanks


Don K
list Don Kuhlman · Fri, 5 Oct 2012 13:46:19 +0000 ·
Thanks Cynthia, Larry, and Ryan!

I modified the client-local.cfg file as below:
[MYSQLSERVER01]
file:`find /Volumes/MySQL_Backups/ -name "*.sql" -mtime 0  2>/dev/null | sort -r |head -1 --lines=1`

The webpage shows the file is present -
 Fri Oct 5 08:35:16 CDT 2012 - Files ok

[green] /Volumes/MySQL_Backups/mysql_backup_20121005.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>;

If I click the link on the webpage it gives this:
[file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]

type:100000 (file)
mode:644 (-rw-r--r--)
linkcount:1
owner:0 (root)
group:0 (root)
size:501060
clock:1349444303 (2012/10/05-08:38:23)
atime:1349425844 (2012/10/05-03:30:44)
ctime:1349413801 (2012/10/05-00:10:01)
mtime:1349413801 (2012/10/05-00:10:01)

Next I changed the directory so no file matches the find command and then the files icon goes white and gives me the "No files checked" message.

Fri Oct 5 08:45:23 CDT 2012 - Files ok

No files checked


Can anyone advise how I translate that into an email to our DBA to indicate the file doesn't exist ?

Thanks

Don K
quoted from Ryan Novosielski


From: "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>>
Date: Fri, 5 Oct 2012 01:33:14 -0400
To: "'user-6ef9c2864140@xymon.invalid<mailto:'user-6ef9c2864140@xymon.invalid>'" <user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>
Cc: "'xymon at xymon.com<mailto:'xymon at xymon.com>'" <xymon at xymon.com<mailto:xymon at xymon.com>>
Subject: Re: [Xymon] File monitor not working in Xymon - using file list generated by wildcard

head -1 is probably a lot more standard (I've been encountering a lot of GNU scripts lately that have made me crazy).


From: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid]
Sent: Thursday, October 04, 2012 05:39 PM
To: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>
Cc: Xymon Email List <xymon at xymon.com<mailto:xymon at xymon.com>>
Subject: Re: [Xymon] File monitor not working in Xymon - using file list generated by wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks,
Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:
Hi folks. I've been trying to figure this out for a while and would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of files that are created every morning at 00:05 AM by a cron job on a server.
There are several files created each night the sql dump runs.
It creates them as filename_backup__yyyymmdd.sql
So each day there are new file names created (never the same name)
I want to alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01]
# dir:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`
# file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql
file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows:
HOST=MYSQLSERVER01
FILE %^.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql mtime>86400 noexist

Xymon generates this msg when I use the full filename – eg mysqlbackup20121004.sql in analysis.cfg
It doesn't work when I try to use a wildcard name (which I need because the filename will change each day) - eg FILE %^.sql

Example alert is below using full real filename:
Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

[red] /Volumes/MySQL_Backups/mysql_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;
File was modified 57134 seconds ago - should be <600


[green] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;


Example below using %^.sql:

 Thu Oct  4 16:10:15 CDT 2012 - Files ok

[green] /Volumes/MySQL_Backups/mysql_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>[green] /Volumes/MySQL_Backups/herbalife_backup_20121004.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;

Thanks


Don K
list Ryan Novosielski · Fri, 5 Oct 2012 10:08:07 -0400 ·
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd meant there "head -1" by itself, which means "show the first
line." BTW, if you wanted to show just the last line, that would be
"tail -1".
quoted from Don Kuhlman

On 10/05/2012 09:46 AM, Don Kuhlman wrote:
Thanks Cynthia, Larry, and Ryan!

I modified the client-local.cfg file as below: [MYSQLSERVER01] file:`find /Volumes/MySQL_Backups/ -name "*.sql" -mtime 0
2>/dev/null | sort -r |head -1 --lines=1`

The webpage shows the file is present -


Fri Oct 5 08:35:16 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121005.sql
<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>;
quoted from Don Kuhlman

 If I click the link on the webpage it gives this: [file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]

type:100000 (file) mode:644 (-rw-r--r--) linkcount:1 owner:0
(root) group:0 (root) size:501060 clock:1349444303
(2012/10/05-08:38:23) atime:1349425844 (2012/10/05-03:30:44) ctime:1349413801 (2012/10/05-00:10:01) mtime:1349413801
(2012/10/05-00:10:01)

Next I changed the directory so no file matches the find command
and then the files icon goes white and gives me the "No files
checked" message.


Fri Oct 5 08:45:23 CDT 2012 - Files ok

No files checked

Can anyone advise how I translate that into an email to our DBA to indicate the file doesn't exist ?

Thanks

Don K


From: "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid
<mailto:user-ae4522577e16@xymon.invalid>> Date: Fri, 5 Oct 2012 01:33:14 -0400 To: "'user-6ef9c2864140@xymon.invalid <mailto:'user-6ef9c2864140@xymon.invalid>'" <user-6ef9c2864140@xymon.invalid <mailto:user-6ef9c2864140@xymon.invalid>>, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid <mailto:user-5eb2bfadc6c6@xymon.invalid>> Cc:
"'xymon at xymon.com <mailto:'xymon at xymon.com>'" <xymon at xymon.com <mailto:xymon at xymon.com>> Subject: Re: [Xymon] File monitor not
quoted from Don Kuhlman
working in Xymon - using file list generated by wildcard

head -1 is probably a lot more standard (I've been encountering a
lot of GNU scripts lately that have made me crazy).


*From*: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid] *Sent*: Thursday,
October 04, 2012 05:39 PM *To*: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid

<mailto:user-5eb2bfadc6c6@xymon.invalid>> *Cc*: Xymon Email List
<xymon at xymon.com <mailto:xymon at xymon.com>> *Subject*: Re: [Xymon]
quoted from Don Kuhlman
File monitor not working in Xymon - using file list generated by
wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0
2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks, Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid <mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:

Hi folks. I've been trying to figure this out for a while and
would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of files that are created every morning at 00:05 AM by a cron job on
a server. There are several files created each night the sql dump
runs. It creates them as filename_backup__yyyymmdd.sql So each day
there are new file names created (never the same name) I want to
alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows: [MYSQLSERVER01] # dir:`find /Volumes/MySQL_Backups/ -name '*.sql'
-mtime 0 2>/dev/null` #
file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql file:`find
/Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows: HOST=MYSQLSERVER01 FILE %^.sql
COLOR=red mtime<600 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red mtime<600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
red mtime>86400 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red
mtime>600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
mtime>86400 noexist

Xymon generates this msg when I use the full filename – eg mysqlbackup20121004.sql in analysis.cfg It doesn't work when I try
to use a wildcard name (which I need because the filename will
change each day) - eg FILE %^.sql

Example alert is below using full real filename:


Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

red /Volumes/MySQL_Backups/mysql_backup_20121004.sql
<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>;

File was modified 57134 seconds ago - should be <600

green /Volumes/MySQL_Backups/herbalife_backup_20121004.sql
<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;


Example below using %^.sql:


Thu Oct 4 16:10:15 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121004.sql
<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>green
/Volumes/MySQL_Backups/herbalife_backup_20121004.sql
<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>;

 Thanks


Don K

- -- - ---- _  _ _  _ ___  _  _  _
|Y#| |  | |\/| |  \ |\ |  | |Ryan Novosielski - Sr. Systems Programmer
|$&| |__| |  | |__/ | \| _| |user-ae4522577e16@xymon.invalid - 973/972.0922 (2-0922)
\__/ Univ. of Med. and Dent.|IST/EI-Academic Svcs. - ADMC 450, Newark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBu6cYACgkQmb+gadEcsb4+nwCgmDPWgoqU3CArx2qcUMklTceW
ky8An1+npPWhxkVCANKk+DUu8sXkrIXO
=7gwh
-----END PGP SIGNATURE-----
list Don Kuhlman · Fri, 5 Oct 2012 14:17:29 +0000 ·
Thanks Ryan. Do you have any suggestions on how to get an alert if the
file doesn't exist ?  It only gives me "no files checked" when the file
isn't there.  That's okay if I can get that translated into an email that
informs someone that no file was created.

Does that make sense, or is my logic flawed ?

Don
quoted from Ryan Novosielski

On 10/5/12 9:08 AM, "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd meant there "head -1" by itself, which means "show the first
line." BTW, if you wanted to show just the last line, that would be
"tail -1".

On 10/05/2012 09:46 AM, Don Kuhlman wrote:
Thanks Cynthia, Larry, and Ryan!

I modified the client-local.cfg file as below: [MYSQLSERVER01]
file:`find /Volumes/MySQL_Backups/ -name "*.sql" -mtime 0
2>/dev/null | sort -r |head -1 --lines=1`

The webpage shows the file is present -


Fri Oct 5 08:35:16 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121005.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>
quoted from Ryan Novosielski

 If I click the link on the webpage it gives this:
[file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]

type:100000 (file) mode:644 (-rw-r--r--) linkcount:1 owner:0
(root) group:0 (root) size:501060 clock:1349444303
(2012/10/05-08:38:23) atime:1349425844 (2012/10/05-03:30:44)
ctime:1349413801 (2012/10/05-00:10:01) mtime:1349413801
(2012/10/05-00:10:01)

Next I changed the directory so no file matches the find command
and then the files icon goes white and gives me the "No files
checked" message.


Fri Oct 5 08:45:23 CDT 2012 - Files ok

No files checked

Can anyone advise how I translate that into an email to our DBA to
indicate the file doesn't exist ?

Thanks

Don K


From: "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid
<mailto:user-ae4522577e16@xymon.invalid>> Date: Fri, 5 Oct 2012 01:33:14 -0400
To: "'user-6ef9c2864140@xymon.invalid <mailto:'user-6ef9c2864140@xymon.invalid>'"
<user-6ef9c2864140@xymon.invalid <mailto:user-6ef9c2864140@xymon.invalid>>, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid <mailto:user-5eb2bfadc6c6@xymon.invalid>> Cc:
"'xymon at xymon.com <mailto:'xymon at xymon.com>'" <xymon at xymon.com
<mailto:xymon at xymon.com>> Subject: Re: [Xymon] File monitor not
working in Xymon - using file list generated by wildcard

head -1 is probably a lot more standard (I've been encountering a
lot of GNU scripts lately that have made me crazy).


*From*: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid] *Sent*: Thursday,
October 04, 2012 05:39 PM *To*: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid
<mailto:user-5eb2bfadc6c6@xymon.invalid>> *Cc*: Xymon Email List
<xymon at xymon.com <mailto:xymon at xymon.com>> *Subject*: Re: [Xymon]
File monitor not working in Xymon - using file list generated by
wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0
2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks, Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid <mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:

Hi folks. I've been trying to figure this out for a while and
would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of
files that are created every morning at 00:05 AM by a cron job on
a server. There are several files created each night the sql dump
runs. It creates them as filename_backup__yyyymmdd.sql So each day
there are new file names created (never the same name) I want to
alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01] # dir:`find /Volumes/MySQL_Backups/ -name '*.sql'
-mtime 0 2>/dev/null` #
file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql file:`find
/Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows: HOST=MYSQLSERVER01 FILE %^.sql
COLOR=red mtime<600 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red
mtime<600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
red mtime>86400 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red
mtime>600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
mtime>86400 noexist

Xymon generates this msg when I use the full filename ­ eg
mysqlbackup20121004.sql in analysis.cfg It doesn't work when I try
to use a wildcard name (which I need because the filename will
change each day) - eg FILE %^.sql

Example alert is below using full real filename:


Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

red /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>

File was modified 57134 seconds ago - should be <600

green /Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>
quoted from Ryan Novosielski


Example below using %^.sql:


Thu Oct 4 16:10:15 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>green
/Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>
quoted from Ryan Novosielski

 Thanks


Don K

- -- - ---- _  _ _  _ ___  _  _  _
|Y#| |  | |\/| |  \ |\ |  | |Ryan Novosielski - Sr. Systems Programmer
|$&| |__| |  | |__/ | \| _| |user-ae4522577e16@xymon.invalid - 973/972.0922 (2-0922)
\__/ Univ. of Med. and Dent.|IST/EI-Academic Svcs. - ADMC 450, Newark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBu6cYACgkQmb+gadEcsb4+nwCgmDPWgoqU3CArx2qcUMklTceW
ky8An1+npPWhxkVCANKk+DUu8sXkrIXO
=7gwh
-----END PGP SIGNATURE-----

list Larry Barber · Fri, 5 Oct 2012 09:40:44 -0500 ·
If there will always be files in that directory you might want to consider
getting rid of the -mtime argument to your find command. That way you will
always get a file returned and then your mtime test in analysis.cfg will
catch that the returned file, which should be the newest one in the
directory thanks to  the sort,  is too old.

Thanks,
Larry Barber
quoted from Don Kuhlman

On Fri, Oct 5, 2012 at 9:17 AM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid> wrote:
Thanks Ryan. Do you have any suggestions on how to get an alert if the
file doesn't exist ?  It only gives me "no files checked" when the file
isn't there.  That's okay if I can get that translated into an email that
informs someone that no file was created.

Does that make sense, or is my logic flawed ?

Don

On 10/5/12 9:08 AM, "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd meant there "head -1" by itself, which means "show the first
line." BTW, if you wanted to show just the last line, that would be
"tail -1".

On 10/05/2012 09:46 AM, Don Kuhlman wrote:
Thanks Cynthia, Larry, and Ryan!

I modified the client-local.cfg file as below: [MYSQLSERVER01]
file:`find /Volumes/MySQL_Backups/ -name "*.sql" -mtime 0
2>/dev/null | sort -r |head -1 --lines=1`

The webpage shows the file is present -


Fri Oct 5 08:35:16 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121005.sql

<
http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>

 If I click the link on the webpage it gives this:
[file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]

type:100000 (file) mode:644 (-rw-r--r--) linkcount:1 owner:0
(root) group:0 (root) size:501060 clock:1349444303
(2012/10/05-08:38:23) atime:1349425844 (2012/10/05-03:30:44)
ctime:1349413801 (2012/10/05-00:10:01) mtime:1349413801
(2012/10/05-00:10:01)

Next I changed the directory so no file matches the find command
and then the files icon goes white and gives me the "No files
checked" message.


Fri Oct 5 08:45:23 CDT 2012 - Files ok

No files checked

Can anyone advise how I translate that into an email to our DBA to
indicate the file doesn't exist ?

Thanks

Don K


From: "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid
<mailto:user-ae4522577e16@xymon.invalid>> Date: Fri, 5 Oct 2012 01:33:14 -0400
To: "'user-6ef9c2864140@xymon.invalid <mailto:'user-6ef9c2864140@xymon.invalid>'"
<user-6ef9c2864140@xymon.invalid <mailto:user-6ef9c2864140@xymon.invalid>>, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid <mailto:user-5eb2bfadc6c6@xymon.invalid>> Cc:
"'xymon at xymon.com <mailto:'xymon at xymon.com>'" <xymon at xymon.com
<mailto:xymon at xymon.com>> Subject: Re: [Xymon] File monitor not
working in Xymon - using file list generated by wildcard

head -1 is probably a lot more standard (I've been encountering a
lot of GNU scripts lately that have made me crazy).


*From*: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid] *Sent*: Thursday,
October 04, 2012 05:39 PM *To*: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid
<mailto:user-5eb2bfadc6c6@xymon.invalid>> *Cc*: Xymon Email List
<xymon at xymon.com <mailto:xymon at xymon.com>> *Subject*: Re: [Xymon]
File monitor not working in Xymon - using file list generated by
wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0
2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks, Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid <mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:

Hi folks. I've been trying to figure this out for a while and
would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of
files that are created every morning at 00:05 AM by a cron job on
a server. There are several files created each night the sql dump
runs. It creates them as filename_backup__yyyymmdd.sql So each day
there are new file names created (never the same name) I want to
alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01] # dir:`find /Volumes/MySQL_Backups/ -name '*.sql'
-mtime 0 2>/dev/null` #
file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql file:`find
/Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows: HOST=MYSQLSERVER01 FILE %^.sql
COLOR=red mtime<600 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red
mtime<600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
red mtime>86400 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red
mtime>600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
mtime>86400 noexist

Xymon generates this msg when I use the full filename ­ eg
mysqlbackup20121004.sql in analysis.cfg It doesn't work when I try
to use a wildcard name (which I need because the filename will
change each day) - eg FILE %^.sql

Example alert is below using full real filename:


Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

red /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<
http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>

File was modified 57134 seconds ago - should be <600

green /Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<
http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>


Example below using %^.sql:


Thu Oct 4 16:10:15 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<
http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>green
/Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<
http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>

 Thanks


Don K

- --
- ---- _  _ _  _ ___  _  _  _
|Y#| |  | |\/| |  \ |\ |  | |Ryan Novosielski - Sr. Systems Programmer
|$&| |__| |  | |__/ | \| _| |user-ae4522577e16@xymon.invalid - 973/972.0922 (2-0922)
\__/ Univ. of Med. and Dent.|IST/EI-Academic Svcs. - ADMC 450, Newark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBu6cYACgkQmb+gadEcsb4+nwCgmDPWgoqU3CArx2qcUMklTceW
ky8An1+npPWhxkVCANKk+DUu8sXkrIXO
=7gwh
-----END PGP SIGNATURE-----

list Don Kuhlman · Fri, 5 Oct 2012 18:12:24 +0000 ·
Hi Larry. Thanks for the reply.

There should always be files in the directories.  The dba keeps 7 days of backups and deletes anything > 8 days old.
So, here's an update to see if anyone has other suggestions.  It's still not working.  Details on current settings for client-local.cfg and analysis.cfg are below:

Any further help or alertnative method appreciated…

Don K

client-local.cfg for mysqlserver01:
[MYSQLSERVER01]
# dir:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`
# file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql
file:`find /Volumes/MySQL_Backups/ -name '*.sql' 2>/dev/null | sort -r | head -1`

This returns a file with the latest timestamp -
 Fri Oct 5 12:59:57 CDT 2012 - Files ok

[green] /Volumes/MySQL_Backups/mysql_backup_20121005.sql<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>;


Clicking the link above gives this:

[file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]
type:100000 (file)
mode:644 (-rw-r--r--)
linkcount:1
owner:0 (root)
group:0 (root)
size:501060
clock:1349460427 (2012/10/05-13:07:07)
atime:1349444863 (2012/10/05-08:47:43)
ctime:1349444867 (2012/10/05-08:47:47)
mtime:1349444867 (2012/10/05-08:47:47)


From the directory listing snip below:

[root at MySQLServer01 MySQL_Backups]# ls -la
total 9933676
drwxr-xr-x 2 root root       4096 Oct  5 08:47 .
drwxrwxrwx 4 root root       4096 Oct  5 08:48 ..
-rw-r--r-- 1 root root     501060 Oct  3 00:10 mysql_backup_20121003.sql
-rw-r--r-- 1 root root     501060 Oct  4 00:10 mysql_backup_20121004.sql
-rw-r--r-- 1 root root     501060 Oct  5 08:47 mysql_backup_20121005.sql
[root at MySQLServer01 MySQL_Backups]#


I have setup analysis.cfg as below:

HOST=MYSQLSERVER01
FILE /Volumes/MySQL_Backups/mysql_backup_20121005.sql red mtime<600
# FILE %^.sql COLOR=red mtime<86400
signature
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red mtime<600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime>600
# FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql mtime>86400 noexist


quoted from Larry Barber
From: Larry Barber <user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>
Date: Fri, 5 Oct 2012 09:40:44 -0500
To: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>
Cc: Xymon Email List <xymon at xymon.com<mailto:xymon at xymon.com>>
Subject: Re: [Xymon] File monitor not working in Xymon - using file list generated by wildcard

If there will always be files in that directory you might want to consider getting rid of the -mtime argument to your find command. That way you will always get a file returned and then your mtime test in analysis.cfg will catch that the returned file, which should be the newest one in the directory thanks to  the sort,  is too old.

Thanks,
Larry Barber

On Fri, Oct 5, 2012 at 9:17 AM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:
Thanks Ryan. Do you have any suggestions on how to get an alert if the
file doesn't exist ?  It only gives me "no files checked" when the file
isn't there.  That's okay if I can get that translated into an email that
informs someone that no file was created.

Does that make sense, or is my logic flawed ?

Don

On 10/5/12 9:08 AM, "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd meant there "head -1" by itself, which means "show the first
line." BTW, if you wanted to show just the last line, that would be
"tail -1".

On 10/05/2012 09:46 AM, Don Kuhlman wrote:
Thanks Cynthia, Larry, and Ryan!

I modified the client-local.cfg file as below: [MYSQLSERVER01]
file:`find /Volumes/MySQL_Backups/ -name "*.sql" -mtime 0
2>/dev/null | sort -r |head -1 --lines=1`

The webpage shows the file is present -


Fri Oct 5 08:35:16 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121005.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>

 If I click the link on the webpage it gives this:
[file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]

type:100000 (file) mode:644 (-rw-r--r--) linkcount:1 owner:0
(root) group:0 (root) size:501060 clock:1349444303
(2012/10/05-08:38:23) atime:1349425844 (2012/10/05-03:30:44)
ctime:1349413801 (2012/10/05-00:10:01) mtime:1349413801
(2012/10/05-00:10:01)

Next I changed the directory so no file matches the find command
and then the files icon goes white and gives me the "No files
checked" message.


Fri Oct 5 08:45:23 CDT 2012 - Files ok

No files checked

Can anyone advise how I translate that into an email to our DBA to
indicate the file doesn't exist ?

Thanks

Don K


From: "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>

<mailto:user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>>> Date: Fri, 5 Oct 2012 01:33:14 -0400
To: "'user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid> <mailto:'user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>'"
<user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid> <mailto:user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>>, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid> <mailto:user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>> Cc:
"'xymon at xymon.com<mailto:xymon at xymon.com> <mailto:'xymon at xymon.com<mailto:xymon at xymon.com>>'" <xymon at xymon.com<mailto:xymon at xymon.com>
<mailto:xymon at xymon.com<mailto:xymon at xymon.com>>> Subject: Re: [Xymon] File monitor not
quoted from Larry Barber
working in Xymon - using file list generated by wildcard

head -1 is probably a lot more standard (I've been encountering a
lot of GNU scripts lately that have made me crazy).


*From*: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>] *Sent*: Thursday,
October 04, 2012 05:39 PM *To*: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>
<mailto:user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>> *Cc*: Xymon Email List
<xymon at xymon.com<mailto:xymon at xymon.com> <mailto:xymon at xymon.com<mailto:xymon at xymon.com>>> *Subject*: Re: [Xymon]
quoted from Larry Barber
File monitor not working in Xymon - using file list generated by
wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0
2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks, Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid> <mailto:user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>> wrote:

Hi folks. I've been trying to figure this out for a while and
would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of
files that are created every morning at 00:05 AM by a cron job on
a server. There are several files created each night the sql dump
runs. It creates them as filename_backup__yyyymmdd.sql So each day
there are new file names created (never the same name) I want to
alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01] # dir:`find /Volumes/MySQL_Backups/ -name '*.sql'
-mtime 0 2>/dev/null` #
file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql file:`find
/Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows: HOST=MYSQLSERVER01 FILE %^.sql
COLOR=red mtime<600 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red
mtime<600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
red mtime>86400 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red
mtime>600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
mtime>86400 noexist

Xymon generates this msg when I use the full filename ­ eg
mysqlbackup20121004.sql in analysis.cfg It doesn't work when I try
to use a wildcard name (which I need because the filename will
change each day) - eg FILE %^.sql

Example alert is below using full real filename:


Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

red /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>

File was modified 57134 seconds ago - should be <600

green /Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>


Example below using %^.sql:


Thu Oct 4 16:10:15 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>green
/Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>

 Thanks


Don K

- --
- ---- _  _ _  _ ___  _  _  _
|Y#| |  | |\/| |  \ |\ |  | |Ryan Novosielski - Sr. Systems Programmer

|$&| |__| |  | |__/ | \| _| |user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid> - 973/972.0922<tel:973%2F972.0922> (2-0922)
quoted from Larry Barber
\__/ Univ. of Med. and Dent.|IST/EI-Academic Svcs. - ADMC 450, Newark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBu6cYACgkQmb+gadEcsb4+nwCgmDPWgoqU3CArx2qcUMklTceW
ky8An1+npPWhxkVCANKk+DUu8sXkrIXO
=7gwh
-----END PGP SIGNATURE-----

list Don Kuhlman · Fri, 5 Oct 2012 19:49:01 +0000 ·
Hi folks. I believe the issue is my regex on the file name in the analysis.cfg.
I've used about 15 different values and the only thing I seem to get working is using the direct full filename vs, a regex to match any files.

In analysis.cfg the following works as a test:
FILE /Volumes/MySQL_Backups/mysql_backup_20121005.sql red mtime<600

However, using any combos that I can think of as a regex do not:
# These two worked using specifc file name and syntax below
FILE /Volumes/MySQL_Backups/mysql_backup_20121005.sql red mtime<600
#FILE /Volumes/MySQL_Backups/mysql_backup_20121005.sql red mtime>86400
# FILE %/Volumes/MySQL_Backups/*\.sql red mtime<86400
# FILE /Volumes/MySQL_Backups/%*\.sql red mtime<600
# FILE red mtime<600
#FILE /Volumes/MySQL_Backups/%.*?sql red mtime>86400
# FILE %/Volumes/MySQL_Backups/*\.sql red mtime<600
#FILE %^*.sql red mtime>86400
FILE %/Volumes/MySQL_Backups/mysql_backup_%*\.sql COLOR=red mtime>86400

Can anyone suggest a way to format the analysis.cfg statement to match anything that ends in .sql ?

Thanks

Don K
quoted from Larry Barber

From: Larry Barber <user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>
Date: Fri, 5 Oct 2012 09:40:44 -0500
To: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>
Cc: Xymon Email List <xymon at xymon.com<mailto:xymon at xymon.com>>
Subject: Re: [Xymon] File monitor not working in Xymon - using file list generated by wildcard

If there will always be files in that directory you might want to consider getting rid of the -mtime argument to your find command. That way you will always get a file returned and then your mtime test in analysis.cfg will catch that the returned file, which should be the newest one in the directory thanks to  the sort,  is too old.

Thanks,
Larry Barber

On Fri, Oct 5, 2012 at 9:17 AM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:
Thanks Ryan. Do you have any suggestions on how to get an alert if the
file doesn't exist ?  It only gives me "no files checked" when the file
isn't there.  That's okay if I can get that translated into an email that
informs someone that no file was created.

Does that make sense, or is my logic flawed ?

Don

On 10/5/12 9:08 AM, "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd meant there "head -1" by itself, which means "show the first
line." BTW, if you wanted to show just the last line, that would be
"tail -1".

On 10/05/2012 09:46 AM, Don Kuhlman wrote:
Thanks Cynthia, Larry, and Ryan!

I modified the client-local.cfg file as below: [MYSQLSERVER01]
file:`find /Volumes/MySQL_Backups/ -name "*.sql" -mtime 0
2>/dev/null | sort -r |head -1 --lines=1`

The webpage shows the file is present -


Fri Oct 5 08:35:16 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121005.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql>

 If I click the link on the webpage it gives this:
[file:/Volumes/MySQL_Backups/mysql_backup_20121005.sql]

type:100000 (file) mode:644 (-rw-r--r--) linkcount:1 owner:0
(root) group:0 (root) size:501060 clock:1349444303
(2012/10/05-08:38:23) atime:1349425844 (2012/10/05-03:30:44)
ctime:1349413801 (2012/10/05-00:10:01) mtime:1349413801
(2012/10/05-00:10:01)

Next I changed the directory so no file matches the find command
and then the files icon goes white and gives me the "No files
checked" message.


Fri Oct 5 08:45:23 CDT 2012 - Files ok

No files checked

Can anyone advise how I translate that into an email to our DBA to
indicate the file doesn't exist ?

Thanks

Don K


From: "Novosielski, Ryan" <user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>
<mailto:user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid>>> Date: Fri, 5 Oct 2012 01:33:14 -0400
To: "'user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid> <mailto:'user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>'"
<user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid> <mailto:user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>>>, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid> <mailto:user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>> Cc:
"'xymon at xymon.com<mailto:xymon at xymon.com> <mailto:'xymon at xymon.com<mailto:xymon at xymon.com>>'" <xymon at xymon.com<mailto:xymon at xymon.com>
<mailto:xymon at xymon.com<mailto:xymon at xymon.com>>> Subject: Re: [Xymon] File monitor not
working in Xymon - using file list generated by wildcard

head -1 is probably a lot more standard (I've been encountering a
lot of GNU scripts lately that have made me crazy).


*From*: Larry Barber [mailto:user-6ef9c2864140@xymon.invalid<mailto:user-6ef9c2864140@xymon.invalid>] *Sent*: Thursday,
October 04, 2012 05:39 PM *To*: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>
<mailto:user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>> *Cc*: Xymon Email List
<xymon at xymon.com<mailto:xymon at xymon.com> <mailto:xymon at xymon.com<mailto:xymon at xymon.com>>> *Subject*: Re: [Xymon]
File monitor not working in Xymon - using file list generated by
wildcard

Perhaps if you set up your client-local.cfg entry like:

file:`find /Volumes/MySQL_Backups/ -name '*.sql' -mtime 0
2>/dev/null | sort -r | head --lines=1`

so that only the most recent file (by name) will be returned.

Thanks, Larry Barber


On Thu, Oct 4, 2012 at 4:11 PM, Don Kuhlman
<user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid> <mailto:user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>> wrote:

Hi folks. I've been trying to figure this out for a while and
would appreciate any help.

I'm trying to monitor for a sql backup by watching for a set of
files that are created every morning at 00:05 AM by a cron job on
a server. There are several files created each night the sql dump
runs. It creates them as filename_backup__yyyymmdd.sql So each day
there are new file names created (never the same name) I want to
alert if the file doesn't get created each day with the new name.

I have configured the client-local.cfg file as follows:
[MYSQLSERVER01] # dir:`find /Volumes/MySQL_Backups/ -name '*.sql'
-mtime 0 2>/dev/null` #
file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql file:`find
/Volumes/MySQL_Backups/ -name '*.sql' -mtime 0 2>/dev/null`

Analysis.cfg is as follows: HOST=MYSQLSERVER01 FILE %^.sql
COLOR=red mtime<600 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<600 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql COLOR=red
mtime<600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
red mtime>86400 # FILE
/Volumes/MySQL_Backups/mysql_backup_20121004.sql red mtime<86400 #
FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql red
mtime>600 # FILE /Volumes/MySQL_Backups/mysql_backup_20121004.sql
mtime>86400 noexist

Xymon generates this msg when I use the full filename ­ eg
mysqlbackup20121004.sql in analysis.cfg It doesn't work when I try
to use a wildcard name (which I need because the filename will
change each day) - eg FILE %^.sql

Example alert is below using full real filename:


Thu Oct 4 16:02:11 CDT 2012 - Files NOT ok

red /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>

File was modified 57134 seconds ago - should be <600

green /Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>


Example below using %^.sql:


Thu Oct 4 16:10:15 CDT 2012 - Files ok

green /Volumes/MySQL_Backups/mysql_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/mysql_backup_20121004.sql>green
/Volumes/MySQL_Backups/herbalife_backup_20121004.sql

<http://srmxymon.ambrosi.com/xymon-cgi/svcstatus.sh?CLIENT=MYSQLSERVER01&;
SECTION=file:/Volumes/MySQL_Backups/herbalife_backup_20121004.sql>

 Thanks


Don K

- --
- ---- _  _ _  _ ___  _  _  _
|Y#| |  | |\/| |  \ |\ |  | |Ryan Novosielski - Sr. Systems Programmer
|$&| |__| |  | |__/ | \| _| |user-ae4522577e16@xymon.invalid<mailto:user-ae4522577e16@xymon.invalid> - 973/972.0922<tel:973%2F972.0922> (2-0922)
\__/ Univ. of Med. and Dent.|IST/EI-Academic Svcs. - ADMC 450, Newark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBu6cYACgkQmb+gadEcsb4+nwCgmDPWgoqU3CArx2qcUMklTceW
ky8An1+npPWhxkVCANKk+DUu8sXkrIXO
=7gwh
-----END PGP SIGNATURE-----

list Jeremy Laidman · Mon, 8 Oct 2012 09:56:26 +1100 ·
quoted from Don Kuhlman
On 6 October 2012 05:49, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid> wrote:
 Hi folks. I believe the issue is my regex on the file name in the
analysis.cfg.
I've used about 15 different values and the only thing I seem to get
working is using the direct full filename vs, a regex to match any files.
In regular expressions the asterisk is not a wildcard in the same way as in
DOS/Windows.  Instead, it is read as "zero or more of the previous
character or symbol."  So what you probably want is ".*".  The dot "." is a
one-character-width wildcard, which is why it needs to be escaped if you
want to match a literal dot.  So ".*" means zero or more of any character.

Also, a regular expression match is applied only when the match string
STARTS with a percent.

However, using any combos that I can think of as a regex do not:
 # FILE %/Volumes/MySQL_Backups/*\.sql red mtime<86400
Here, you are asking to match zero or more slash characters before a ".sql".

# FILE /Volumes/MySQL_Backups/%*\.sql red mtime<600
Doesn't start with percent.

#FILE %^*.sql red mtime>86400
Again, ".*" rather than "*".
quoted from Don Kuhlman

Can anyone suggest a way to format the analysis.cfg statement to match
anything that ends in .sql ?
Try this:


FILE %/Volumes/MySQL_Backups/mysql_backup_.*\.sql red mtime<86400

This should go red if the matching file is older than 1 day.

J
list Don Kuhlman · Mon, 8 Oct 2012 17:59:23 +0000 ·
Jeremy. Thanks very much! That worked.  I was googling and trying to read all the regex tutorials I could find. I tried pcre on the server, but wasn't able to get the combinations right.

I really appreciate the help!

Don K
quoted from Jeremy Laidman


From: Jeremy Laidman <user-71895fb2e44c@xymon.invalid<mailto:user-71895fb2e44c@xymon.invalid>>
Date: Mon, 8 Oct 2012 09:56:26 +1100
To: Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>>
Cc: Xymon Email List <xymon at xymon.com<mailto:xymon at xymon.com>>
Subject: Re: [Xymon] File monitor not working in Xymon - using file list generated by wildcard

On 6 October 2012 05:49, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid<mailto:user-5eb2bfadc6c6@xymon.invalid>> wrote:
Hi folks. I believe the issue is my regex on the file name in the analysis.cfg.
I've used about 15 different values and the only thing I seem to get working is using the direct full filename vs, a regex to match any files.

In regular expressions the asterisk is not a wildcard in the same way as in DOS/Windows.  Instead, it is read as "zero or more of the previous character or symbol."  So what you probably want is ".*".  The dot "." is a one-character-width wildcard, which is why it needs to be escaped if you want to match a literal dot.  So ".*" means zero or more of any character.

Also, a regular expression match is applied only when the match string STARTS with a percent.

However, using any combos that I can think of as a regex do not:
# FILE %/Volumes/MySQL_Backups/*\.sql red mtime<86400

Here, you are asking to match zero or more slash characters before a ".sql".

# FILE /Volumes/MySQL_Backups/%*\.sql red mtime<600

Doesn't start with percent.

#FILE %^*.sql red mtime>86400

Again, ".*" rather than "*".

Can anyone suggest a way to format the analysis.cfg statement to match anything that ends in .sql ?

Try this:


FILE %/Volumes/MySQL_Backups/mysql_backup_.*\.sql red mtime<86400

This should go red if the matching file is older than 1 day.

J
list Don Kuhlman · Mon, 8 Oct 2012 18:38:58 +0000 ·
Hi folks. I'm posting this to the list as a summary of what was done so
that it's all in one place.  Hopefully, this may help others trying to do
the same thing.  Much thanks to Larry B, Ryan N, Cynthia R, and Jeremy L
for their input on this problem.

Question:  How do I monitor if a file is less than 24 hours old in a Linux
Directory and alert if none are found using Xymon?
Purpose:  To validate that SQL Backups are running by checking for
existence of a SQL dump file being created daily by a cron job at various
times.

Description:  We run cron jobs to do mysql dumps on various hosts every
morning at 00:05 and 00:10 am.
We also run a cron job at 00:15 to delete files older than 8 days. Not
doing any monitoring for this event though.

Requirement: We need to have our Xymon server monitor the directories and
alert/email if there has not been a new file created within the past 24
hours.  There can be more than one file created since there can be more
than one database on a host.  This results in us needing to search for
multiple files in the same directories with the same timestamp requirement
being < 24 hour old.

Logic - We use the Xymon agent to check a directory for a file that is
created with a name of ???????_backup.YYYYmmdd.sql
There may be more than one file created during each dump. So we need to
look for any file that matches the date value.
Our logic is that in order to verify our dumps are working, we should
always see new files that are less than 24 hours old in the target
directories. We will use Xymon to watch for specific files and alert if
the file doesn't exist.
This is done using a combination of a find command in the
client-local.cfg, a regex in the analysis.cfg, and the corresponding
alerts.cfg to send the email to the right people.

Here are the values we used in our Xymon configurations to check for files
and then only return two entries to the analysis engine, and alert if
either of these two files are older than 24 hours. That would signal to us
that a dump did not occur the night before.

Client-local.cfg
# This will cause the Xymon client agent to do a find command on the
directory /Volumes/MySQL_Backups for any file ending in
# .sql. It will pipe the output to the sort command to reverse the order
(eg newest files on top) and then return only the
# first two lines of the results sorted by the YYYYmmdd values and not the
first part of the filename.

[hostservernamegoeshere]
file:`find /Volumes/MySQL_Backups/ -name '*.sql' |sort -r  -t"_" -k3 -k1
-k2 | head -2`

This returns two files as below because they are the newest files found:
/Volumes/MySQL_Backups/mysql_backup_20120923.sql - file date/time Sept 23
2012 00:10
/Volumes/MySQL_Backups/othersql_backup_20121008.sql - file date/time Oct 8
2012 00:10


Analysis.cfg


# This will cause the Xymon analysis engine to look at the results (from
above) for this host and
# if either of the two files returned have a modified time greater than 24
hours it will create a red alert condition.
HOST=hostservernamegoeshere
FILE %/Volumes/MySQL_Backups/.*\.sql red mtime<86400

Alerts.cfg
# This line will send an email to the recipient when the Xymon analysis
engine creates a files event for this host
# it will send it every 5 minutes using a custom perl email script
HOST=hostservernamegoeshere SERVICE=files
script /usr/lib64/xymon/server/ext/html_mail.pl user-c42f185af994@xymon.invalid
FORMAT=TEXT REPEAT=5m


Here is the resulting xymon webpage alert and email if either of the two
files does NOT exist:

red Mon Oct  8 11:22:43 CDT 2012 - Files NOT ok

 /Volumes/Backups/MySQL_Backups/mysql_backup_20120923.sql
CLIENT=hostservernamegoeshere&SECTION=file:/Volumes/MySQL_Backups/mysql_bac
kup_20120923.sql>
File was modified 850245 seconds ago - should be <86400


Green Mon Oct 8 11:22:43 CDT 2012 - File OK
 /Volumes/Backups/MySQL_Backups/othersql_backup_20121008.sql
CLIENT=twist01_dev&SECTION=file:/Volumes/MySQL_Backups/othersql_backup_2012
1008.sql>


Don K
list Josh Luthman · Mon, 8 Oct 2012 15:04:00 -0400 ·
This has worked for me for the last few months.  This tells me if the
cameras haven't been updated in 10 minutes or if there are any files in
/opt/powermonitor-notices/ (if there is then it tells me there is a power
outages somewhere).

This doesn't help directly, but perhaps consider monitor one directory
which contains the latest backup and then rotates them out of it.

client-local.cfg:
[FOOBAR.imaginenetworksllc.com]
file:/var/www/inxwireless/network/output.png
file:/var/www/inxwireless/BARFF/outage.png
file:/var/www/inxwireless/images/officecam.jpg
file:/var/www/inxwireless/images/gf36cam.jpg
file:`ls -1 /opt/powermonitor-notices/*`

hobbit-clients.cfg:
HOST=FOOBAR.imaginenetworksllc.com
        PROC    httpd 1 -1 red
        PROC    cron 1 -1 red
        PROC    ntpd  1 -1 red
        FILE    /var/www/inxwireless/network/output.png red mtime<600
        FILE    /var/www/inxwireless/BARFF/outage.png red mtime<600
        FILE    /var/www/inxwireless/images/officecam.jpg red mtime<600
        FILE    /var/www/inxwireless/images/gf36cam.jpg red mtime<600
        FILE    %/opt/powermonitor-notices/noticeofpowerfailure.* red
noexist

Josh Luthman
Office: XXX-XXX-XXXX
Direct: XXX-XXX-XXXX
XXXX Wayne St
Suite XXXX
Troy, OH XXXXX
quoted from Don Kuhlman


On Mon, Oct 8, 2012 at 2:38 PM, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid> wrote:
Hi folks. I'm posting this to the list as a summary of what was done so
that it's all in one place.  Hopefully, this may help others trying to do
the same thing.  Much thanks to Larry B, Ryan N, Cynthia R, and Jeremy L
for their input on this problem.

Question:  How do I monitor if a file is less than 24 hours old in a Linux
Directory and alert if none are found using Xymon?
Purpose:  To validate that SQL Backups are running by checking for
existence of a SQL dump file being created daily by a cron job at various
times.

Description:  We run cron jobs to do mysql dumps on various hosts every
morning at 00:05 and 00:10 am.
We also run a cron job at 00:15 to delete files older than 8 days. Not
doing any monitoring for this event though.

Requirement: We need to have our Xymon server monitor the directories and
alert/email if there has not been a new file created within the past 24
hours.  There can be more than one file created since there can be more
than one database on a host.  This results in us needing to search for
multiple files in the same directories with the same timestamp requirement
being < 24 hour old.

Logic - We use the Xymon agent to check a directory for a file that is
created with a name of ???????_backup.YYYYmmdd.sql
There may be more than one file created during each dump. So we need to
look for any file that matches the date value.
Our logic is that in order to verify our dumps are working, we should
always see new files that are less than 24 hours old in the target
directories. We will use Xymon to watch for specific files and alert if
the file doesn't exist.
This is done using a combination of a find command in the
client-local.cfg, a regex in the analysis.cfg, and the corresponding
alerts.cfg to send the email to the right people.

Here are the values we used in our Xymon configurations to check for files
and then only return two entries to the analysis engine, and alert if
either of these two files are older than 24 hours. That would signal to us
that a dump did not occur the night before.

Client-local.cfg
# This will cause the Xymon client agent to do a find command on the
directory /Volumes/MySQL_Backups for any file ending in
# .sql. It will pipe the output to the sort command to reverse the order
(eg newest files on top) and then return only the
# first two lines of the results sorted by the YYYYmmdd values and not the
first part of the filename.

[hostservernamegoeshere]
file:`find /Volumes/MySQL_Backups/ -name '*.sql' |sort -r  -t"_" -k3 -k1
-k2 | head -2`

This returns two files as below because they are the newest files found:
/Volumes/MySQL_Backups/mysql_backup_20120923.sql - file date/time Sept 23
2012 00:10
/Volumes/MySQL_Backups/othersql_backup_20121008.sql - file date/time Oct 8
2012 00:10


Analysis.cfg


# This will cause the Xymon analysis engine to look at the results (from
above) for this host and
# if either of the two files returned have a modified time greater than 24
hours it will create a red alert condition.
HOST=hostservernamegoeshere
FILE %/Volumes/MySQL_Backups/.*\.sql red mtime<86400

Alerts.cfg
# This line will send an email to the recipient when the Xymon analysis
engine creates a files event for this host
# it will send it every 5 minutes using a custom perl email script
HOST=hostservernamegoeshere SERVICE=files
script /usr/lib64/xymon/server/ext/html_mail.pl user-c42f185af994@xymon.invalid
FORMAT=TEXT REPEAT=5m


Here is the resulting xymon webpage alert and email if either of the two
files does NOT exist:

red Mon Oct  8 11:22:43 CDT 2012 - Files NOT ok

 /Volumes/Backups/MySQL_Backups/mysql_backup_20120923.sql
CLIENT=hostservernamegoeshere&SECTION=file:/Volumes/MySQL_Backups/mysql_bac
kup_20120923.sql>
File was modified 850245 seconds ago - should be <86400


Green Mon Oct 8 11:22:43 CDT 2012 - File OK
 /Volumes/Backups/MySQL_Backups/othersql_backup_20121008.sql
CLIENT=twist01_dev&SECTION=file:/Volumes/MySQL_Backups/othersql_backup_2012
1008.sql>


Don K

list Jeremy Laidman · Tue, 9 Oct 2012 10:38:50 +1100 ·
quoted from Don Kuhlman
On 9 October 2012 04:59, Don Kuhlman <user-5eb2bfadc6c6@xymon.invalid> wrote:
 Jeremy. Thanks very much! That worked.  I was googling and trying to
read all the regex tutorials I could find. I tried pcre on the server, but
wasn't able to get the combinations right.
I hear ya.  Regexps are extremely flexible, but that comes with complexity.

There's a good intro here:

http://www.zytrax.com/tech/web/regex.htm

This page also has a "test your regexp" sandbox.

J