Search the Community

Showing results for tags 'datasource'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • LogicModule Exchange
    • LM Exchange
    • LM Staff Contributions
  • Product Announcements
    • LogicMonitor Notices
  • LogicMonitor Product Q&A
    • Feature Requests
    • Ask the Community
    • From the Front

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 35 results

  1. 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.
  2. Kerry DeVilbiss

    Tesla Motors LogicModule Suite

    I previously published a datasource for Tesla Motors Battery Statistics - which presents compelling vehicle battery and charging information that is fetched from the Tesla REST API. To complement those efforts, I've written a few other Tesla Motors LogicModules that return a variety of different, but still interesting, datapoints - including a ConfigSource that displays configuration information about the vehicle itself (are the doors locked? Is the sunroof open?) The following is a list of all the Tesla Motors LogicModules now available (see the above-linked post for additional info on how this all works.) DataSource 'Battery Statistics' tracks battery and charger performance and health metrics (previously posted to the Exchange but included here for sake of keeping everything together.) The datasource name is TeslaMotors_BatteryStatistics and has lmLocator DXLLKY. DataSource 'Climate Statistics' tracks inside and outside temperatures, as well as driver and passenger temperature settings. The datasource name is TeslaMotors_ClimateStatistics and has lmLocator YZRWXC. ConfigSource 'Car Configuration' collects textual configuration data, cleans it up and makes it easily readable (screenshot attached.) The configsource name is TeslaMotors_Configuration and has lmLocator GRY9AE. DataSource 'Location Data' tracks compass heading, latitude and longitude, and power. The datasource name is TeslaMotors_LocationData and has lmLocator AYWYWA. DataSource 'Odometer Reading' does exactly what you might expect. The datasource name is TeslaMotors_BatteryStatistics and has lmLocator HHJRDJ.
  3. For JDBC datasources, please create a token that would enable us to include the JDBC driver exception message in the alert for Query Status data point alerts, the ones that are based on: Query status - 1=ok, 2=credential invalid, 3=connection string invalid, 4=connection rejected, 5=driver not supported, 6=connection failure, 7=query failure This would greatly help us to achieve faster time to resolution of incidents when the exception is code of type 6 and 7.
  4. We have script DataSources that output useful diagnostics information that help Operations to understand the number value when an alert is generated. We want to include the raw output from a DataSource in the alert and email body. What we need is a ##DSRAWOUTPUT## token which contains the complete raw output sent to standard out from a DataSource script. For example, we monitor for processes running under credentials they are no supposed to be running under, and we want to include that info as textual information in the alert/email body.
  5. mnagel

    value lookups

    One of the biggest challenges with LM is the reliance on numbers only in datasources -- the reason is understood, but the result is often messy and many backflips must be done to get a usable result in many cases. I recommend that there be a "lookup" function for numbers that can be associated with datapoints so numeric values can be replaced with text when that is appropriate. An example I just ran into today was after I added the OpenWeatherMap datasource from LM Exchange. It did not include the weather condition, so I added that to the datasource. The values for these range from 200's to 800's indicating "clouds", "rain", etc. You could in theory create a legend for this as is done typically, but the list is too long in practice for 60-odd values (https://openweathermap.org/weather-conditions). If those code-to-string lookups could be defined and referenced, then the value displayed in graphs, in alerts and anywhere else applicable could be displayed as the mapped values, not the original codes. This obviously applies much more widely than this example, but this example shows more clearly how the current method breaks down.
  6. AWS lists that the Listener limit is on a per ELB basis. The AWS_ClassicELB_ServiceLimits datasource seems to intimate that the ListenerUsage is returning the total number of listeners for the given region. Is this useful information to capture on a regional basis or should this be refactored to apply to each classic ELB?
  7. Scott Strohmeyer

    Nest Thermostat Datasource

    This is my first post in the community, so please let me know if I'm doing anything wrong... I decided to write a datasource that allows you to read in the salient information from a Nest thermostat and alert against it. Namely the current temperature (ambient temp) the target temperature and the humidity. You'll have to create a Nest developer account, and authenticate your account to access your Nest thermostat. Nest's API implementation requires that you create an OAuth access token using something like Postman with your Nest developer account. Step by step instructions to create that access token are here: https://codelabs.developers.google.com/codelabs/wwn-api-quickstart/#4 Once you have that, set both your thermostat ID as well as your access token as custom properties for authentication, nest.accesstoken and nest.thermostatid. You'll put these properties in after you add developer-api.nest.com as a device in LogicMonitor. Assuming everything is correct, you should start getting data. The identifier code in the Exchange: L6MW9T N699G4 Updated with new HTTP commands to use collector rather than the JRE. Let me know if you have any questions about it!
  8. After Marketo's large outage due domain registration expiring, we created a DataSource that monitors the amount of time remaining on a registered domain. https://www.logicmonitor.com/blog/avoid-front-page-news-outage-like-marketo/ Locator ID: HCZPGR
  9. I'm trying to clean up datasources that are in our account that do not have any instances associated with them and likely never will. Currently I have to do this manually by inspecting each datasource in the GUI. It would be really great if the datasource instance count was returned as a property. Even better would be if the instances and associated device ID's were returned as well, but for now I'd be happy with just the device/instance counts.
  10. Jon Davis

    Currency Monitoring

    I cooked up a currency converter for travel a while back. You can add currency pairs as instances and keep an eye on when to buy your holiday money! Data is from the Yahoo Public Finance API (and is often delayed) so I'd advise against using it for Forex! General usage information is in the Technical Notes section of the datasource. LogicModule Locator : FHHPJG
  11. Matt Gauthier

    Ad-hoc script running

    Often when an alert pops up, I find myself running some very common troubleshooting/helpful tools to quickly gather more info. It would be nice to get that info quickly and easily without having to go to other tools when an alert occurs. For example - right now, when we get a high cpu alert the first thing I do is run pslist -s \\computername (PSTools are so awesome) and psloggedon \\computername to see who's logged in at the moment. I know it's possible to create a datasource to discover all active processes, and retrieve CPU/memory/disk metrics specific to a given process, but processes on a given server might change pretty frequently so you'd have to run active discovery frequently. It just doesn't seem like the best way and most of the time I don't care what's running on the server and only need to know "in the moment." A way to run a script via a button for a given datasource would be a really cool feature. Maybe on the datasource you could add a feature to hold a "gather additional data" or meta-data script, the script could then be invoked manually on an alert or datasource instance. IE when an alert occurs, you can click on a button in the alert called "gather additional data" or something which would run the script and produce a small box or window with the output. The ability to run periodically (every 15 seconds or 5 minutes, etc) would also be useful. This would also give a NOC the ability to troubleshoot a bit more or provide some additional context around an alert without everyone having to know a bunch of tools or have administrative access to a server.
  12. Code is TXL3W9 This DataSource provides instances for each of the Network adapters, including the following Instance Level Properties: auto.TcpWindowSize auto.MTU auto.MACAddress auto.IPSubnet auto.IPAddress auto.DNSHostName auto.DNSDomain auto.DefaultIPGateway auto.SettingID auto.Description
  13. I will explain the request here as best I can in a written format but a visual would be simple. By example of FortiGate: We had a requirement to monitor the WAPs (the FortiGate can act as a Wireless LAN Controller (WLC) ) for reporting and performance. Depending upon the size of the firewall 1 through N WAPs can be authorized, configured, and monitored. These devices are visible through SNMP queries against the firewall and offer a rich set of information (CPU, memory, version, SN, model, client associations). Now to the feature - when we added the capabilities it became time consuming to first identify the OID and then repeatedly poll to pin down the elements. So, how about a "button" in the UI next to the OID to walk or poll and display the results? Additionally, how about offering the results and on that page an option to add them in this datasource? Look at the Forti AP definition for what we did and try to visualize the simplicity of having the UI trigger a poll on a device (through the associated collector) to make this a breeze.
  14. Please add native support for discovery of ECS metrics by ClusterName AND ServiceName dimensions!
  15. When cloning an existing datasource and changing the type from one type to another similar type, all of the datapoints immediately disappear. I am overhauling some of my script and webpage datasources where the output is json or key-value pair into batchscript. As soon as I change the collection type, the datapoints immediately disappear and it's like I'm starting from scratch. The script auto-discovery and collection panes also get wiped out. Unfortunately this has translated into me spending a lot of time recreating datapoints instead of modifying existing ones. I understand why those datapoints are not compatible with SNMP or CIM collection methods, but they should largely be transferable between certain datasources. On the bright side - this has forced me to start overhauling my datasources by exporting and importing the XML files. Still, it would be great if the GUI could play nice for some of us power users.
  16. David Bond (LM)

    CDP Neighbors DataSource

    CDP Neighbors DataSource with Instance Level Properties 3TJN72
  17. Please add a test function for JDBC active discovery and colelction, just as you have done for scriped DataSources.
  18. DataSource to monitor summary metrics across all Harvest Projects (https://www.getharvest.com/). LM Locator: 6MZ3HE
  19. Bennett Borofka

    DataSource - GHIN_Handicap

    Golf enthusiasts! Here's a DataSource to monitor Handicap Indexes over time. LM Locator: 6FDZRJ
  20. DataSource to discover and monitor Harvest Projects (https://www.getharvest.com/). LM Locator: HYXHWP
  21. Eric Singer

    No data threshold

    Hi, I love the idea behind the "no data" warning, but it's missing one thing that I think would help make it a little more friendly. We have a few devices that have spotty collection reliability, and it often times leads to use seeing "no data" warnings blowing up in our alerts console for a few minutes and then disappearing. I'd really love to see an option similar to what exists with the actual data points, that is, only show a "no data" if there's "x" consecutive polls of no data. This would prevent the times where we might miss two polls in a row from flooding the alerts.
  22. When updating datasources from the repository, there should be an easy way to maintain your existing AppliesTo and alert threshold settings.
  23. The datasource tokens ##DataSource## and ##INSTANCE## do not allow for enough granularity. For example, if I want to the an alert to state that it is a "Citrix Services" alert, I cannot just use the ##DataSource## token as this will also include the Instance name, which may be long and confusing such as "WinCitrixServices-Citrix Independent Management Architecture". A ##DataSourceDisplayName## or similar token would resolve this, the name is stored by LM as dataSourceDisplayName. This token is what I am requesting. With the current setup, ##DataSource## equals Datasource.dataSourceName + instance.DisplayName And ##INSTANCE## equals instance.Name Thank You, John
  24. How do we monitor our DataSources? One of our customers asked an interesting and challenging question. He would like to know how he can track and alert changes to his customised DataSources. Well, there was no straightforward way, not until recently. This is made possible with the recent release of the ConfigSource add-on module and the publishing of the dataSource REST API. At a high-level, we can create a Groovy script ConfigSource which makes a REST API call to export a targeted DataSource to XML format, store and check for changes to the XML in ConfigSource, then send an alert when there is a change. Creating the ConfigSource:- 1. Create REST API token 2. Create an embedded groovy script ConfigSource with the following information:- Name : DS_XML Display Name : DS_XML Applies To : This ConfigSource can be applied to any device Collect Every : Up to your company policy, minimum 1 hour Multi-instance? : Check this option Enable Active Discovery : Uncheck this option Collector Attributes : Select Embedded Groovy Script Groovy Script : [... Attached Below ...] Config Check : Select Any Change (Check For: option) 3. Save the ConfigSource import org.apache.http.HttpEntity import org.apache.http.client.methods.CloseableHttpResponse import org.apache.http.client.methods.HttpGet import org.apache.http.impl.client.CloseableHttpClient import org.apache.http.impl.client.HttpClients import org.apache.http.util.EntityUtils import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Hex; //define credentials and url def accessId =hostProps.get("api.access.id"); def accessKey = hostProps.get("api.access.key"); def account =hostProps.get("api.account"); def resourcePath ="/setting/datasources/##WILDVALUE##"; def url = "https://" + account + ".logicmonitor.com" + "/santaba/rest" + resourcePath + "?format=xml"; // get current time epoch = System.currentTimeMillis(); //calculate signature requestVars = "GET" + epoch + resourcePath; hmac = Mac.getInstance("HmacSHA256"); secret = new SecretKeySpec(accessKey.getBytes(), "HmacSHA256"); hmac.init(secret); hmac_signed = Hex.encodeHexString(hmac.doFinal(requestVars.getBytes())); signature = hmac_signed.bytes.encodeBase64(); // HTTP Get CloseableHttpClient httpclient = HttpClients.createDefault(); httpGet = new HttpGet(url); httpGet.addHeader("Authorization" , "LMv1 " + accessId + ":" + signature + ":" + epoch); response = httpclient.execute(httpGet); responseBody = EntityUtils.toString(response.getEntity()); code = response.getStatusLine().getStatusCode(); println responseBody httpclient.close(); 4. Go to the device where the ConfigSource is applied to, define the following device properties :- api.access.id : < API Token Access Id > api.access.key : < API Token Access Key > api.account : < LM Account > Adding ConfigSource Instances 1. Identify the DataSource id. You can find it in the UI by looking at the URL of the DataSource definition 2. Add ConfigSource instances by selecting 'Add Monitored Instance' from the Manage Dropdown next to the manage button for the device Name : < DataSource Name > Wildcard value : < DataSource Id > DataSource : DS_XML 3. Repeat above step 1 and 2 to add more datasource instances. Point to Note: 1. To execute a ConfigSource, you will need a minimum collector version of 22.110 2. One Datasource Id per instance 3. Differences in DataSource are viewed in XML format 4. Previous DataSource version can be restored by downloading and importing the previously compared XML from the ConfigSource history 5. Thanks and credits to David Lee (Our Jedi Master) for enhancing the original concept to a more user-friendly multi-instances ConfigSource. Screenshots of the ConfigSource result:
  25. Jeff.Woeber

    Clear an alert with a NaN value

    I recently wrote a datasource that pulled an API and alerted when the return value was greater than 0 The problem I ran into is the API never returned a 0, instead it would return NaN. I worked around this issue by using Key = Value datapoints and a "if (strv.isEmpty) {" statement. Basically, if their is a value returned the output in the script will be "events=[returned value]" the same as most key=value datapoints. If the returned value is empty, the script will fill out the entire string returning "events=0" which puts a 0 in the datapoint and allows the alert to clear. This a nice workaround for a LogicMonitor Admin's bag of tricks. //Print KeyValue strv = response_obj['results']['2']; if ( strv.isEmpty() ) { println "events=0" } else { println "events=" + strv; } return(0);