Joe Tran

Members
  • Content Count

    127
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by Joe Tran

  1. Yes, absolutely! Using this PropertySource from the Exchange: You can then use an AppliesTo expression like: auto.winservices =~ "WindowsService1|WindowsService2|etc"
  2. Hi, Joe. You are including a data payload in your authorization signature, but not including it in your REST call. So when the API is checking your REST call against the signature, it doesn't match and you'll get authentication-like errors. Your $data is already a properly formatted JSON string, so you can just add the -Body argument, like this. $response = Invoke-RestMethod -Uri $url -Method $httpVerb -Header $headers -Body $data
  3. The concept of OpsNotes is growing on me. What would really make it shine would be a Groovy helper class/client that can insert an OpsNote from within a Datasource definition for the device context without resorting to using the REST API. Use Case-- we have a datasource for SQL Servers to count the number of blocking sessions on a per database basis. The DBAs want a way to capture some of the session metadata with this metric. OpsNotes seem like a potential way of capturing this.
  4. 5 month bump... Adding this capability to the Alert Thresholding Wizard is another way to go about doing this, which I'm fine with as well. Same concept--allow this at all levels from device groups to datasource instance. One app I support doesn't give a rat's donkey if CPU is pegged at 100% for more than 30 minutes in the overnight hours, but another app owner want's to know if it's over 50% for 10 minutes. I don't know how to manage without angering one of these teams or juggling overlapping datasources.
  5. Did you configure your scripts to use TLS1.1 or later by default? I have version 5.0 installed on my Windows 8.1 machine and I know that still defaults to TLS1.0, which LogicMonitor no longer supports.
  6. As of April 19th, you'll want to add the following line at the top of the psm1 file OR any script that uses this module: [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  7. Working with the /service/services api, the auth['password'] object should be masked when the website check is returned, especially for users that only have READ permissions to the website check/service.
  8. I should check the release notes announcements before I post in this forum
  9. Almost seems like an oversight, but the search functionality on the Users & Roles > Roles tab doesn't actually search the Role's Description field. I'm using the Description to identify the user-type (internal stakeholder vs engineer vs client vs auditors, etc) and a rough descriptor of the max level of access they have (view, ack, manage). This way I can easily find all the client roles and make updates when necessary.
  10. I would love to get my devs more involved in creating LogicModules, and incorporating it into a pipeline. Since LogicModules can be expressed in either pure XML or JSON, I would love to provide them documentation on the construction of LogicModules in these structured data formats natively.
  11. Maybe give us the ability to add User Access Roles to Recipient Groups? I can see that as a good intermediary step toward this functionality (assuming @mosh doesn't have an unwieldy number of User Access Roles to manage).
  12. Web Services Checks do not support any version of SSL or TLS 1.0. Use your favorite browser's developer tools to figure out if the target website is defaulting to a supported version of TLS--basically TLS 1.1 or later. If your target website is internet accessible, then you can use https://www.ssllabs.com/ssltest/ to test which protocols and ciphers the site supports and that the Java 8 user agents are getting TLS 1.1 or later in the Handshake Simulation.
  13. Hi @Sarah Terry, I'm basically replicating internal LM Website checks, but with Devices due to a dev requirement to capture and track specific JSON object values in the response. All of the cluster devices are pointed to the same host/IP/DNS but assigned to different collectors. Each instance in the template is a unique, largely independent web app environment. Another use case we have includes monitoring specific Windows Services. All monitored services exist in a cluster-like offering and are named the same, but the service name does change based on the version. I elected to use a
  14. I like this! My feature request (from 2 years ago ) just asked for a more bare bones ability to define cluster alerts by matching instance names.
  15. Your payload in the data variable is not valid JSON. So here you'll want to escape certain special/reserved characters which would otherwise render your JSON invalid. In this example, this would include the double-quotes, so it should look like this--- data = '{"name":"test111","parentId":111,"appliesTo":"startsWith(\"system.displayname\",\"Prod\")"}' Using a JSON validator like https://jsonformatter.curiousconcept.com/ will probably help.
  16. When Python iterates through your text file, it interprets each line of the file as a literal string. With each line, all characters are being assigned to the line variable, including the single quote characters. The extra single quotes are being escaped so what you are sending to LogicMonitor is just a plain ol' string data it can't interpret instead of a formatted JSON string. For Example, with the given script snippet data = '{"name":"463-UNIVERSITY HALL - B HOUSE","parentId":150}' build_data = [] #create empty list with open('c:\\test\\build.txt') as f: for line in f:
  17. Additional Comparison Methods like @Mahlon Greene suggested against Standard Deviations or other statistical model would be great!
  18. I have an app admin who wants to suppress CPU critical alerting from 10PM to 4AM for his servers---ok, not a problem. We created a dynamic group filtering for his servers and set a custom alert threshold for the desired time without a critical threshold. The issue I'm having is for the rest of the day from 4:01 AM to 9:59 PM. This app admin does not have a good use case to suppress alerting during these hours, so the standards from the datasource should apply. But in order to get those standard alert thresholds take effect, I am finding I have to create another manual effective threshold for t
  19. Is there a use case that won't be satisfied by creating dynamic device groups that use a custom query that populate the group based on a custom query for your desired tags? Since SDTs and Alert Rules already have the ability to work at group levels, it sounds like it should work for you.
  20. I've been told a few times that this is coming in v2 of the REST API.
  21. Is it possible to populate monitored AWS RDS instances with the connection endpoint address as a system-level property? I'm not sure how we would be able to query the RDS instance directly if we don't have that when we have a Collector assigned to fetch custom metrics.
  22. Thanks, @Sarah Terry. I did notice the new datasource last week when I was migrating legacy Cloud integrations to LM Cloud. Definitely made me smile to retire my custom datasource .
  23. Almost 2 year bump.... Using a mechanism similar to what was created for Polling Interval would work beautifully here since we can now assign properties to instances now. I'm imaging that this property would look something like: <DatasourceName>.<DatapointName>.alerttriggerinterval If it's assigned at the device-level, it applies to all instances. If applied at an instance-level, then it would only apply for that instance. My team supports many dev teams. One wants to know almost right away if an AWS ELB has incremented an UnHealthHost. And naturally another dev team
  24. I've setup a few custom properties that define if an Oracle database exists and the port it listens on in a key-value pair/JSON syntax. These properties are named in <ApplicationName>.databases format (e.g. app1.databases & app2.databases). Not wanting to repeat myself, I have a set of datasources that query the common Oracle datapoints, but I would like a way to combine all of these *.databases properties together without having to constantly update the datasources or a propertysource whenever I have a new application to monitor. It would be nice to have a method in the ho