Category Archives: Uncategorized

Weathermap 0.98a adapted for Cacti 1.x

Just in case you weren’t aware, there is a modified version of Weathermap 0.98a, created by Thomas Urban that works with Cacti 1.0+. For a number of reasons, it will probably stay as a separate version, but if you need Weathermap and modern Cacti (and you should upgrade! Cacti 0.8.8 is quite old now), this is your best bet.

Sponsorship followup

I realised since I was doing one, I might as well set up the other, so there’s now also a Patreon page for Weathermap. They don’t match donations, but you may already have an account with them. Again, it’s set up for small amounts, although there might be a ‘swag’ tier above the current ones, if I ever sort out stickers again.

Also, thanks to alcatron, my first sponsor!

Sponsorship, and (still) progress

Two items of news:

  1. Several people have asked, so you can now sponsor me (and weathermap development) via Github if you’d like to. For the first year, Github will match any donation too, which is very nice of them. I have specifically limited it to ‘buy a coffee/beer’ size of donations. Which leads to…
  2. There is still weathermap development. I just noticed that the last post here about it was that the Cacti 1.x version was dead. Since then I’ve been doing work as I planned to get Weathermap 1.0 working with Cacti 0.8.8. Mark Brugnoli-vinten of the Cacti dev team has kindly volunteered to get that updated to a “new-style” Cacti 1.x plugin and maintain it. It will be a more traditional UI, so anyone who has been playing with the React-based version in github, that’s basically a dead-end. This work is going slowly (see all previous posts about that), but it is moving forward! (there’s a separate branch on github for it)

Weathermap 0.98a released (NO, not that one)

I’ve been sitting on this to gather feedback from testers, and I haven’t had anything negative for a while, so here is Weathermap 0.98a. The previous version has hit around 32000 downloads – so thanks for your continued interest in this transition period!


This is basically Weathermap 0.98, updated to remove dependencies on the old mysql_ database functions, so that it’ll work with PHP 7, and also a few other bugfixes that are currently in 1.x dev code, but easy to replicate in the older code.

The other big difference, for some people anyway, is that it’s now MIT licensed. This should help out a few folks with either integration or corporate legal hassles.

End of Cacti 1.x plans

I’ve been meaning to write this post for a while, but figured it was time…

I’m no longer working on an update to Weathermap to support Cacti 1.x

As I’ve said before, I don’t use Cacti or Weathermap myself anymore, so there isn’t really much motivation to work on it. It’s a job now, and I have another one of those!

It’s been 14 years, and while it was fun for the first 10 or so of those, it’s never really grown to be a collaborative project, mainly thousands of hours of my personal time (and some money too). There are a few exceptions for specific features along the way, but 5000 forum posts later, I don’t have a network ops job anymore, so it’s going to have to have some other motivation to keep going.

My immediate plans for Weathermap are to split it up into multiple repos, for at least the core map-drawing stuff, and the Cacti plugin, and possibly the editor. I will probably continue working slowly on the core, although I’m more interested in rewriting that in Javascript at this point. I’m not aware of  many issues with the core drawing and data collection, currently.

One of my design goals has been to separate out the Cacti-specific stuff for some time, to make it easier to integrate with other NMS tools (e.g. LibreNMS or Zabbix). That will also make it easier for someone with a vested interest to take on those parts for their platform, without having to deal with the others. The actual core map-drawing and data managing stuff is actually fine, and faster than ever! So someone else could take over the Cacti part – either starting from the 0.98 (“old”) version again, or carrying on with React. That said, there have been only a few outside code contributions to the project over the years. Hopefully that can change.

For anyone interested in taking on that Cacti support – it’s not as huge as it looks, once you take away the map-drawing! It’s managing entries in a few tables, plus some stuff specific to Cacti’s poller (“boost support”), and the datasource plugins that are only relevant to Cacti. A good starting point would probably be cigamit’s patches from a couple of years ago. Ask, and I will go digging in the change history for them.

