Recent Discussions
Devops metrics monitoring in Lm
Hi We are looking to see if Lm can monitor devops metrics like these Environment utilization Number of deployments per environment Deployment Frequency Number of pipeline executions Deployment Speed time it takes to deploy code changes after they are approved to go let us know if anyone has implemented thesenvnbsinfy19 hours agoNeophyte72Views1like2CommentsLM APM - Traces - HTTP Post from Powershell Scripts
LM APM - Traces - HTTP Post from Powershell Scripts i'm trying to work out the details of an HTTP post to create an APM trace entry in LM APM to keep track of our production scripts via traces / spans. generally this is not the standard use case, but i'm curious how well it tracks the execution timing of the scripts and all the sub components. i found the trace json format for a http request https://github.com/open-telemetry/opentelemetry-proto/blob/v1.4.0/examples/trace.json another 3rd party example: Send a Test Span Through an OpenTelemetry Collector | Honeycomb i have a custom ps object that mirrors the json format, right now when i post to LM using this info: Trace Data Forwarding without an OpenTelemetry Collector | LogicMonitor i get authentication errors, and I'm assuming because the info is outdated.gdavid162 days agoNeophyte25Views0likes1CommentSNMP Traps - Baseline for alerting
Currently with SNMP Traps, each trap-based alert condition needs to be manually defined either via Eventsource or via LM Logs alert conditions. It would make traps much easier to work with if LogicMonitor would give us a baseline of what traps should be alerted on based on vendor best practices. Similar to how LM already does for Datasources, trap-based alerting should be handled the same way. Traps are a fundamental part of network monitoring, and I would love to see LogicMonitor put more of a focus on improving fundamental areas like this to improve basic usability.Matt_Whitney2 days agoAdvisor118Views1like3CommentsModule Toolbox AppliesTo IDE
I have a new DS to build. I decided, for the first time, to try to build it in the module toolbox instead of the UIv3 editor. I guess "Resource Label" is the display name of the module. That's confusing because it's not the name of the resource this will be on. I guess I can see that it's the label that the module will show up with under the resource. But it's not the label of the resource. It's the label of the module. Technical notes - i guess this now supports markup. Which markup? hypertext transfer markup? Extensible markup? Why not markdown (or does it mean markdown when it says markup)? My big problem is with the "IDE". Only developers would think the word "IDE" makes more sense than "wizard". Most of them are Java/Groovy developers who actually need an IDE to develop in a language as overly complicated as Java/Groovy. This thing is not an IDE but a field picker. Functionality that used to exist is no longer there. When I'm developing a datasource, i usually limit the first runs to one device. I opened the "IDE" hoping to find a way to search for the device and limit it to that device. I could do that in the old UI really easily. I don't even know where to start with this new "IDE". The "IDE" does not auto-complete properties. So even if i started typing out "system.display" it doesn't even suggest a complete property name. Once i get "system.displayname == " into the appliesto, it doesn't suggest display names to choose from. I know LM knows how to do this because they do it with the LM Logs query window. Why is there a big help section in the middle of this "IDE" describing what the "true()" convenience function does? I didn't select it and i'm not using it in my appliesto. Why is the "IDE" so big? Why can't it pop out in a drawer from the left side? I was worried that the cancel button might cancel the progress i've made on the DS so far. Speaking of the cancel button, why is there no "you'll lose the progress on your appliesto if you cancel. are you sure you want to cancel?" warning? Why are we still choosing the collection mechanism type (batchscript in this case) before getting ot the collection setting? Why is the discovery group method selected before instances even exist? Did someone actually say, "it makes more sense to go through the effort of moving this above the discovery arguments"? Why are the results for testing active discovery still not shown in groups? I hit save before putting in a name/resource label. It marked them as red, but didn't scroll up to them. It looked like nothing happened when i hit save.Anonymous4 days ago100Views4likes3CommentsCan someone explain the CPU 5 minute load average thing to me?
So, We have a server currently alerting us because the 5MinLoadPerCore field is > 1. I'm trying to understand why that is. I found this page that says if that number is >1, it means there are things queued up waiting for the CPU and there's a backlog. https://www.logicmonitor.com/blog/what-the-heck-is-cpu-load-on-a-linux-machine-and-why-do-i-care However, the server in question has the CPUs currently running at around 60%. I would think that if it were backed up, it should be cranking at 99% trying to catch up. I would think the 5minload alert and a CPU Usage percentage alert would come as a pair, but they don't. Just trying to figure out if there's anything that can be done when we get the 5Min alerts or if they're more just informational and can be ignored. They only come in as a Warning anyway, so if it's just informational, then it's just noise, and maybe we'll just turn them off. Just looking for other opinions. ;) Thanks.86Views1like3CommentsConnectivity between LogicMonitor collector to LogicMonitor SaaS Platform
Is there a persistent tunnel established between LogicMonitor collector and LogicMonitor SaaS Platform ? If there is no persistent tunnel, how does SaaS platform able to communicate with collector always though only outbound connectivity allowed from collector to logicmonitor platform/domain ?bharath1834 days agoNeophyte93Views0likes3CommentsMonitoring Gateway SIP Trunk Status via SSH through Command line
Hi, I am trying to monitor the status of the Gateway SIP trunk using the command "show sip-ua register status" via SSH. However, I am encountering issues while running a custom script provide by the support team. Initially, when I ran the script a few times, I received an error: "Unable to establish the SSH Connection". After some time, the error changed to "No Signature Method." I have verified the SSH connection from the collector server to the end device, and it works fine when I manually establish the SSH session. I also tested my own script , but it returned a similar error:"Error: Unable to establish SSH session/channel." I have attached the error snapshot and the script I am using for reference. Please guide me on how to monitor the SIP status via the command line using SSH. When running the command "show sip-ua register status", the output is eitherYes (registered) or No (unregistered) from the device end. In LogicMonitor, the expected output should be: Yes = 0 No = 1 I tried to attach the Script but it will not support Txt Format, Sorry for the inconvenience Below is the script Provided by the support team import com.santaba.agent.groovyapi.expect.Expect; // Get the hostname and credentials from the device property table hostname = hostProps.get("system.hostname"); userid = hostProps.get("ssh.user"); passwd = hostProps.get("ssh.pass"); // Ensure required properties are not null if (!hostname || !userid || !passwd) { throw new Exception("Missing required device properties: hostname, ssh.user, or ssh.pass."); } // Initiate an SSH connection to the host using the provided credentials def ssh_connection = Expect.open(hostname, userid, passwd); // Wait for the CLI prompt to confirm connection ssh_connection.expect("# "); // Adjust prompt based on your device // Send the `show sip-ua register status` command ssh_connection.send("show sip-ua register status\n"); // Wait for the response to complete ssh_connection.expect("#"); // Replace with your device's prompt // Print the output of the command println "Command Output: " + ssh_connection.getLastOutput(); // Logout ssh_connection.send("exit\n"); // Close the SSH connection handle ssh_connection.expectClose(); return 0; This is another script Created by Me import com.santaba.agent.groovyapi.expect.Expect // Device credentials and details def deviceIP = hostProps.get("system.ip") // IP address of the device def username = hostProps.get("ssh.user") // SSH username from LogicMonitor def password = hostProps.get("ssh.pass") // SSH password from LogicMonitor // Command to execute def command = "show sip-ua register status" // Initialize result def resultCode = 1 // Default to 1 (Unregistered) // Start SSH session try { def session = Expect.open(deviceIP, username, password) // Send the command session.send(command + "\n") // Wait for the output def output = session.expect(10, ".*") // Adjust timeout (10 seconds) as needed println("Command output: ${output}") // Check the output for 'Yes' or 'No' if (output.toLowerCase().contains("yes")) { resultCode = 0 // Registered } else if (output.toLowerCase().contains("no")) { resultCode = 1 // Unregistered } else { throw new Exception("Unexpected output: ${output}") } // Close the session session.close() } catch (Exception e) { println("Error: ${e.message}") // Optionally log additional details for debugging } // Print the result for LogicMonitor println(resultCode) return resultCodeSharath4 days agoNeophyte86Views1like6CommentsConfigSource question
Is there a way I can reference a switches Running-Config in a separate ConfigSource? I currently just added extra config checks onto the core module but updating it everytime and re-adding the checks is a PITA. It would be nice to have an easy reference and separate the core module with my custom checks.Justin_Lanoue4 days agoNeophyte64Views0likes1CommentLogicMonitor Python API | Gather Stats
Hi All, I am looking into gathering stats from various devices (CPU usage, Memory usage, interface specific stats etc) programatically with Python. I am specifically using the LogicMonitor SDK for Python and have been wondering if anyone has had any luck gathering those types of stats from the API? Documentation I am following: LM API SDK What I have been doing: get_device_list. From this I am able to get the necessary deviceIDs get_device_datasource_list. Here I can see the data sources and their IDs. However, when I try to get_device_datasource_data_by_id with the IDs gathered in step 2, I get this error HTTP response body: {"errorMessage":"DeviceDataSource<13084642> is not found","errorCode":1404,"errorDetail":null} Is there an easier way to get these stats that I am not seeing?rvanvuuren4 days agoNeophyte116Views0likes1Comment