Recently in PostgreSQL Category

PostgreSQL 'IPLIKE' Plugin Available for Windows

| No Comments | No TrackBacks

Since we (regrettably <g>) support a couple of customers running OpenNMS on Windows, I spent some time yesterday getting IPLIKE built on it, finally. You no longer have to rely on the slow PL/PGSQL version of it, and can instead use the nice speedy native C version instead.

For details, see the wiki page for IPLIKE.

As far as I'm aware, there is not a win64 version of PostgreSQL, so I've punted investigating what it would take to get stuff built on it, but I would like to get a 64-bit JICMP built at least. Does anyone have a win64 development environment that could get it building for us? I have no Win64 licenses, much less development environment. A little investigating dug up a MinGW64 preview, but I have no idea if it would actually work or not. =)

If you run into any problems with it, let me know!

OpenNMS 1.6.0 Is Out

| No Comments | No TrackBacks

...and it features a ton of changes since the last stable release. Here's what I put in the release notes as an introduction to the 1.6.0 release:

Release 1.6.0 is the first stable release in the OpenNMS 1.6 series.

It's been 3 and a half years since the last OpenNMS stable version, 1.2, was branched and released as production-ready. In that time, OpenNMS as a project has changed tremendously, the community has grown exponentially, and massive numbers of new features have been incorporated into the "unstable" 1.3.x series.

In that time, the unstable codebase solidified to the point that The OpenNMS Group supported it as if it were stable; it was at least as stable as 1.2.x was, but many users held off on upgrading because of the unstable moniker.

After a lot of work, and a renewed focus on getting the next stable release out the door, we are now prepared to declare OpenNMS 1.6 release-candidate-ready.

Why 1.6 instead of 1.4? 3 years is a lot of time, and a lot has happened in that time. We're not ready to call it 2.0, we want to redo the web UI first, but 1.4 didn't really do the massive changes since 1.2 justice. So: 1.6 it is.

Since it is a lot easier to do a release than it was in the 1.2 series (now that the native code is moved out into separate packages, and OpenNMS itself is distributed as pure-java sources), the goal is to continue to be on a much faster 6-month or year cycle for new releases.

Please, let us know if you have any problems at all in our Bugzilla bug tracker.

To give an idea of what's changed, I put together a list of major changes since 1.2 with a couple of the other OGP folks.

Architecture and New Subsystems

  • Alarms: The largest architectural change from a user point of view is the addition of the concept of Alarms. Events mean so many different things in OpenNMS, it made sense to have a higher-level "event" which represents significant happenings in the system. Alarms fill that role, and as we move towards 2.0, events will be de-emphasized in favor of alarms for reacting to significant events. The new alarms system will allow important events to be "reduced" into alarms. If an event comes in with the same "reduction key" as a previous event, the alarm will increment the "count" of events, yet it will still only take up a single line in the alarm browser. Clicking on the count will bring up the event browser with just the events that have been reduced.
  • Automations: It is now possible to do a variety of automated actions through "automations". For example, say you have an alarm with the severity of Minor that has not been acknowledged in the last 20 minutes you might want to escalate the severity. Vacuumd has been enhanced with a configuration that now allows configuration of processes we're calling Automations that are defined by Triggers and Actions.
  • Windows: OpenNMS now runs on Windows.
  • PostgreSQL: OpenNMS supports running on top of PostgreSQL 7.4 through 8.3.
  • Syslog Improvements: The syslog daemon included with OpenNMS has been significantly enhanced, including regular-expression matching and back-reference support.
  • Model Importer: OpenNMS can now import node, interface, and service information from an external provisioning source. This facility can augment or replace the discovery functionality provided by Capsd.
  • Categories: Nodes can be assigned to one or more categories (eg Production/Test, Datacenter A, Datacenter B); these categories can be used in filter rules. This permits to selectively forward Alarms into certain destination paths based on the node category: "Send Alarms for Production in Datacenter A to Team A, Send Alarms for Test Systems in all Datacenters into the Maintenance Queue".