I’d like to thank everyone who has supported Weathermap over the years – mostly within the Cacti community, but also outside (thanks UKFAST for hosting support in the last year, for example, and Groundwork Open Source all those years ago for a chance to meet with fellow projects). You were definitely in the “fun” part! 

Finally, I think I have enough confirmation now to make 0.98a an actual release version, too. So I will do that later today. That’s 0.98 with appropriate updates to work on PHP 7.

New Hosting…

Things might be a bit wonky for the next day or so as DNS straightens itself out, but the weathermap website has finally moved from shared hosting to a shiny new VPS, thanks to the kind support of UKFAST

The forums will follow shortly, and after all the dust has settled, everything should be noticeably faster. There are some loose ends to resolve currently though – like the manual pages that normally live here are currently missing. As soon as Dreamhost’s server wakes up, I’ll get those restored. [EDIT: These should all be restored now]

Thanks again to Neil and UKFAST for sponsoring the new hosting!

(yes, I am working on the next release too)

13 Years Old!

13 years ago today, the first version of what became PHP Network Weathermap was released… it was a series of versions in Perl, adding functionality to the GRNET Weathermap. After a few of those, and getting tired of explaining how to build CPAN modules, I started re-writing the whole thing in PHP, initially before the Cacti Plugin Architecture existed, as a standalone script sometime in April 2005. Sadly, it looks like the Cacti Forums have had some database corruption over the years, so posts that old seem to be missing.

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! 🙂

Site and project updates

First of all, apologies for the slow progress, but the “obstacles”* in my life that have been slowing things down are clearing up. The website has a temporary new look, after the previous theme I’ve been using seems to have dramatically changed between updates. This one happens to also match better with the other new change: a forum!

It’s rather empty at the moment. This is supposed to be the worst way to launch a forum, but I can’t see a way around that. I really wanted to have somewhere for people to talk about their weathermap issues that wasn’t necessarily dependent on Cacti. I know lots of Weathermap users are not Cacti user. I also wanted somewhere better than Github Issues to discuss and dissect problems, before they become specific issues on Github. Also, somewhere to try and grow some development community. I’ve been having good discussions about this with some folks recently, and there some great early work by Martin over there about getting going with development stuff.

So progress should speed up a bit for what I’ve decided to call Weathermap 1.0.0 which will have Cacti 1.x (and Cacti 0.8.8) compatibility. Thanks to those who are hitting me with bug reports and even the odd pull request!

And I’m looking forward to the next release after that being hopefully from a group…

* Please don’t tell my new wife I said that!

Cacti 1.0 and Weathermap

Cacti 1.0 was released a few days ago, and with it, a new plugin API. Weathermap (even from github) doesn’t currently work with Cacti 1.0. Unfortunately, at least from a first look, it also seems that it’s not possible to easily have a plugin that supports both Cacti 0.8.x and Cacti 1.x. The Cacti Group’s own plugins have made a clean break, with new versions only supporting 1.0. I think it will be a while before everyone moves to 1.0 (personally I avoid version x.0 of anything, especially with such big internal changes), and that it’s unfair that to get new Weathermap features (or fixes!), you’d need to upgrade Cacti too. So I want to continue supporting 0.8.x with new versions also, at least until Weathermap is also settled down again. With PDO, and PHP 7 support, and the changes related to code improvement, I’d hope that even if I decide to stop supporting Cacti 0.8.x, someone else could continue, after that point.

After a very busy new year, I’m back to thinking about Weathermap again, and will be finishing off the changes for PDO and PHP 7.0 soon. Once that version is released, then I’ll look at Cacti 1.0. It’s likely that Weathermap will be broken into multiple downloads: a ‘core’ with the actual map functionality and probably the CLI, and then a series of extra downloads to provide the editor, Cacti 0.8.x plugin, Cacti 1.x plugin, standalone web app, and LibreNMS plugin. You would download the core plus whichever of the other features you actually need. To get both Cacti versions working, something like this is necessary, and users of other systems don’t need any of that code cluttering up their installation.

There is (as far as I know) one remaining set of failing tests before the next release – all related to colourising icons, and transparency.