Popular Content

Showing content with the highest reputation since 08/26/2017 in all areas

  1. 2 points
    It would be nice to have an export button on any alert table. When we're doing research on an issue and we've finally narrowed the criteria to see the info we need, it helps to have an export button right there, rather than having to go to reports and reconfigure all the parameters to hopefully get the same data.
  2. 1 point
    It is currently impossible to detect certain conditions without having to be bombarded by noise alerts, which I am told is against the philosophy of Logic Monitor. Consider a few cases: * interface flaps a few times versus more frequently -- how do you tell the difference? right now, you have no choice other than perhaps to construct an API script (not tested). A better solution in this example would be to count the number of flaps over a period of time, and use that as your alert trigger. As it stands right now, there is not even a method to select the top 10 most unstable interfaces since it is literally a yes or no value and top 10 makes no sense. * resource utilization (bandwidth, CPU etc.) is sometimes much better checked over a period of time than just a single interval. the answer I have received on that is "require N checks to fail", and this works if the resource is pegged, but not if it is spiky. As it stands now, the longer of a period you want to simulate via "N checks", the higher the chance one check will reset the alert but the overall result is clearly bad on inspection. Please note this problem has been solved long ago by other tools, like Zabbix (https://www.zabbix.com/documentation/3.4/manual/config/triggers/expression), so hopefully this can be added to LM in the near future as well.
  3. 1 point
    I have published a PowerShell module, which refactors part of the REST API, to the PowerShell gallery. Please feel free to make requests (or send me cmdlets you want added). https://www.powershellgallery.com/packages/LogicMonitor/
  4. 1 point
    When only the "unit" or "label" is configured on the Big Number widget, the hyphen should not be displayed. The hyphen should only be visible if both unit and label are present.
  5. 1 point
    Hi, I was hoping that you could add the ability to add a description for alert rules. This will make it much faster to understand and document what each alert rule is supposed to accomplish. Thank you, Jeremy
  6. 1 point
    Would like an option to add a repeatable SDT on example: The 4th Monday of every month, rather than a specific date of the month as the day of the week changes as the months go on. I am patching servers and the patches come out monthly from Microsoft, I would like to schedule a regular SDT outage for the servers the night of the patching (which occurs the same day of every month). Weekly is no good as I have different days I do certain servers and there would be too many unnecessary SDT's across the days of every week.
  7. 1 point
    I cannot express how embarrassing it is to find a datapoint has not been populating precisely when that data is needed, and this is a frequent problem. LM needs to add a method to easily track down malfunctioning datapoints so we can find and fix these before that happens. I have previously requested introspection checks so we can monitor longer term trends within datapoints, not just the last N faults. This could be an extension of that -- an alert if no data in the last <time period>. Turning on the "no data" option in a datapoint would be too noisy, but knowing a datapoint has had no data for a day would be very valuable information. Thanks, Mark
  8. 1 point
    Yes! I've always wondered what to do with the bar type custom graph. It's not been very useful to date because the X-Axis is always time, would be interesting to see this possibly only display the last datapoints and be able to do something more useful with the bar type charts.
  9. 1 point
    Implement string functions for the Name field. We have very normalized naming conventions and this would save us from having to add multiple items. Example, we have services named: Finance - Corporate - UK Finance - Corporate - FR Finance - Corporate - DE and so on. Would be easier if we could use a string function with token interpolation, especially or the NOC widget, for example: Finance @RIGHT(‘##SERVICEGROUP##’, 2) Where ‘Finance’ is a static, and the function @RIGHT() returns the right most two characters from the ##SERVICEGROUP## token interpolation for each matched item. The end result would be NOC blocks with labels: Finance UK Finance FR Finance DE Hope this makes sense.
  10. 1 point
    Some other monitoring tools provide SSL certificate monitoring to alert for expiring certs. Really wish LogicMonitor had this. +1 if I could use a collector to monitor for private SSL certs that aren't accessible publicly (like for RDS and the like).
  11. 1 point
    I agree, an export button on the alerts tab would simplify the user experience, and remove the repetitive steps.
  12. 1 point
    If this does not exist THIS IS A REQUIREMENT!!!!!! I have 100's of alerts at this point in time that can be triggered if something goes down in a key system. How is it that this monitoring system does not have this feature as of yet? for Managed Service Providers having the ability to squelch alarms when parent systems and or services go down is a de facto standard.
  13. 1 point
    This is great news. From my part, I would like to see 1. Automatic network topology discovery, i.e., Logicmonitor would automatically scan the network and discover how devices are connected together and with what protocols. The information is partly there by just running nmap between every host. 2. Decent visualisation of the network topology, where you can zoom in on different parts of the network and navigate to a device's datssource easily 3. Decent management from the network topology visualisation, where you can click/search servers and say things like "everything connected to this machine by one node is now going into scheduled down time". I'm thinking regular expression matching would be really powerful in combination with this.
  14. 1 point
    Hi Annie, this is good news... From my point of view: It would be nice to create dependencies between targets across servers of other objects like routers, switches etc. Example: An application is running on server A where it's database is on server B. If we have a critical (or fatal) alert on the database, i would like to see that this will also impact the application object. Same thing when there is a critical alert on a server, this is most likely to impact anything that is running on this server. Or, if I take it to a network level: If a router is going down, it will for sure impact all servers connected to this router (which will impact anything on these servers or depending on these) In case this happens I would expect a target to get in a specified state (i.e. "related warning" or "related error"). Sending out alerts (for the childs) on this would not always be required as long as the original alert (i.e. networkswitch went down) is cleary indicating the impact based on the child relations. Or just an alert which refers to the original issue. Kind regards, Jeroen
  15. 1 point
    Would like to see a way to report on the dashboard, alert rule, etc dependencies on a device or device tree so that when reorganizing a device tree or moving devices we can anticipate the impact on dashboards, alert rules, etc and proactively address the impact rather than trying to find out where things broke after-the-fact because of the change. We've seen the API where we can programmatically some of this info (http://www.logicmonitor.com/support/rpc-api-developers-guide/manage-alerts/get-alerts/), but this doesn't address dashboards or device group dependencies.
  16. -1 points
    This datasource was modified on 03/17/2017 to improve the efficiency of the script. It looks like it shaved about a half-second off of the collection time by narrowing the scope using CLI arguments. However, each time this script runs, it still outputs the performance data for each and every disk. I've modified the script even further to only target the disk matching wildvalue. This looks to shave off another half-second or so from the execution time. This should improve collector performance. Please update the official datasource to target each instance as highlighted below. import com.santaba.agent.groovyapi.expect.Expect; def hostname = hostProps.get("system.hostname"); def username = hostProps.get("naviseccli.user"); def pass = hostProps.get("naviseccli.pass"); def original = "##WILDVALUE##" def wldvlu = original.replaceAll('Bus',"").replaceAll('Enclosure',"_").replaceAll('Disk',"_") // Slow if just given getdisk command. Faster if targeting specific disk. def cli_cmd = "getdisk " + wldvlu + " -state -bytrd -bytwrt -capacity -idleticks" + " -rds -wrts -usercapacity -busyticks -actualcapacity" + " -arrivalswithnonzeroqueue -hr -hw -sr -sw -userlba" + " -que -numluns -highsumofseeks"; // find the location of naviseccli trailing_quote = ''; if (new File("C:\\Program Files (x86)\\EMC\\Navisphere CLI\\NaviSecCLI.exe").exists()) { naviseccli = "cmd /c 'C:\\Program Files (x86)\\EMC\\Navisphere CLI\\NaviSecCLI.exe'"; } else if (new File("C:\\Program Files\\EMC\\Navisphere CLI\\NaviSecCLI.exe").exists()) { naviseccli = "cmd /c 'C:\\Program Files\\EMC\\Navisphere CLI\\NaviSecCLI.exe'"; } else { naviseccli = '/bin/sh -c "/opt/Navisphere/bin/naviseccli'; trailing_quote = '"'; } def cli_args = " -User " + username + " -Password " + pass + " -Address " + hostname + " -Scope 0 "; def cli = Expect.open(naviseccli + cli_args + cli_cmd + trailing_quote); cli.expectClose(); def output = cli.stdout(); def units = output.split("\r\n\r\n"); Map output_map = [:] // iterate through each "unit" (instance) returned units.each { unit -> // iterate through each line in this unit unit.eachLine { line -> // does this line start with "Bus" and not contain "Empty" if (line.startsWith("Bus ")) { // yes. this is a line that contains the instance name. // is this an empty disk slot? if (line.contains("Empty")) { // yes. skip it return; } else { // no. get the wildvalue and remove whitespace wildvalue = line.replaceAll(' ', ''); } } else { // no. it's a data line. try to split key/value pairs on whitespace try { // separate the keys and values (key, value) = line.split(/:\s{2}\s+/); // make sure the keys don't have any whitespace key_no_spaces = key.replaceAll(' ',''); // is this the drive state datapoint? if (key_no_spaces == "State") { if (value == "Empty") { drive_state_int = 4; } else if (value == "Unbound") { drive_state_int = 3; } else if (value == "Hot Spare Ready") { drive_state_int = 2; } else if (value == "Enabled") { drive_state_int = 1; } else { drive_state_int = 0; } println wildvalue + '.' + "DriveState=" + drive_state_int; } else { // no. it's a normal datapoint -- just print it println wildvalue + '.' + key_no_spaces + '=' + value.findAll(/[\d\.]+/)[0]; } } catch (all) { // do nothing in the case that key/value separation fails } } } } return 0;
This leaderboard is set to UTC/GMT+00:00