Recently we’ve been thinking about how we can better monitor the collection of systems that we manage. These can be client servers with very diverse configurations, access, or functions. Additionally, we have our own array of systems, almost as diverse as our clients’.
Trying keep track of all this can easily become a source of headaches, but we have been gradually integrating tools into our toolkit to allow better monitoring. One which we’ve used for a while now is Facter, a Ruby based library of routines for collecting “facts” about your servers. Normally this is used as part of the Puppet deployment system, which we also use, but it can be used independently too.
It probably comes as no surprise that Facter’s default reporting facts are pretty generic — which OS are you running, how much RAM is installed, etc. This data we currently have emailed out to a report handler, which then collates all this into web based reports. But for the FileMaker Servers we manage I’d like to get something more specific about how FileMaker is doing. Things like how much network I/O has FMS done over the last hour, what errors have been logged recently, when was the last backup completed, etc.
Unfortunately, it has been a lot more time consuming then I expected to create these “custom facts”, as Facter calls them. So at the moment I have a meager collection of just two working facts:
- current file count
- FileMaker Server version
What makes this especially difficult is finding consistent methods of collecting the data, that works cross-platform, and does not require using credentials with fmsadmin command. So just in case anyone else is inclined, I’ve put up my work so far on a public repo: https://github.com/beezwax/filemaker-facter. Although I will continue to grind away at it, feel free to add in your contributions too!