We started to develop an advanced logfile processing system with
Example (Security, Intrusion Detection)
Assume you process log files from a distributed net of desktop
computers. Then report a warning for more than three failed (SSH)
login attempts (but no successful login inbetween):
[fail,user=X]{3,} ![success,user=X] ==> [login=fail,user=X]
Example (Database Management System, Performance Alert)
Consider a DBMS that
supports multi
granularity locking and you want to trigger a performance
alert (e.g., send an e-mail to the database admin) if more
than 100 records are written in the same page (and hence the
DBMS should switch the granularity, i.e., lock whole pages
instead of tuples):
[lockX,page=Y,record=_]{100,*} ==> sendMail()
Example (Machine Learning Component, dmesg)
Take the messages you typically find in a
syslog of a UNIX system (e.g., as shown by dmesg) and start
learning clusters. E.g., when a USB stick is attached, you get
about 10 messages but in the end the sysadmin would just like
to see the single event usb attached.
As you see the log system should be able to cover a broad range of possible applications; whenever a bunch of log messages is generated there is a need for (semi-)automatic analysis. The need for such a system also arises when we want to perform actions not supported by the individual system (e.g., the DBMS might adapt the lock granularity but might not be able to send an e-mail in this situation).