Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


OpenStatus 0.4.0 Released!
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

OpenStatus 0.4.0 Released!

NickMNickM Member
edited December 2011 in General

OpenStatus 0.4.0 has been released! Version 0.4.0 has several new features that make OpenStatus a more comprehensive monitoring system. You can view a demo of OpenStatus here. Debian users can install OpenStatus easily using my personal Debian repository. More information about OpenStatus, as well as installation instructions, can be found here.

Improvements / New Features since version 0.3.0

  • Server switched to python-twisted instead of asyncore module
  • Historical data now stored for all servers
  • Average data transfer speed now monitored
  • Graphs of RAM / disk / CPU usage and transfer speed
  • Optional grouping of servers by provider (or whatever you want to use the "Provider" field for)
  • Support for additional alerting methods (run a command, or send output via TCP)

Features

  • Monitor RAM, CPU, disk usage, and data transfer
  • Graphs of data over several time periods (1 hour, 3 hours, 6 hours, 12 hours, 1 day)
  • Monitor Apache, MySQL, or any other process
  • Monitor the output of any command
  • Alerting via email, XMPP, IRC, or any custom method
  • Easy to use web interface

Planned Features

  • Mobile version of the web interface
  • Alternate database backends (MySQL, postgresql)
  • Windows monitoring program
  • Android App (maybe)

If you have any questions or suggestions, or run into any problems, please let me know here (alternately, I can be be found in #frantech on irc.dairc.net). Please note that testing has only been performed on Debian 6 (Squeeze). I do provide packages for Debian 5 (Lenny) which should work, but I don't make any promises about that, since Lenny has an older version of Python than Squeeze has.

«1

Comments

  • maxexcloomaxexcloo Member
    edited December 2011

    This looks awesome!
    It's tempting me away from my safe simple script :D

    Two small requests/ideas for the next version:
    - Ability to sort the output/admin panel by provider then server name :)
    - MySQL Support (since some users already run it)
    Thanks for working on this, it's getting more awesome by the day ;)

  • Thanks :) Those are both excellent ideas, @maxexcloo. I do plan to add MySQL support (and postgresql if I feel adventurous). Sorting should be pretty easy to add as well.

  • fanfan Veteran

    One problem I found: the openstatus-server install via your repository comes with apache and php but I already have nginx and php installed(self-compiled). Will try compile directly from source later. :)

  • SwordfishBESwordfishBE Member
    edited December 2011

    Nice!
    However on linux-vserver containers the traffic monitoring will not work :)

    Request! IPv6 support?

  • It would be nice to be able to edit the server information. You can edit notes, and add service, but you can't change the name or the IP address. It would be nice to be able to change those.

  • vedranvedran Veteran
    edited December 2011

    It looks like upgrade isn't working

    # apt-get install openstatus-server
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    openstatus-server is already the newest version.

    Same for the client

    I'm quite sure I don't have 0.4.0, I believe the last time I updated was weeks ago (0.3.0).

    My sources.list contains

    deb http://deb.nickmoeck.com/debian/ stable main

    (or you're not maintaining debian package anymore?)

    Anyway, those new features look great, can't wait to try them out!

  • Another question is how do you get it to update? I have installed Dime's scrd and Nikki's myself in the past, and I had it working fine. I saw this, and I wanted to try it because it has more features, and it is easier to install. The only issue is that I can't get it to add new servers. They never update, and it doesn't seem like it actually connects to them.

  • @vedran said: It looks like upgrade isn't working

    apt-get install openstatus-server

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    openstatus-server is already the newest version.
    Same for the client

    I'm quite sure I don't have 0.4.0, I believe the last time I updated was weeks ago (0.3.0).

    My sources.list contains

    deb http://deb.nickmoeck.com/debian/ stable main

    (or you're not maintaining debian package anymore?)

    Anyway, those new features look great, can't wait to try them out!

    Did you do a apt-get update before hand? The repo has the latest version there. I just installed it.

    Thanked by 1vedran
  • vedranvedran Veteran
    edited December 2011

    Ignore my previous comment, I'm just tired and it's been a busy day :S

    Thanks @dclardy, it works now

  • I got it to add more servers. If there is an error, you have to fix that one before you can add something else.

  • KEEP IT UP. THANK YOU.

  • Can you please use rrdtool for graphs.

  • Awesome additions Nick. Thanks for your efforts.

  • cedriccedric Member
    edited December 2011

    @justinb said: Can you please use rrdtool for graphs.

    Why? The current ones look fine.

  • @fan said: One problem I found: the openstatus-server install via your repository comes with apache and php but I already have nginx and php installed(self-compiled). Will try compile directly from source later. :)

    The package doesn't depend on apache or any specific type of php. What's happening is apt/dpkg doesn't know that you have php installed, so it's trying to install it, and in Debian, regular PHP for some reason depends on Apache. You can use equivs to trick dpkg into thinking that PHP is installed, or recompile PHP, but use check-install to create a debian package. This, unforunately, is one of the drawbacks of installing stuff from outside of your distros package manager.

    @SwordfishBE said: However on linux-vserver containers the traffic monitoring will not work :)
    Request! IPv6 support?

    I don't have access to a linux-vserver container, but as long as ifconfig outputs an interface (and it shows the traffic information), it should work. I haven't tested IPv6 but a quick check into it indicates that Twisted doesn't support it at the moment, which would require me to basically rewrite large parts of the server.

    @dclardy said: It would be nice to be able to edit the server information. You can edit notes, and add service, but you can't change the name or the IP address. It would be nice to be able to change those.

    This is on the roadmap for version 0.5.0.

    @justinb said: Can you please use rrdtool for graphs.

    No, sorry. rrdtool is a pain in the ass, and I find the charts to be not only pretty ugly, but also pretty widely used, which would make OpenStatus just like every other monitoring system out there.

    Thanks for all of the feedback, everyone!

    Thanked by 3yomero fan mrm2005
  • Wow, equivs.... Thanks for that wonderful tip :P

  • DowntimeVPS

    heh :)

  • fanfan Veteran

    Works great after the equivs trick, thanks for your tip @NickM!

  • @NickM Any idea why it would say that a server is down when it is getting the information from it? It looks like it is not updating the time since updated field for a particular server. I have deleted and readded still no go!

  • @dclardy: the time on the server that's showing up as down might be off. The client sends a timestamp along with the rest of the data, and that timestamp is trusted by openstatus-server to be correct. If it's not.... well.... weird stuff like that can happen.

  • LivingSouLLivingSouL Member
    edited December 2011

    How do you configure lighttpd with simple vhost enabled to point to the right directory for this status?

    I've already configured it like this and still it goes to the default vhost.

    $HTTP["host"] == "stats2.example.com" {
        server-vhost.document-root = "/usr/share/openstatus-server/public_html"
        server.document-root = "/usr/share/openstatus-server/public_html/"
    }
    

    Edit: I got it working. But I don't see any stats yet. Hmmmm
    Edit: Got! Thanks! :D

  • I'm not an expert on lighttpd, but isn't it "simple-vhost" not "server-vhost" ?

  • @NickM said: I'm not an expert on lighttpd, but isn't it "simple-vhost" not "server-vhost" ?

    Yeah me too, i just figured that out. LOL thanks.

    My problem now is, my CentOS client isn't sending any infos and status says its down. Any idea?

  • NickMNickM Member
    edited December 2011

    Run openstatus-client with the -d switch. It'll give you some extra debugging information and won't fork into the background, which should make it easier to debug.

  • This is the result:

    # ./openstatus-client -d
    setprotitle module not found
    OpenStatus client started in debug mode with PID 3468 using config file /etc/ope                                                                                        nstatus/openstatus-client.conf
    Not monitoring any commands
    JSON sent: {"uptime": {"load1": 0.0, "load15": 0.0, "uptime": "40 days", "status                                                                                        ": 0, "load5": 0.0}, "ram": {"total": 1024, "status": 0, "used": 218, "bufcac":                                                                                         0, "free": 805}, "hostname": "mai.marcroger.com", "who": {"root": 1}, "ips": [{"                                                                                        ip": "10.1.0.1", "host": "10.1.0.1"}, {"ip": "10.2.0.1", "host": "10.2.0.1"}, {"                                                                                        ip": "10.2.0.1", "host": "10.2.0.1"}, {"ip": "209.141.57.93", "host": "mai.marcr                                                                                        oger.com"}, {"ip": "172.16.246.180", "host": "172.16.246.180"}], "disk": {"singl                                                                                        e": [{"fs": "/dev/simfs", "mount": "/", "avail": 50586256, "used": 1842544, "tot                                                                                        al": 52428800, "type": "reiserfs"}, {"fs": "none", "mount": "/dev", "avail": 524                                                                                        284, "used": 4, "total": 524288, "type": "tmpfs"}], "total": {"avail": 51110540,                                                                                         "total": 52953088, "used": 1842548, "status": 0}}}
    JSON sent: {"uptime": {"load1": 0.070000000000000007, "load15": 0.0, "uptime": "                                                                                        40 days", "status": 0, "load5": 0.02}, "ram": {"total": 1024, "status": 0, "used                                                                                        ": 219, "bufcac": 0, "free": 804}, "hostname": "mai.example.com", "who": {"roo                                                                                        t": 1}, "ips": [{"ip": "10.1.0.1", "host": "10.1.0.1"}, {"ip": "10.2.0.1", "host                                                                                        ": "10.2.0.1"}, {"ip": "10.2.0.1", "host": "10.2.0.1"}, {"ip": "209.141.57.93",                                                                                         "host": "mai.example.com"}, {"ip": "172.16.246.180", "host": "172.16.246.180"}                                                                                        ], "disk": {"single": [{"fs": "/dev/simfs", "mount": "/", "avail": 50586256, "us                                                                                        ed": 1842544, "total": 52428800, "type": "reiserfs"}, {"fs": "none", "mount": "/                                                                                        dev", "avail": 524284, "used": 4, "total": 524288, "type": "tmpfs"}], "total": {                                                                                        "avail": 51110540, "total": 52953088, "used": 1842548, "status": 0}}}
    Received signal 2... Exiting.
    No connection to close
    
  • It looks like you're using version 0.3.x of openstatus-client. Upgrade to version 0.4.0 and the problem should disappear.

  • oh i see. When I downloaded it later this morning it was still 0.3.0. Thank you very much! This looks awesome! Keep up the good work! Can I blog about this soon?

  • Another suggestion for the program would be for it to attempt to restart the services. If we set them up to check for the process, it could send email, attempt to restart, send email letting us know it worked.

    I think this would be one of the most useful things you could add.

    Thanked by 1vedran
  • @LivingSouL said: This looks awesome! Keep up the good work! Can I blog about this soon?

    Thanks! Feel free to blog about it, it would actually be a great help to me in getting the word out about it.

    @dclardy said: Another suggestion for the program would be for it to attempt to restart the services. If we set them up to check for the process, it could send email, attempt to restart, send email letting us know it worked.

    I think this would be one of the most useful things you could add.

    I agree.

  • @dclardy said: Another suggestion for the program would be for it to attempt to restart the services. If we set them up to check for the process, it could send email, attempt to restart, send email letting us know it worked.

    Good idea, just add a restart command to processes configuration and if the service isn't working run that command.
    For example:

      [[OpenSSH]]
    proc = sshd
    restart = /etc/init.d/sshd restart
    

    It's better to send one email for both actions: Process isn't working, attempt to restart, if it worked send email saying process stopped working and it's restarted successfully, if restart didn't work send email with output of restart command.

Sign In or Register to comment.