Polling and Data Collection

  • Generic-indexed data collection modeling makes it easy to collect, graph, and threshold on multi-instanced performance data, such as values residing in SNMP MIB tables.
  • SNMP4J: In addition to the existing SNMPv1 and SNMPv2 support provided by our in-house JoeSNMP Java library, OpenNMS now supports SNMP v1 through v3 using SNMP4J. The SNMP4J strategy is enabled by default, but you can go back to the JoeSNMP one if you have a specific need for bug-for-bug compatibility with OpenNMS 1.2's SNMP behavior.
  • JMX: Support was added for polling and data collection.
  • HTTP Collector: Support was added for data collection via HTTP.
  • NSClient: Support has been added for NSClient (and NSClient++) polling and data collection.
  • Data Export: It is now possible to export RRD data through the web UI.
  • Windows Service Monitoring: Windows services can be monitored through the NSclient support and via a special-purpose poller monitor that uses SNMP.
  • Mail Transport Monitor: It is possible to monitor the complete round-trip availability of a mail system, from sending to checking a mailbox.
  • Page Sequence Monitor: Support has been added for monitoring a complete transaction against a web site, including cookie storage, form submission, and checking the results of the output of a URL.
  • Distributed Monitoring: There is now a distributed monitor that allows you to do service monitoring from multiple locations reported to a single OpenNMS instance.

Thresholding

  • Thresholding for collected performance data is now performed in-line with collection by default. This change makes threshold evaluation virtually instantaneous while drastically lowering the CPU and I/O overhead associated with thresholding. Thresholding for latency data (data from the poller monitors) is still done in the old asynchronous fashion.
  • Absolute Change Thresholds: A new type of threshold useful for monitoring the values of such variables as radio transmitter power (in dB) where a relative change of a given magnitude may not be noteworthy, but an absolute change above some threshold is considered significant.
  • Expression-Based Thresholds: A new type of threshold allowing the user to specify an expression, in standard mathematical terms, involving one or more data source names, operators, and constants.
  • Custom Event UEIs in Thresholds: The types of events generated when thresholds are exceeded or re-armed can now be specified on a per-threshold-definition basis, allowing for much more flexibility in using thresholds as the basis of alarms and notifications.

Notifications

  • Roles: OpenNMS now supports on-call roles. If you have, say, an On-Call role where the users change over time, this feature allows you to schedule them in advance and OpenNMS will manage that schedule for you.
  • Group Duty Schedules: Works like normal duty schedules, except if a Group is listed as a target in a destination path, the duty schedule will apply to the whole group (individual users and roles also in the target are not affected).
  • JavaMail: JavaMail is now the default API used for sending e-mail notifications. This change eliminates the burden of installing, configuring, and troubleshooting a local mail transport agent such as Sendmail or Postfix on the OpenNMS server.
  • Path Outages: A basic path outage capability has been added. This feature addresses the need to suppress notifications for nodes that appear to be down to the OpenNMS system due to a failure in the network path between the nodes and OpenNMS.

Integrations

Web UI

  • Jetty: OpenNMS has a built-in web server (including AJP support), and no longer requires Tomcat for the web UI (although it can still optionally be used)
  • JFreeChart Support: OpenNMS now supports a JFreeChart integration which lets you add charts to the web UI.
  • Zooming: It is now possible to interactively zoom in on graphs.
  • StrafePing: OpenNMS includes an implementation of SmokePing.
  • RSS Feeds: Support has been added for RSS feeds for notifications, outages, alarms, and events.
  • New Look: The OpenNMS web UI got a face lift.

OpenNMS Updates, Fink, and KDE

| No Comments | No TrackBacks

First of all, I want to point out that OpenNMS 1.3.7 is out, and it's full of awesomeness. Big speed improvements, my SmokePing clone, and lots of other cool stuff. I finally finished up the last of the packaging updates today; 1.3.7 is now in Fink, has Debian packages, and RPMs. I also spent a lot of time updating the installation instructions (Yum, Debian) so please, try it out, and if you run into any issues, let me know, and I'll make sure the docs get fixed.

