Search the Community

Showing results for tags 'REST API'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • From LogicMonitor
    • General Announcements
    • LM Staff Contributions
    • Community Events
  • LogicMonitor Product Discussion
    • Feature Requests
    • LM Exchange
    • Ask the Community

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me

Found 19 results

  1. I would like to use the REST API from ServiceNow but I'm not able to generate the HMAC using the ServiceNow Glide System native class GlideCertificateEncryption(), the resulting values don't match with what I would expect from Python or PowerShell. Are there any ServiceNow developers out there who have managed to call the LogicMonitor REST API from a ServiceNow script? If you have, could anyone share an example script please. var JavaString =; var key = new JavaString("key"); var message = new JavaString("message"); var keyUTF8 = new JavaString(key.getBytes("UTF8")); var messageUTF8 = new JavaString(message.getBytes("UTF8")); var util = new GlideStringUtil(); var encryption = new GlideCertificateEncryption(); //var mac = encryption.generateMac(util.base64Encode(keyUTF8), "HMACSHA256", messageUTF8); var mac = encryption.generateMac(HexUtil.convertToBase64(keyUTF8 + ""), "HMACSHA256", messageUTF8 + ""); gs.log(mac); gs.log(HexUtil.convertToBase64(mac)); var decoded = util.base64Decode(mac); var utf8Bytes = decoded.getBytes("UTF8"); gs.log(utf8Bytes.length); gs.log(JSON.stringify(utf8Bytes));
  2. Hi, I am trying to use the LogicMonitor REST API get a list of allof the devices in a given device group, including all devices in all sub groups below in the hierarchy. I have tried using the /device/groups/{id}/devices API but it just seems to return the devices in that immediate device group. This behaviour seems contrary to the /device/groups/{id}/alerts and /device/groups/{id}/sdts methods which do work with any sub groups below. This was previously possible via the getHosts RPC API method. I believe it is still possible but we are looking to migrate away from the RPC API. Can someone please advise on a solution for this issue?
  3. For /device/devices the inheritedProperties objects should include a key-value pair that identifies the hostGroupId that object is inherited from Example { "status": 200, "errmsg": "OK", "data": { "total": 1, "items": [ { "name": "hostname", "inheritedProperties": [ { "name": "keyname1", "value": "value1", "inheritedFromHostGroupId": 2 } ] } ] } } I'm not super tied to the name of the proposed key 😉 Thanks!
  4. Hi, I need to retrieve alerts by a list of alert IDs. I thought maybe the includes ~ operator in the filter would be the way to do this, passing a comma separated list of alert IDs: /alert/alerts?needMessage=true&filter=internalId~LMD2316102,LMD1785737 But this only returns the first alert. Am I using the ~ operator correctly?
  5. So I have had pretty good luck converting the Python examples to Powershell. The one thing I can not figure out how to do is return volume usage for a specific host. Anyone got any example powershell script using Rest API to pull volume usage on a host?
  6. I would like the REST API to support Scheduling a collector version update Applying a one-time collector version update Working with the Collector Custom Properties (recently added I think, but don't see anything in the online documentation about support in REST API).
  7. I am trying to use two properties in REST API call ( size and fields). Following doesn't work. Coi;d someone help on the syntax? Thanks, Ye curl -u USER:PASSWORD,id
  8. Priot to ersion 106 the Get Widget Data REST API worked using the following call: /dashboard/widgets/680/data?size=1000&fields=severity,acked,ackedEpoch,startEpoch,monitorObjectGroups&filter=type:alert It not longer works, we get an empty array back. Has anyone else seen this, or can LM confirm please. We are talking to support too. @Sarah Terry @Ali Holmes
  9. Good to see customProperties in the Collector REST API. But properties that mask their values in the UI should respect that masking when fetching that information from the API.
  10. When we are downloading the collector file using rest API we're getting corrupted file for few of our products, which is not consistent. We're getting this issue for random products and today we're not able to reproduce the issue for the same products. I would like to know in which scenarios we'll be able to reproduce the issue or is there an issue with API. Any quick update or heads up will be a great help!! Below is the powershell code we're using to download collector file. function downloadCollector { param( [parameter(mandatory = $true)] [string]$CollectorId, [parameter(mandatory = $true)] [string]$portal, [parameter(mandatory = $true)] [string]$AccessId, [parameter(mandatory = $true)] [string]$AccessKey) write-host "In the downloadCollector function.." $verb='GET' $baseLMUrl = 'https://{0}{1}' #$resourcePath = [string]::Format("/setting/collectors/{0}/installers/Win64?useEA=true", $CollectorId) $resourcePath = [string]::Format("/setting/collectors/{0}/installers/Win64", $CollectorId) $localFile = 'C:\inforbc\tmp\logicmonitoring.exe' <# Construct URL #> $url = [string]::Format($baseLMUrl, $portal, $resourcePath) $url = [string]::Format("{0}?useEA=true?collectorSize=small", $url) <# Get current time in milliseconds #> $epoch = [Math]::Round((New-TimeSpan -start (Get-Date -Date "1/1/1970") -end (Get-Date).ToUniversalTime()).TotalMilliseconds) <# Concatenate Request Details #> if ([String]::IsNullOrEmpty($data)) { $requestVars = $verb + $epoch + $resourcePath } else { $requestVars = $verb + $epoch + $data + $resourcePath } <# Construct Signature #> $hmac = New-Object System.Security.Cryptography.HMACSHA256 $hmac.Key = [Text.Encoding]::UTF8.GetBytes($accessKey) $signatureBytes = $hmac.ComputeHash([Text.Encoding]::UTF8.GetBytes($requestVars)) $signatureHex = [System.BitConverter]::ToString($signatureBytes) -replace '-' $signature = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($signatureHex.ToLower())) <# Construct Headers #> $auth = 'LMv1 ' + $accessId + ':' + $signature + ':' + $epoch $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization",$auth) #$headers.Add("Content-Type",'application/json') #(New-Object System.Net.WebClient).DownloadFile($url, $installFile) Invoke-WebRequest -Uri $url -Headers $headers -ContentType 'application/json' -OutFile $localFile }
  11. Today, the audit log captures any changes that an API user makes, but doesn't record any activity if you are just making queries. It would be valuable to log all types of API calls to comprehensively monitor API user behavior. This could be done with one of the following: 1) A separate API-only audit log 2) Bundled with the existing audit log 3) The existing audit log could have an easy filter to hide API calls and reduce noise
  12. Hello, I had developed some powershell scripts in 3.0 to connect using Powershell Invoke-RestMethod cmdlets and was working fine. Today I upgraded my machine to Win 10 with Powershell 5.1 and all scripts stopped working with below error. Any changes we need to do in code ? ================================================== + ... $response = Invoke-RestMethod -Uri $url -Method Get -Header $headers + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebE xception + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
  13. 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.
  14. I am trying to use the REST API from Google Apps Script but having trouble getting the auth signature to match the expected values. The code executes but I get HTTP 403 back because the auth signature is not as expected. Here's my Google Apps Script code, hoping someone from LM can point me in the right direction. I know my accessKey etc. are okay as my PowerShell code works just fine. Thanks in advance. var httpVerb = "GET"; var epoch = (new Date).getTime(); var resourcePath = "/device/groups"; var queryParams = "?filter=fullPath~Business Services&fields=id,name"; // Construct signature var requestVars = httpVerb + epoch + resourcePath; var message = requestVars; var secret = accessKey; var signature = Utilities.computeHmacSha256Signature(message, secret, Utilities.Charset.UTF_8); var signatureHex = ""; for (var i = 0; i < signature.length; i++) { signatureHex += (signature[i]).toString(16); } signatureHex = signatureHex.split("-").join(""); signature = Utilities.base64Encode(signatureHex); Logger.log(signatureHex); Logger.log(signature); // Construct HTTP request headers var auth = "LMv1 " + accessId + ":" + signature + ":" + epoch; var options = { "Authorization" : auth, "method" : httpVerb, "contentType" : "application/json" }; var url = "https://" + accessCompany + "" + resourcePath + queryParams; var response = UrlFetchApp.fetch(url, options); Logger.log(response.getContentText());
  15. I'm on hour 17 of a run of a script that pulls down Service responseTime data for about 345 services so I can come up of an average across all of those services from the last quarter. I would love, LOVE a built-in option or parameter to aggregate this data in the API call.
  16. Hi, we were upgraded to v96 at around 2am GMT and since then the Get Widget Data API has broken. The returned JSON does contain any widget data. We have an alert widget for which we use he Get Widget Data API, it was working perfectly fine until the upgrade. I have logged a support ticket and requested to be taken back to v95. @Sarah Terry
  17. We would like to build a nicer web UI for the debug commands so that we can enable our less technical staff to perform tests to verify things like SNMP comms. Please extend the REST API so that debug commands can be invoked and the response returned in the REST API call response.
  18. Add endpoints to the REST API to manage Recipient Groups. It should be possible to make a single API call to remove all members of a recipient group, add a single member, add arbitrary email CCs, delete a single member, get a list of all members, get a list of arbitrary emails. (If it's already present then it needs to be documented so customers don't need to reverse engineer it from the UI which may not be a supported approach.)
  19. I'm attempting to create a report for our management that would show hostname, winvolume usage instances, capacity of volume, current usage of volume, percent used of volume, groups host belongs to, current effective threshold (global/group/host/instance), current severity of alert (if any), alert acked, instance in sdt, alerting disabled effectively (group/host/instance) Most of that is retrieved relatively easily, except for effective threshold. Can that be added to the api?