Mike Moniz

  • Content Count

  • Joined

  • Last visited

  • Days Won


Community Reputation

23 Excellent

1 Follower

About Mike Moniz

  • Rank
    Community All Star

Recent Profile Visitors

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

  1. Have you looked at the data APIs? I haven't used them myself but seems to fit the request. https://www.logicmonitor.com/support/rest-api-developers-guide/v1/data/get-graph-data/#Get-widget-data https://www.logicmonitor.com/swagger-ui-master/dist/#/Data/
  2. When you add snmp.meraki.com to LogicMonitor, with the correct SNMP details from the cloud website, LogicMonitor should pull in all the devices hosted in that cloud account. It will look something like below. You can also add the devices directly, assuming the collector is on the same network, which provides a bit more detail like listing each interface for switches, but also some overlap with the cloud version. I would suggest setting the cloud version first, then perhaps add local versions of each type of device and review differences. You can always do both and disable checks that overlap if needed. Also note that if you have multiple Meraki Cloud accounts, they each need to be on their own collector OR you can use DNS tricks like discussed here: Meraki Multiple Organizations https://www.logicmonitor.com/support/monitoring/networking-firewalls/meraki-cloud-wireless-access-controllers/
  3. Some possible workarounds: I think LM Config might be the better option for this, although I haven't played with it personally yet. It's designed for config files, but I don't see why the "config" file can't just be the version info. Also rather than attempt to use properties to store state, you can try using a file on the collector, for example "../tmp/firmware_${hostname}.LastRun" then it would be easy to read in the script. There might be an issue if resource bounces around collectors though. You might also be able to using Auto Discovery Instances with DataSources, which lets you set auto properties, but that might be tricky to implement.
  4. If your are not aware you should be able to edit the soap xml values to fill in whatever fields you need. I don't use Autotask myself but it looks very similar to other Integrations. When you setup an integration, you will fill some values on the top half and then click on a Generate button. This will then auto-populate the HTTP Delivery section based on your values. You can edit the various parts of the HTTP Delivery section and modify the default Soap XML request to add in any other field you want to add. You can use various LM Tokens or hard-coded values.
  5. When you create the Escalation Chain, you need to create Stages. In the escalation chain choose the "+" next to Stages to create a new stage. This will popup a "Add new recipients" window. Click on the "+" which asks for a user, pick/type-in a user as mentioned above. Once you pick a user, it will offer a "Contact Method" box to the right where you can pick your PD integration. This will only show up if you pick a normal user, does not work for groups nor api-only users. Click on the white save button then the blue save button.
  6. I don't use PagerDuty itself so I'm making some guesses, but with Integrations in general you can use any active normal user in the escalation chain. I have a special "integration send" user that has a role with virtually no access and use that user just for our integrations.
  7. LogicMonitor itself will take care of most of that for you and you don't normally need to worry about which collector is going to be used. Make sure that the AppliesTo covers all servers you want to check against and that is all you need to do. When you add a Device/Resource to LogicMonitor, you assign each one to a Collector or Collector ABCG. Anytime you run a check or script against that device, LogicMonitor will automatically look up what collector is assigned to it and use that collector. You don't need to tell it what collector to use each time. Ignore what I said about ##HOSTNAME##, you have that covered by the "hostname = hostProps.get("system.hostname");" line.
  8. If you didn't know, you can use the slideshow option to cycle thru a list of dashboards. It uses a fixed time for all the dashboards (so can't be 30s then 15s then 15s, but a fix 15s or 30s per dashboard works. I guess you can cheat and setup 15s cycle then have two identical dashboards to make it look like it's shown for 30sec. Slideshow doesn't seem to let you pick the same dashboard twice.
  9. You can embed javascript in the Text Widget. Add Text Widget > Source button and enter in something like this: <p id="today">[today]</p> <script> var d = new Date(); var date = d.getFullYear() + "/" + d.getMonth() + "/" + d.getDate() document.getElementById('today').innerHTML = date; </script> Note that the javascript needs to be after the html code it modifies. I don't think you can use this javascript to modify other parts of the dashboard or extract data from monitoring because it's all contained inside an iframe. I also don't know if this will continue to work in the future. If you need to get monitoring data into the widget, you might want to look at the various examples of datasources that directly modify widgets on these forums like: https://communities.logicmonitor.com/topic/2173-sql-results-table-display/#comment-5571
  10. While not in a table but if it helps you can use the Gauge widget to show the current value and also show a Peak value for a particular period, including 24 hours. https://www.logicmonitor.com/support/dashboards-and-widgets/widgets/which-widget-should-i-use/gauge-widget/#id:peak-time-range-selection
  11. Are you looking for all the collectors to telnet to the same set of hosts or each collector telnet to a different set of servers? For example CollectorA would telnet to Server1 and Server2, CollectorB would telnet to Server3 and Server4, etc? If the latter, you would just add Server1, Server2, Server3 and Server4 into LogicMonitor as Resources. Then create the DataSource which telnet to port 25 on ##HOSTNAME## as coded. Then whatever collector is assigned to each server will do the actual telnet check. Any particular thing you need to do with telnet to port 25 (smtp)? If you are just checking if the port is live or just get the version header, you might be able to clone and modify the existing "Port-" Datasource. I did not test this though.
  12. Almost all Windows-based monitoring using WMI, that is what Microsoft provided as the primary method of remote monitoring/information collection, so it's not a surprise. If you worry about using too many ports, perhaps you should lower the number of threads you are using? I think it's wmi.stage.threadpool.maxsize in the sbproxy.conf. I have not played with this option myself. https://www.logicmonitor.com/support/collectors/collector-overview/collector-capacity/ I expect that writing a custom BatchScript for WMI calls would only help if the WMI Datasource has lots of instances AND you can collect the same data in fewer calls. You also need to balance supporting custom coding for your org vs built-in functionality.
  13. Thanks. I think I would just more quickly run into the rate limit cap if I ran API calls in parallel. The caveat wouldn't really apply here since this is not a DataSource or running on the collector and this is directly querying the LM API and not devices.
  14. Powershell and this is not a DataSource but a independent script to check for issues. I've already limited the request best as I can but the issue is more about having to make thousands of API calls, 1 per device and I do want to check all of them. The API doesn't have a way to query multiple device's datasource instances or batch requests together. Not a big deal but wanted to see if anyone knows of any "tricks" with the LM API for batching.
  15. LogicMonitor's Host Status DataSource is very important DataSource that provides notification of Host Down and we check that it's never disabled. It's a common thing I see were someone "just wants to check ping" and disabled all other DataSources including Host Status without realizing it's importance. I've had a script that checks every device in the system in a loop and verifies none of them are disabled. It basically runs a REST call /device/devices/{ID}/devicedatasources?filter=dataSourceName:HostStatus for each device and checks alertDisableStatus and stopMonitoring. With thousands of devices this takes a long time and I'm wondering if anyone has suggestions on how to get this information any quicker? Some way to query multiple/all devices at once perhaps? I tried looking at from the DataSource side (/setting/datasources/) but it doesn't provide that information. Thanks!