In other news, I've actually started spending some time getting Fink stuff up-to-date again. PostgreSQL has bugfix releases coming up for all supported releases, and I have some KDE updates coming as well.

In addition, I need to catch up on the KDE/Mac stuff, I'm going to start working on a new build this week.

PostgreSQL Security Updates

| No Comments

I've released updated PostgreSQL packages from version 7.3 and up. They fix a number of security problems (as well as a bug in the 8.x series that has been in the wild for a couple of days).

All users are encouraged to update.

Updates Since Um... A Long Time Ago

| No Comments

I've been working on packages and catching up on quite a bit of stuff for a while now, but hadn't gotten around to posting about it, so I guess it's time to do so. :)

I've got some more coming down the line -- a big reworking of the PostgreSQL packages (including 8.2) as well as a few other things. At that point, I should actually be reasonably caught up.

Big Updates:

  • KDE: finally got 3.5.5 out the door. Mostly just version bumps, although I did add some code to allow you to easily disable quartz-wm for clipboard synchronization (in some cases, folks were seeing quartz-wm hog memory with a huge leak). You can do so by adding export DISABLE_PROXY=1 in your .xinitrc before you run startkde.
  • Mono: various Mono updates, including a number of compile fixes and stuff. Everything (but MonoDevelop, as always) works now on OSX. Yay!

Other Stuff:

OSCON 2006 -- Say "Hi"

| 1 Comment

I'm here in Portland at OSCON until Friday night. If you're here, send me an e-mail and we can try to find each other and say "hi". I've gone ahead and set up a "Birds of a Feather" meet-up, at 8:30pm Wednesday night, in room F150. If you're interested in Fink, give us a visit.

If you're not at OSCON, well, you're missing out. ;)

PostgreSQL Security Updates

| No Comments

I've released Fink packages for the recent PostgreSQL security update -- they are available in unstable in the 10.3, 10.4-transitional, and 10.4 trees.

Updates Since Feb 11th

| No Comments

A lot has been going on. We've been working hard to make sure things work in the 10.4 tree, and doing build tests on 10.4/x86. I think we're starting to get close to being able to put together a bindist.

