Frequently Asked Questions
OpenStatus is saying I have way more free RAM than I really do.
The Linux kernel uses free RAM for disk caching. This RAM is typically reported as "Used" by tools such as top, but it's actually available for use by applications if needed. OpenStatus reports the total amount of RAM that applications can use, including what the kernel is using for caching. See this page for more information about this.
There's some kind of permission error when I try to view the web interface
PHP's sqlite module requires that the database file, and the directory that it's in, be owned by the user the PHP scripts are running as. This is usually "www-data", but it could also be "nobody" or "apache", or something else. Make sure that the database file and it's directory are owned by the same user PHP is running as. The user that openstatus-server runs as only needs read and write permissions to the file.
I can't add anything on the Admin page
If you're using php-cgi or php-fpm, it must be restarted after installing the PHP sqlite module.
Why should I use this instead of Nagios or Monit or [insert your favorite monitoring package]?
Every monitoring system has its advantages and disadvantages. Nagios, for example, is an extremely powerful and flexible monitoring solution, but in my experience, it's a pain in the behind to set up, and it can be a bit overkill if you only want to do basic monitoring. And have you seen the default interface? I haven't used Monit, but it seems to have at least one of the same problems as Nagios - it's overkill for my needs. OpenStatus Server is easy to install and easy to configure, and the status page is simple, but elegant.
Why python? Why not C or C++ or FORTRAN or [your favoring language]?
I don't know C. I don't know C++. I don't know FORTRAN. And I currently have no desire to learn them. I know PHP, and I know a bit of python and a bit of perl. This project is a way for me to learn more about Python while making something that I'll actually find useful - it's no fun programming something you're never going to use! According to the Debian Popularity Contest, python is installed on over 60% of computers running Debian, and I find it to be pretty easy to use. Unlike a compiled language, it's much easier to modify a python script. You don't have to download the source code, modify it, then recompile - just open the script, edit it, and save! Oh, and scrd, which the client portion of OpenStatus is based on, was written in python, so it was the natural choice.
You should add [some feature].
I'm always open to adding new features that are useful. Create a new ticket with the details of any new features you'd like to see added. If you've added a cool feature on your own, send me a git pull request, and I'll consider including it in the next release of OpenStatus. Unfortunately, I may not be able to add all requested features, but I will definitely try to add those that I feel are the most useful.
Can I use this to monitor Windows servers? What about Mac OSX or FreeBSD?
Windows: no. The client portion of OpenStatus relies on numerous utilities that are usually only found on Unix-like systems, such as the "ps" and "hostname" commands. It should, therefore, also work on Mac OSX and FreeBSD, but I haven't tested it on those platforms. If you try it and it works, please let me know.
Why should I use the Debian repo instead of just downloading the file?
When using Debian (and its derivatives like Ubuntu), installing software from repositories makes it quick and easy to get updates when they're released, simply by running "apt-get update && apt-get upgrade". Installation from the repo ensures that everything is installed where it's expected to be, and handles dependencies automatically. In addition, the Debian packages contain (minimal) manual pages, which you may find useful. Finally, it makes it very easy to uninstall OpenStatus if you decide to stop using it.
Unfortunately, I don't know how to create .rpm packages, so if you're using RHEL, CentOS, OpenSUSE, or any other distro that uses RPMs, you'll have to do the install manually. If you'd like to create and distribute .rpm packages, please feel free to do so. Even better would be to send me a script that creates the proper packages from the current source tree.
How can I monitor how many packages have updates available?
I've modified a script from the update-notifier-common package in debian to make it a little easier to use... It can be downloaded here. Make sure that you "chmod +x" the script and put it in your PATH (or use the full path to it). Usage is simple: "apt_check.py -r" to get the number of regular updates, "apt_check.py -s" to get the number of security updates. Use this with the Custom Commands option, with "type = integer" and "warning = 0", to be alerted when there are updates. Here's the configuration that I use:
[commands]
[[Updates]]
command = apt_check.py -r
type = integer
warning = 0
critical = 10
[[Security Updates]]
command = apt_check.py -s
type = integer
warning = 0 # Warning and critical are both 0 because I want a critical alert if there are any security updates.
critical = 0
Why did you move from Github to trac?
Github is nice, but it doesn't fit my needs perfectly. Also, I wanted to work with trac and get familiar with it. All updates to the source code will still be pushed to Github.