Not dead yet

I know this is taking a long time, but here’s what I’m up to with Weathermap now:

  • Cacti 1.0 uses a sort-of old-fashioned “download chunks of HTML” approach to its new UI. That meant rewriting the Weathermap Cacti plugin to work in this (undocumented) style, too.
  • I also have wanted to rewrite it anyway for some time into a more object-oriented format which separates the actual actions on the database from the display code. This makes it possible to write automated tests for the action code, and for someone to potentially reuse it a lot more easily in another NMS integration.
  • I was halfway through doing all that, when I realised that if I was going to have to rewrite it anyway, I’d rather do it in a manner than benefits everyone, including non-Cacti users. Particularly as I am personally not really much of a Cacti user nowadays, but also I’ve wanted to make it easier for folks like the LibreNMS project to integrate weathermap for some time now.
  • So: new plan. The user-interface parts of the Cacti plugin will be entirely javascript client-side code. The remaining plugin parts will just form an API that the client-side calls. This means I can ignore the Cacti AJAXy redesign stuff, largely. I’ll also be trying to ensure that the client-side doesn’t need Cacti-specific data. At that point, someone from $OTHER_NMS team can embed the client javascript as-is, and implement a simple JSON API, and they too have integrated Weathermap, including map management. To prove this works, I’m planning to make a standalone web app too, providing a web-based, database-backed manager for people using non-integrated NMSes.
  • The ‘user’ plugin is about 70% done (map cycling remains). The ‘management’ plugin is started but early days. This work is also a lot more fun than trying to untangle someone else’s intent though, so it’s progressing well. The client side of things will be written with Inferno and Redux.

Once again, sorry for the long delay, but I wanted this to be right. I also wanted it to be fun to do – this is my hobby project, without much external contribution[*], so having it feel like a job I hate doing for the last year has been no fun at all. The end result should be worth it.

Also, this is the path the data-picker, and then editor will take in a future release, and quite possibly weathermap itself after that – I already did a little bit of experimentation with that.

*ย A huge thank you to those contributors though! It is still my goal to build a development group around the project if possible. For me personally, that still means simplifying, modernising, clarifying the internals, to make it easier for others to get started and contribute. I do still see this as the ‘dark ages’ before a brave new world of open source weathermap – it’s just taking longer than I hoped! ๐Ÿ™‚

19 thoughts on “Not dead yet

  1. Thomas Casteleyn

    Great to hear this. Will this also mean that it will be easy to implement Weathermap as a plugin for Graphite?

    Reply
  2. Howard Post author

    Interesting question… what do you mean by Graphite? It’s been a while since I used it but as far as I remember it doesn’t exactly have a web UI, just that simple composer/dashboard app. If it has a way to embed add extra pages within the UI, it should be pretty simple. The client stuff is just going to be a

    on a page, and a bit lump of javascript that renders into that

    . The API for managing and viewing maps still needs to be implemented in the host app. Or at least the viewing part. The management could be done by the standalone app I plan, I guess.

    You’d probably want to have a DS plugin to read data out of the graphite API too, though. You could do that already.

    Reply
    1. Thomas Casteleyn

      Sorry to confuse you, but I meant Grafana. There are a lot of people that want some kind of weather map plugin.

      Reply
      1. Howard Post author

        OK – that one’s do-able already though, I think. Doesn’t it already let you embed images in a layout? (I can remember playing and putting a company logo in the Grafana dashboard – actually, it might have been Kibana with ELK). As long as it can be made to reload that image, then that’s enough, really. I’ll check it out though – this area of non-network or part-network maps is something that definitely interests me! ๐Ÿ™‚

        Reply
          1. Howard Post author

            Got it. I had a quick look at the diagram plugin – that’s pretty cool ๐Ÿ™‚ I think that kind of integration would be a lot easier with a javascript version of weathermap, so that the drawing is done on the client.

    1. Howard Post author

      Does Zabbix support plugins? Otherwise, it’ll be the standalone web app I mentioned above, possibly with some better integration in the editor to pick datasources.

      Reply
    1. Howard Post author

      As far as I know, Observium doesn’t support plugins, so it’ll be the standalone web app I mentioned above, possibly with some better integration in the editor to pick datasources.

      Reply
    1. Howard Post author

      Yes, currently in the database-refactor branch. Once I get to 1.0.0, I’m going to make that master, and then try to switch to a proper feature-branch arrangement. Currently, there’s an aborted rewrite in master, and any work in the last year or so has happened in 0.97-maintenance and database-refactor. This is not a great situation ๐Ÿ™‚

      Reply
      1. Paul Chattaway

        Hi,

        Thanks for you efforts with Weathermaps. We are a UK ISP and use weathermaps extensively in our engineering departments. We are in the process of installing a large scale strategic Cacti 1.1 deployment and we are keen on using continuing to use Weathermaps. We have a dedicated PHP developer and would like to offer time and resource to help make weathermaps cacti 1.0 compatible, would this be of any interest interest? Better to put out heads together then us forking something off and doing our own thing.

        Reply
        1. Howard Post author

          Hi Paul, that’s a fantastic offer! I’m not totally sure how it would work right now, though.

          Depending on what parts you use, you may be able to use a version ahead of the final one. For example, if you aren’t using the Cacti UI to view maps, and just feed data into maps viewed through an external interface/portal.

          I’m happy to discuss further in a more convenient format though: maybe a forum thread, or email?

          Reply
  3. scott

    Long time user, started on cacti and past 2 years on Librenms. Can’t wait to see 1.0 implemented into LibreNMS. Smart going agnostic so any developer can pick it up.

    Reply
  4. Jackie

    Sounds like you have a great plan Howie! We are becoming a Zabbix shop, and it sounds like with your plan there might be a clean path to using weathermap with Zabbix. Thanks for all your work on this!

    Reply
  5. Raphael

    Is there any reason that the newest version on Github doesn’t match the version I can download from your page? I would like to submit a PR with a littlle change I made but I was not able to find the newest version on Github. Thanks for your help ๐Ÿ™‚

    Reply
  6. Raphael

    I would like to contribute some code but I was not able to find the version 0.98 on Github.
    Will you publish it?
    Thanks for your work!!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *