ContributionsMost RecentMost LikesSolutionsCan anyone here confirm CloudWatch metrics are working? Is your CloudWatch data coming through? Ours stopped working days ago We just discovered all of our CloudWatch metrics are no longer showing up in LM starting at about 18:00 UTC on Feb 28th. I have confirmed that this is also reflected in our Cost Explorer - which indicates that the data is no longer being requested (or that the requests are failing for an unknown reason). We have several Org accounts and they appear to all be impacted. I wasn’t able to confirm with LM Support whether or not we are the only impacted customer so I’m soliciting anyone here for feedback. Cloudwatch API calls are not logged by CloudTrail, which severely limits our ability to diagnose the issue on our end. We are, however, reasonably sure that there were no changes made by us that would cause such a catastrophic loss of monitoring data. There is currently an issue shown onhttps://status.logicmonitor.com/but it does not accurately describe this issue. Any replies would be very helpful. Thank you in advance. Details for the CloudWatchProbe feature? The most recent release notes for platform v.177 mentions a "CloudWatchProbe" an an associated configuration property: Added a new version of CloudWatchProbe and a new configuration property, awsMonitoring.cloudwatch.v3.enabled to reduce the number of CloudWatch calls for metrics collection. I'm not able to find any additional information about this functionality. Is this documented somewhere? Is the documentation going to be available by the time the update is rolled out? Re: hostProps.set() workaround Quote LM collector installation instructions still include"If this Collector is monitoring other Windows systems in the same domain, run the service as a domain account with local administrator permissions." Ah - a tale as old as time.? I think everyone would agree that admin permissions - local or otherwise - isn't ideal. Unfortunately, as you've discovered, so many seemingly innocuous read-only actions are locked to administrators only in Windows. WMI, CIM methods, remote script execution, etc - none of that works predictably without granting uncomfortable levels of permissions. The alternative to the all or nothing approach is to use agent-based monitoring solutions that run locally on the targets themselves. Of course, this has its own nightmarish drawbacks. Who knows - Microsoft might surprise us with a new OS that overhauls user permissions in such a way that - out of the box - remote monitoring can be safely accomplished with some reasonable assurances that there are minimalsecurity implications. A man can dream... That being said - if I'm understanding you correctly, it sounds like the solution I posted above might negate the need for the API accounts you mentioned. So if you migrate your primary API functions touse the native java library, you can shut off the API keys entirely and just let the collector do its thing. I'm no security expert so please correct me if my assertion is incorrect. In any case - please reply to this post if you start playing around with the library. I'm really curious if it works well for others. So far it's been a lifesaver for me. Cheers! hostProps.set() workaround Hey all, So it looks like I'm not the only one trying to find a way to update device properties on the fly using the collector. I'm not sure why a hostProps.set() isn'ta working function yet but my workaround involved making API calls when device properties needed to be updated right away. Of course, it doesn't make sense to have a collector server do the extra work of making API calls in order to accomplish this - especially considering it could cause downstream effects likeAPI throttling. So I went through the effort of learning some java and dissecting the collector jar files to figure out if there was some other way to do it. Here's what I found: import com.santaba.agent.debugger.* println "Updating property: system.${LMObj} :: OldValue: ${hostProps.get("system.${LMObj}")} :: NewValue: ${currentObj}" task = "!hostproperty action=add host=${hostProps.get("system.hostName")} property=${LMObj} value=${currentObj}" HostPropertyTask updater = new HostPropertyTask(task) updater.run() println updater.output return updater.exitCode A few words of caution: ❗❗❗❗❗This code updates SYSTEMproperties, NOT AUTO.* properties. This isa very important distinction. This functionality could really ruin your day if you go deploying a datasource that updates properties such as system.ips, system.hostname, system.<user>, system.<password>, etc.❗❗❗ This does not work unless youupdate your Agent config file (agent.conf) on thecollector (and restart the service for it to take effect): ❌ groovy.script.runner=sse ✔️groovy.script.runner=agent More on that here LogicMonitor could break this functionality at any time in a future release. I've only tested this on the latest few general releases and it appears to work well - but it could break at any time. The audit log won't tell you that the host properties were modified. Instead, you only see the results of the change: auto groupmembership, autodiscovery, SDT, etc. If the change itself gets logged somewhere, I don't know where you might find it. Lastly, you definitely should notbe using this method eachevery time your datasource runs. Make sure to implement some logic to only update the property if and when needed. I have no idea how well this code snippet scalesoutside of a few hundred resources per minute and since I haven't found any documentation on it, I'm using it sparingly and not yet heavily relying on it to work 100% of the time. That being said, so far it seems to work quite well. Feel free to report how well it worked out if you aren't afraid to scale it like crazy and measure the performance. Re: Location / credentials / any custom property updater DataSource (framework) Hi Antony, Thanks for this. I have been doing this sort of API device updating via datasource for some time now, and it is definitely not ideal. With propertysources only running once every 24 hours ?, there is definitely a huge need for collectors to be able to natively and dynamically update device properties when it needs to do so. I've been digging into some of the Java methods available under the hood on the collectors and I believe I have found a workaround.Here's the relevant snippet of groovy code: import com.santaba.agent.debugger.* println "Updating property: system.${LMObj} :: OldValue: ${hostProps.get("system.${LMObj}")} :: NewValue: ${currentObj}" task = "!hostproperty action=add host=${hostProps.get("system.hostName")} property=${LMObj} value=${currentObj}" HostPropertyTask updater = new HostPropertyTask(task) updater.run() println updater.output return updater.exitCode As you can see, I'm manually calling on the collector to run the !hostproperty debug command in order to update the property (I know.sneaky, eh?). I'm still watching to see if this gives me any trouble, but so far it appears to be working far better and faster than the API method I was using previously. Of course, any updates to the collectors might break this functionality, but hopefully by then we will see a native hostProps.set() method instead. cheers! Include the storage type for AWS RDS instances Please include the storage type for RDS instances as a system property. For example: system.aws.storagetype=gp2. We would like to monitor the burst balance on these disks and that datasource would only need to be applied to RDS instances using gp2. Re: Topology icons Hi@Stuart Weenig! Thanks so much for taking the time to look into this. I did discover some issues with my output and it's now properly formatted. But, unfortunately, it's still not changing the appearance of the icons. I suspect perhaps this is related to the combination of category and type. For example - the in order for the AWS EC2 icon to appearon an EC2 instance, the output would need to look something like this: {"rawERIs":[{"category":"cloud.aws","priority":2,"type":"AWS EC2","value":"i-a1b2c3d4e5f6g7"}]} Of course, this is only a theory. I have yet to find any documentation around categories and how they come into play - but it's very likely that I'm not fully grasping how topologysources work. In any case, I have gotten a number of maps to correctly display - It's just that the icons are very similar which makes it less obvious what type of devices/instances we're looking at. Topology icons I've been playing around with topology mapping with some success. However, theicons displayed after the map is built are the standard IP and instance icons. I've modified my custom ERI propertysources to try to get them to display something other than these two icons, but the icons never seem to change. According to the LM documentation regarding these icons, I should be able to choose anything from the list: Has anyone successfully been able to get the map to reflect the icons above? For example, "predef.externalResourceType=AWS EC2" does not appear to do anything. Nor does "LoadBalanceCollector" or "Load Balance Collector", etc. I suspect there is a specific value associated with each of the icons and the value is case-sensitive. However, out of all of the values listed in the image, none have worked for me. SolvedRe: DFSR Replication Backlog Hi @Nicklas Karlssonand @Jonathan Hill, So you guys are running into an issue where the datasource isn't finding any instances. That's no good! The datasource uses remote Powershell commands from the Windows collector to the target server. I would probably start by using an RDP session to a collector and running the script from an elevated PS session. Before you run it, you'll need to modify the script to use whatever creds you have set up on that target server. For a quick test, just check to see if these two wmi calls return anything from the remote system: $hostname = <target Server> gwmi -Namespace "root\MicrosoftDFS" -ComputerName $hostName -Query 'SELECT * FROM DfsrReplicatedFolderInfo' gwmi -Namespace "root\MicrosoftDFS" -ComputerName $hostName -Query 'SELECT * FROM DfsrConnectionConfig WHERE Inbound = "False"' If these two work, DM me and we can try to figure out what the issue is. I'm guessing we're running into a character limit and I need to account for that. Thanks! Re: DFSR Replication Backlog Hi @John Biniewski, The alert thresholds are largely going to depend on how large your share are. You can set the alert threshold to something quite low like 10, and wait for an alert, but unfortunately, this is one of those times when you'll need to revisit your thresholds to determine what is normal for your environment(s). Wish I could be more help here.
Top ContributionsPropertySource - Installed Windows Server FeaturesPropertySource - Windows ServicesStatusPage.IO MonitoringAWS Lambda AliasRe: Groovy hostProps method to fetch device properties using wildcard/glob/regexSolr 6.6+ JVMWin_SharesRabbitMQ HealthcheckRabbitMQ Queue StatsUpdated AWS EC2 ScheduledEvents