Jack Coates' Blog

5 Posts tagged with the ldms_status tag

ldms_core ate ldms_status

Posted by Jack Coates Oct 17, 2008

LANDesk cores are getting more stable all the time, and I'm just not seeing the need to check that everything's working every 10 minutes any more. I've taken the service checking routines from ldms_status and put them into ldms_core 3.1.2 so that it can check and restart services once, when it runs, instead of all the time. I'll leave ldms_status online of course, but I don't see a lot of future for it at this time and will mark it obsolete real soon now.

Here's some roadmap for ldms_core, with discussion of the items:

  • It's been 7 days or more since you downloaded content -- I still need to find the best way to filter this. The publishdate column in vulnerabilities is one option, but could false positive. select count(*) from vulnerability where publishdate > getdate()-7; if that value is 0, complain.Maybe even run vaminer.exe instead of just complaining?
  • List uninstallable patches? This will probably not be possible, at least without introducing a lot of bugs. XML blobs need to be extracted from the database and parsed, which seems like a lot of work for a little gain.
  • More progress indications, for instance after clicking Authorization button in setup. Not exciting.
  • Group patches by vendor? Probably not something I can do in this context.
  • Topology map. Gateways become nodes, devices sharing gateways are grouped in clouds around them, subnet masks decide size of circle. Core's gateway is in the center and traceroute hops to the other gateways are used to define the map. Use Perl::Graph to generate HTML? This is the one I want to work on next. select defgtwyaddr,count(address) from tcp where nullif(address,'') is not null group by defgtwyaddr
  • Kick out a Google Earth file to plot non-RFC1918 addresses on a map. The topology map and this map would both be dumped into the LANDesk reports file share, I suppose.
  • Check scheduled tasks and policies for status, alert if lots of jobs have bad status
  • Switch to MIME email so I can send multipart messages with attachments, such as those maps. That would also allow reworking of some of the log messages into a table format, using HTML. I prefer the retro look of Text::Table, but it probably can't be displayed properly by the average LANDesk admin's email program.
  • The new alerting system might be a better way to look for sync scan issues than using event viewer. If it ain't broke, don't fix it, but it's possible that database lookup would be faster.
  • Keep old information and show trend lines on a purty chart, http://search.cpan.org/src/CHARTGRP/Chart-2.4.1/README. This is going to involve storing data and managing time and I'm just not in a big hurry to reinvent that wheel.
  • Find a way to detect stuck LPM Event Listeners. Not even sure if this is a database or filesystem issue, but it needs to be found and fixed.
  • Convert into a long-running service? Probably not going to happen, I just can't come up with enough justifications to explain why I'd want to go through the hassle.
  • Cull Automatically Gathered software definitions with no installations. This is going to be hard, and may not be compatible with the changes planned for LDMS 9.0, but it also would be a lot of bang for console performance. Tempting.
2 Comments Permalink

ldms_status bug fix

Posted by Jack Coates Aug 2, 2008

http://www.droppedpackets.org/scripts/ldms_status

 

I was at a customer Friday, and discovered that when I hovered over ldms_status, it would turn red, flail madly, and keel over dead, sort of like Bowker holding a ball at first and trying to decide what to do with it. Turns out, their server had 1 Inventory Service thread and 4500 clients, so LDSCAN contained a backlog of 4300 inventory scans, and growing. Whenever CountPendingScans ran, ldms_status was correctly deciding to restart the inventory service. It was incorrectly ignoring several instructions to wait a few seconds, and it was incorrectly doing this over and over as long as I hovered over the icon, causing a flickering stream of balloon tips and event viewer messages and doing nothing for the backlog of scans.

 

Partially, this is a discovery of unexpected behavior from the poorly documented perltray... I'm discovering that the Tooltip subroutine runs repeatedly as long as you're hovering on the icon, and I suspect that it sets the Timer too, overriding my timer settings. But the other part is that I was sloppy about the tooltip in the first place, and was calling code on demand. So, I decoupled the CountPendingScans subroutine from ToolTip. I'd been meaning to do that anyway as a matter of good practice, so finding a bug is just good impetus to do it right.

0 Comments Permalink

I'm considering a re-write of ldms_status to get off of the ActiveState perltray framework and just use native Win32::GUI to display in the system tray instead. I'm having Timer problems (that's why Stop all services only works half the time), the tooltip function is buggy, and every now and then the fool thing will just stop with no error. That's tough to troubleshoot (though it's probably the tooltip function, since ActiveState recommends that you locally suppress errors in that function to make it work at all).

 

Doing this would have the benefit of abstracting the functions that check, stop, and start services into a module so that they'd be easier to use from other programs... someday, I hope to have ldms_core and ldms_status sharing more functions... status acting as a long-running service, core launching from time to time to do cleanup and stats gathering.

 

The first step in that direction is probably to put all of the status logic into a shared module, then to strip ldms_status down to a more open "Monkeynoodle services" tray icon that calls the ldms_status module to do things, but also displays balloon tips for ldms_status and ldms_core.

0 Comments Permalink

ldms_status updated

Posted by Jack Coates Jun 2, 2008

I found a stupid bug in the service stopping routine when I applied the 5-08 rollup to my core, so this fixes that. I also added a "check for the latest version" routine that I'd been working on anyway.

0 Comments Permalink

ldms_status updated

Posted by Jack Coates Mar 7, 2008

 

version 1.9.6, download from: http://www.droppedpackets.org/scripts/ldms_status

 

 

Most message boxes have been replaced with bubble tips, making it more responsive when it has a lot to do (e.g. restarting all your services after an upgrade).

 

 

 

 

 

0 Comments 0 References Permalink
LANDesk Community powered by Jive Software's Clearspace ® Subscribe| Legal Notices| Investor Relations| Avocent| Privacy Policy © 2009 LANDesk Software