I've posted a few updates recently, but nothing about what's been going on in my packages, so... It's update time. :)

  • cairo: Cairo 1.0.2 got moved to stable, and 1.0.4 was released to unstable.

  • commons-codec: Version 1.3 was released to unstable.

  • commons-fileupload: Updated to 1.1 in unstable.

  • commons-httpclient: Updated to 3.0 in unstable.

  • commons-net: Updated to 1.4.1 in unstable.

  • commons-resources: Updated to a recent CVS snapshot.

  • commons-validator: Updated to 1.2.0 in unstable.

  • DBD::Pg: Version 1.43 was released to stable.

  • DBI: Stable was updated to 1.50.

  • distcc: Unstable got updates to support my build translator for using cross-compilers. and went through a few revisions.

  • EKG: Stable was updated to 1.6 final.

  • flex: Flex came out of abandonment and got a new release (and a new website).

  • giflib and libungif: 4.1.4 of both giflib and libungif were released to unstable and then stable.

  • Glitz: Glitz 0.4.4 was released to stable.

  • GNUPG: A number of security updates were released by the GNUPG folks. I ultimately updated the Fink packages to 1.4.2.2, and released to unstable and then stable.

  • GStreamer: gst-plugins-ugly 0.10.1 was released to unstable, and a few 10.4 x86 GStreamer fixes went in as well.

  • imlib: Version 1.9.15 was releasedd to unstable.

  • imlib2: Version 1.2.1 was released to stable. (Version 1.2.1 of both imlib2 and the optional imlib2-loaders were first released to unstable.)

  • KDE: The KDE packages had some minor build/fix updates.

  • libidn: Version 0.5.20 was released to stable.

  • MailTools: Stable was updated to 1.73, and unstable to 1.74.

  • MIME-tools: Unstable was updated to 5.420.

  • Net::Daemon: Version 0.39 was released to stable.

  • new perl modules: I was tinkering with Catalyst and Rose, and ended up packaging a ton of perl modules. Array::Compare, Catalyst::Engine::Apache, Catalyst::Model::CDBI, Catalyst::Plugin::Authentication, Catalyst::Plugin::Authorization::Roles, Catalyst::Plugin::DefaultEnd, Catalyst::Plugin::Session, Catalyst::Plugin::Session::State::Cookie, Catalyst::Plugin::Session::Store::File, Catalyst, Catalyst::View::TT, Class::DBI::Loader, Class::DBI::Pg, Class::Factory::Util, Class::Inspector, Clone, Clone::PP, Configfile, DateTime::Format::Builder, DateTime::Format::MySQL, DateTime::Format::Pg, DateTime::Format::Strptime, DateTime::Locale, DateTime, DateTime::TimeZone, File::Copy::Recursive, File::Modified, File::Temp, HTTP::Body, HTTP::Request::AsCGI, Image::Size, Lingua::EN::Inflect, MIME::Types, Module::Install, Module::Pluggable::Fast, NEXT, Object::Signature, Rose::Conf, Rose::DateTime, Rose::DB::Object, Rose::DB, Rose::HTML::Objects, Rose::Object, Rose, Rose::URI, Template::Timer, Test::MockObject, Test::Warn, Text::Balanced, Text::SimpleTable, Time::Local, Tree::Simple::VisitorFactory, UNIVERSAL::can, UNIVERSAL::isa, and UNIVERSAL::require. (whew!)

  • pinfo: Updated to 0.6.9 in unstable.

  • PlRPC: Version 0.2018 was released to stable.

  • PostgreSQL: Unstable was updated to 7.3.14, 7.4.12, 8.0.7, and 8.1.3. Also thread-safety was enabled in PostgreSQL 8.0 and 8.1.

  • QCA: Version 1.0 was released to stable.

  • Qt: Updated to 3.3.6.

  • RRDTool: Unstable was updated to 1.2.12.

  • Squid: Stable and unstable were updated to 2.5-STABLE12.

  • taglib: Version 1.3.1 was released to stable.

  • unsermake: Unsermake got updated to a 0.4 snapshot in unstable.

KDE/X11 3.5.1 to Fink Unstable, Other Stuff

| No Comments

Lots has been going on since my last status update. Work has been continuing quickly on getting the 10.4 tree whipped into shape. In addition, I made a new script to manage the generation of my info files for various trees, so it's a bit easier to keep things working between 10.3, 10.4-transitional, and 10.4. The big news is that I (finally) released KDE 3.5.1 to the unstable tree.

Fink, the 10.4 tree, and Intel

| 3 Comments

David Morrison's been doing an incredible amount of work getting everything organized for a real 10.4/gcc4 tree (which should, in theory, work with the new intel macs). I'm finally getting around to starting to take a real look at getting my packages ready for such a beast. I've finished bootstrapping the 10.4 tree, and am now working my way through deps.

In the meantime, here's my stuff that's been updated since my last blog post.

  • Amarok: updated to 1.3.8 (also, released to the 10.3 tree)

  • GnuPG: took over maintainership, updated to 1.4.2

  • GStreamer 0.10: updated gstreamer-0.10, gst-plugins-base-0.10, gst-plugins-good-0.10, and gst-plugins-ugly-0.10 to the latest versions (0.10.2 for some, 0.10.1 for others, depending on what's available) -- this is the first time these packages have been released to the 10.3 tree, as well

  • Mono: updated to 1.1.13

  • Net::Jabber: initial release

  • Net::XMPP: initial release

  • Poppler: released a package for the Qt3 bindings

  • PostgreSQL: all PostgreSQL packages have been updated to their latest versions (7.3.13, 7.4.11, 8.0.6, and 8.1.2, respectively) -- this includes finally getting the 8.1 packages up-to-speed and PostGIS at 1.1.0 (after some finicky trickery with their new build system)

  • XML::Stream: initial release