mnagel

Members
  • Content Count

    287
  • Joined

  • Last visited

  • Days Won

    50

Community Reputation

79 Excellent

3 Followers

About mnagel

  • Rank
    Community All Star
  • Birthday July 17

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. There is not, unless there has been a change recently. There are some datapoints within the collectors you can use (which we do for widgets displaying what we are able). There is not full coverage for all the various things that can incur fees (or usage against commit). I had to write a script against the API to capture this, and even then it is not complete. I had to define a custom property to group the results by client as well (with a warning if I find an element without the custom property). My script currently does this: scans all resources, counts each regular and LMCloud type (deviceType==0 or deviceType==2) scans all configsource instances to count LMConfig usage (dataSourceType == "CS") scans all websites, counts each, noting whether it is internal or external I would definitely prefer something standard to get a complete picture of license consumption, especially since new separately licensed features are added from time to time.
  2. mnagel

    datasource migration function

    It is nice to hear this is getting some attention, but there are definitely more items needed. There are at least two different issues with LogicModule maintenance. The one in this F/R relates to upgrades (e.g., new version of VMware modules). The hope was that you could retain previous data by matching DS/DP in the old to the new in a merge operation when importing the new datasource. I get it is complex, but it is also frustrating to see loss of historical data treated so casually. The one you are referencing is about module parameter override preservation. I like what you have above, but really, the correct solution for this is to allow linked cloning with inheritance and individual override of any or all elements in the module. There are already many examples of almost the same but not quite modules that could benefit from this. A great example of how that leads to problems is the excellent changes made by Steve Francis to support ActualSpeed ILPs for interfaces. Because that applies to only one (albeit common) case, all other interface DSes fail to get the same behavior. If that was done in a base interface module and the rest inherited from there with overrides/additions for there specific needs, that could be a general improvement for all interfaces. Lacking that, I would ask that in addition to the above, the following also be preserved: additional datapoints (including scripts, etc.) changes to datapoint settings (perhaps not scripts, but alert settings including templates) I am dealing with a specific use case right now where a fairly complicated NetApp DS needs to be updated to alarm when space available drops below a threshold. We can add a custom threshold, but then the alert template is default and the units are bytes. I can fix this, but this creates a maintenance headache regardless of whether I update in place (new versions will kill my changes) or clone (new versions require manual review to sync into the clone(s)). That said, the filter preservation would at least avoid issues with my changes to BGP- (filters admin down sessions) and changes to the collection interval for HP network devices (default is set to 1 day instead of 1 hour), so I will take what I can get!
  3. We run into situations where widgets display an error of some sort due to any number of reasons, usually when datasources are changed or resource group structure is updated. The point is, there is an error displayed in the widget instead of the data, and the fact that is happening is pure stealth currently, just waiting for an embarrassing moment with clients. I propose that this meta-issue be reflected in a way it can be detected in advance. If the API can pull that information, then a check could be setup within LM or via external script. I just checked our JSON dump of all widgets and nothing like this appears to be in place currently.
  4. mnagel

    Search In Alert Tuning

    Please fix this! I am looking at the top level of one client's Alert Tuning page and it has 267 items. Not being able to search is very frustrating. Search box presence is extremely hit or miss in general and needs UX attention, please!
  5. mnagel

    VMware Host Network Interface Status

    This is not exactly what you want, but it works (we also had unhappy surprises on this). You just have to disable alerting on vmnics expected to be down. And, you will have to wait for LM code review. 2EADXJ
  6. You can do this with propertysources that add a category to devices. The only problem with those is you have no control over how often they run, but at least now you can trigger them on demand (manually).
  7. See also: I am not hopeful at this point based on the past few years for much improvement in the alert/template system, but I can workaround a lot of it with external handlers and property pointers to template fragments. Not getting collection-time text data back, however, definitely results in a loss of critical information in many cases and could be fixed your way, my way or I am sure some other way. Mine was focused on instances, but it could equally apply to ephemeral DS level tokens to transmit unknowable text data back via alerts. LM, please pick one!
  8. mnagel

    Speedtest Option

    Had to go with what works... see:
  9. mnagel

    Ookla Speedtest

    After a few failed attempts to get this working on Windows via Powershell (works, but too inaccurate), I punted and used speedtest-cli. If I can replicate that into Groovy, then perhaps it could be universal, but Linux-only for now. 4CN9AA This will be held for code review, but it is very simple code :).
  10. mnagel

    Speedtest Option

    I found some even more promising options: https://www.powershellgallery.com/packages/Speedtest/2.0/Content/Speedtest.ps1 https://github.com/originaluko/SpeedTester I was able to make the first one work with barely any changes, but the results are not accurate. The second one needs to be tortured a bit to make it suitable since emits live status data, but again, running it from the CLI it is not accurate. The only CLI option I have found that is accurate is speedtest-cli (Python). Looking at both the above to see how hard they would be to rewrite into Groovy and make accurate. My current iteration of the original code is below (for now), but this method is also not very accurate. It relies on two properties, one optional: speedtest.run: set to 1 (or anything) for hosts that should run the code (may instead use manual instances to enable multiple test sources). speedtest.testmy.mirror: shortname of the testmy.net mirror (e.g., lax, ny, etc.). if not provided, will use default mirror selection. $size = 50; $mirror = "##speedtest.testmy.mirror##"; if ($site -eq "") { $url = "https://testmy.net/dl-${size}MB" } else { $url = "https://${mirror}.testmy.net/dl-${size}MB" } $path = "Out-Null" $WebClient = New-Object System.Net.WebClient $mbps = "{0:N2}" -f (($size/(Measure-Command {$Request=Get-Date; $WebClient.DownloadFile( $url, $path )}).TotalSeconds) * 8) Write-Host "Mbps="$mbps
  11. mnagel

    Speedtest Option

    I misread the code -- it does not use PSRemoting, so it can only run from a collector. Will have to see if I can fix that :).
  12. mnagel

    Speedtest Option

    I just found this while trying to see what options we had for this capability. What I originally hoped to do was to deploy the speedtest CLI package and run in JSON output mode to get proper up/down results (which I may still do at some point). For the moment this works, if you fix that math error :). I also changed the applies to expression to "run.speedtest" so I can choose specifically which hosts are involved -- normally would be a site collector, but might not if a site is only monitored remotely. To get similar location flexibility with the speedtest CLI method would be tricky.
  13. There have definitely been improvements in Netflow since I first started with LM, which I appreciate. However, the query mechanism is still quite rudimentary compared to free tools (like NfSen (for example). Please add an "advanced" query option where a tcpdump-style query can be created (and saved for later). As a bonus, PLEASE make it possible to have saved queries generate alerts over a specified timeframe.
  14. Can this one be released from security review, please? I noticed we do get some of these in system.*, but not all and these would be nice to have available.