Skip to content

SAM AppInsight applications

VyacheslavDzhus edited this page Feb 28, 2024 · 1 revision

Applnsight applications provide a level of detail and expert knowledge far beyond what a simple template can provide, allowing you to monitor virtually every aspect of the assigned application.

Like any unassigned application in SAM, Appinsight applications are considered templates until applied. Therefore, it is a member of the Application Monitor Templates collection.

Once applied to a node, Applnsight applications are considered applications like any SAM application, Applnsight applications are comprised of multiple component monitors, also known as performance counters.

Currently, SAM offers 4 different Applnsight Applications:

  • AppInsight for Active Directory
  • AppInsight for Exchange
  • AppInsight for IIS
  • AppInsight for SQL

Orion SDK provides different endpoints and examples for configurations of the AppInsights. See PowerShell samples

General REST Endpoints for AppInsight

To set up any application within the Server & Application Monitor (SAM), you are required to furnish both the applicationTemplateId and credentialSetId. These identifiers play crucial roles in defining the application's template and specifying the credentials necessary for its configuration.

How to list the necessary application template for AppInsight ?

🟢 GET Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Query?query=SELECT+ApplicationTemplateID%2c+Name%2c+CustomApplicationType+FROM+Orion.APM.ApplicationTemplate+WHERE+Name+LIKE+%27%25AppInsight%25%27

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Example Response

{
    "results": [
        {
            "ApplicationTemplateID": 10,
            "Name": "AppInsight for Active Directory",
            "CustomApplicationType": "ABAA"
        },
        {
            "ApplicationTemplateID": 11,
            "Name": "AppInsight for IIS",
            "CustomApplicationType": "ABIA"
        },
        {
            "ApplicationTemplateID": 12,
            "Name": "AppInsight for Exchange",
            "CustomApplicationType": "ABXA"
        },
        {
            "ApplicationTemplateID": 13,
            "Name": "AppInsight for SQL",
            "CustomApplicationType": "ABSA"
        }
    ]
}

How to list existing credentials for AppInsight ?

🟢 GET Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Query?query=SELECT+ID%2c+Name%2c+CredentialType%2c+CredentialOwner+FROM+Orion.Credential+WHERE+CredentialOwner+%3d+%27APM%27

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Example Response

{
    "results": [
        {
            "ID": 9,
            "Name": "sqlcred",
            "CredentialType": "SolarWinds.APM.Common.Credentials.ApmUsernamePasswordCredential",
            "CredentialOwner": "APM"
        },
        {
            "ID": 10,
            "Name": "iiscred",
            "CredentialType": "SolarWinds.APM.Common.Credentials.ApmUsernamePasswordCredential",
            "CredentialOwner": "APM"
        },
        {
            "ID": 12,
            "Name": "activeDirectory",
            "CredentialType": "SolarWinds.APM.Common.Credentials.ApmUsernamePasswordCredential",
            "CredentialOwner": "APM"
        },
        {
            "ID": 14,
            "Name": "exchangeSrver",
            "CredentialType": "SolarWinds.APM.Common.Credentials.ApmUsernamePasswordCredential",
            "CredentialOwner": "APM"
        }
    ]
}

How to create credentials for AppInsight ?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.Credential/CreateCredentials

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "type": "SolarWinds.APM.Common.Credentials.ApmUsernamePasswordCredential",
    "properties": {
        "Name": "Credential Name",
        "Username": "New Username",
        "Password": "New Password"
    },
    "owner": "APM"
}

Example Response

Returns credentialId if the operation is successful

How to update credentials for AppInsight ?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.Credential/UpdateCredentials

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "id": 17,
    "properties": {
        "Username": "Updated Username",
        "Password": "Updated Password"
    }
}

Example Response

Returns null if the operation is successful.

REST Endpoints AppInsight for SQL

How to create AppInsight for SQL application?

To create an application it is needed to provide applicationSettings related to AppInsight for SQL template.

UI

image

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.SqlServerApplication/CreateApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "nodeId": 1,
  "applicationTemplateId": 13,
  "credentialSetId": 9,
  "skipIfDuplicate": true,
  "applicationSettings": {
      "PortType": "default"
   }
}

Or

{
  // Other fields
  "applicationSettings": {
      "PortType": "static",
      "PortNumber": "1433",
   }
}

Example Response

Returns applicationId if the application was created.
Returns -1 if the application already exists.

How to delete AppInsight for SQL application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.SqlServerApplication/DeleteApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 1
}

Example Response

Returns null if the operation is successful.

How to poll fresh data for AppInsight for SQL application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.SqlServerApplication/PollNow

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 1
}

Example Response

Returns null if the operation is successful.

How to unmanage the AppInsight for SQL application?

To unmanage the application you need to provide netObjectId. It consists of 2 parts NetObjectType for Application (AA) and ApplicationId.

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.SqlServerApplication/Unmanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:1",
  "unmanageTime": "2024-02-19T18:16:16.113Z",
  "remanageTime": "2024-02-20T18:16:16.113Z",
  "isRelative": true
}

Example Response

Returns null if the operation is successful.

How to remanage the AppInsight for SQL application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.SqlServerApplication/Remanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:1"
}

Example Response

Returns null if the operation is successful.

REST Endpoints AppInsight for IIS

How to create AppInsight for IIS application?

To create an application it is needed to provide applicationSettings related to AppInsight for IIS template.

UI

image

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/JsonInvoke/Orion.APM.IIS.Application/CreateApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "nodeId": 2,
  "applicationTemplateId": 11,
  "credentialSetId": 10, 
  "skipIfDuplicate": true,
  "applicationSettings": {
      "NodeIpAddress": "Target Node Ip address",
      "PsUrlWindowsValue": "https://${IP}:5986/wsman/"
   }
}

Example Response

Returns applicationId if the application was created.
Returns -1 if the application already exists.

How to delete AppInsight for IIS application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.IIS.Application/DeleteApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 2
}

Example Response

Returns null if the operation is successful.

How to schedule configuration for application of AppInsight for IIS?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.IIS.Application/ScheduleConfiruation

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 2,
    "credentialsId": 10
}

Example Response

Returns executionKey if the operation is successful.

solarwinds.apm.remoteiisconfiguratorfull.exe-{node-ip}

How to get configuration result for application of AppInsight for IIS?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.IIS.Application/GetConfigurationResult

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "executionKey":  "solarwinds.apm.remoteiisconfiguratorfull.exe-{node-ip}"
}

Example Response

Returns ConfigurationResult if the operation is successful.

{
    "IsFinished": true,
    "ExitCode": 0,
    "ErrorDescription": null
}
{
    "IsFinished": true,
    "ExitCode": 16013,
    "ErrorDescription": "Unable to access the remote administrator share (Error code: 16013)"
}

How to poll fresh data for AppInsight for IIS application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.IIS.Application/PollNow

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 2
}

Example Response

Returns null if the operation is successful.

How to unmanage the AppInsight for IIS application?

To unmanage the application you need to provide netObjectId. It consists of 2 parts NetObjectType for Application (AA) and ApplicationId.

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.IIS.Application/Unmanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:2",
  "unmanageTime": "2024-02-19T18:16:16.113Z",
  "remanageTime": "2024-02-20T18:16:16.113Z",
  "isRelative": true
}

Example Response

Returns null if the operation is successful

How to remanage the AppInsight for IIS application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.IIS.Application/Remanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:2"
}

Example Response

Returns null if the operation is successful

REST Endpoints AppInsight for Active Directory

How to create AppInsight for Active Directory application?

To create an application it is needed to provide applicationSettings related to AppInsight for Active Directory template.

UI

image

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/JsonInvoke/Orion.APM.ActiveDirectory.Application/CreateApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "nodeId": 3,
  "applicationTemplateId": 10,
  "credentialSetId": 9,
  "skipIfDuplicate": true,
  "applicationSettings": {
      "Port": "389",
      "GCPort": "3268",
      "EncryptionMethod": "0",  
      "AuthenticationMethod": "2", 
      "IgnoreCertificateErrors": "true"
   }
}

Note

EncryptionMethod:
0 - None
1 - SSL

Note

AuthenticationMethod:
0 - Anonymus
1 - Simple
2 - Ntlm
3 - Kerberos
4 - Negotiate

Example Response

Returns applicationId if the application was created.
Returns -1 if the application already exists.

How to assign AppInsight for an Active Directory application?

The process of assigning the application is basically the same as creating an application. You need to provide application settings in xml format. Instead of applicationSettings we use serializedSettings.

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/JsonInvoke/Orion.APM.ActiveDirectory.Application/AssignApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{ 
  "nodeId": 3, 
  "serializedSettings": "Active Directory Settings in XML format" 
}

Example of Settings

<Settings xmlns="http://schemas.datacontract.org/2004/07/SolarWinds.APM.BlackBox.ActiveDirectory.Common.Models" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <settings xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>CredentialSetId</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>false</b:Required>
        <b:SettingLevel>Instance</b:SettingLevel>
        <b:Value>9</b:Value>
        <b:ValueType>String</b:ValueType>
        <b:Key>CredentialSetId</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>__Timeout</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>true</b:Required>
        <b:SettingLevel>Template</b:SettingLevel>
        <b:Value>1800</b:Value>
        <b:ValueType>String</b:ValueType>
        <b:Key>__Timeout</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>Port</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>true</b:Required>
        <b:SettingLevel>Instance</b:SettingLevel>
        <b:Value>389</b:Value>
        <b:ValueType>String</b:ValueType>
        <b:Key>Port</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>GCPort</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>true</b:Required>
        <b:SettingLevel>Instance</b:SettingLevel>
        <b:Value>3268</b:Value>
        <b:ValueType>String</b:ValueType>
        <b:Key>GCPort</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>AuthenticationMethod</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>true</b:Required>
        <b:SettingLevel>Instance</b:SettingLevel>
        <b:Value>Ntlm</b:Value>
        <b:ValueType>String</b:ValueType>
        <b:Key>AuthenticationMethod</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>EncryptionMethod</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>true</b:Required>
        <b:SettingLevel>Instance</b:SettingLevel>
        <b:Value>None</b:Value>
        <b:ValueType>String</b:ValueType>
        <b:Key>EncryptionMethod</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
    <a:KeyValueOfstringSettingValueyR_SGpLPx>
      <a:Key>IgnoreCertificateErrors</a:Key>
      <a:Value xmlns:b="http://schemas.solarwinds.com/2007/08/APM">
        <b:Required>true</b:Required>
        <b:SettingLevel>Instance</b:SettingLevel>
        <b:Value>True</b:Value>
        <b:ValueType>Boolean</b:ValueType>
        <b:Key>IgnoreCertificateErrors</b:Key>
      </a:Value>
    </a:KeyValueOfstringSettingValueyR_SGpLPx>
  </settings>
</Settings>

Example Response

Returns applicationId if the application was created.
Returns -1 if the application already exists.

How to delete AppInsight for Active Directory application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.ActiveDirectory.Application/DeleteApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 3
}

Example Response

Returns null if the operation is successful.

How to disable domain components data of AppInsight for Active Directory application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.ActiveDirectory.Application/DisableDomainComponents

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 3
}

Example Response

Returns null if the operation is successful.

How to delete domain components data of AppInsight for Active Directory application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.ActiveDirectory.Application/DeleteDisabledComponentsData

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 3
}

Example Response

Returns null if the operation is successful.

How to poll fresh data for AppInsight for Active Directory application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.ActiveDirectory.Application/PollNow

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 3
}

Example Response

Returns null if the operation is successful.

How to unmanage the AppInsight for Active Directory application?

To unmanage the application you need to provide netObjectId. It consists of 2 parts NetObjectType for Application (AA) and ApplicationId.

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.ActiveDirectory.Application/Unmanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:3",
  "unmanageTime": "2024-02-19T18:16:16.113Z",
  "remanageTime": "2024-02-20T18:16:16.113Z",
  "isRelative": true
}

Example Response

Returns null if the operation is successful.

How to remanage the AppInsight for Active Directory application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.ActiveDirectory.Application/Remanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:3"
}

Example Response

Returns null if the operation is successful.

REST Endpoints AppInsight for Exchange

How to create AppInsight for Active Directory application?

To create an application it is needed to provide applicationSettings related to AppInsight for Exchange template.

UI

image

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/JsonInvoke/Orion.APM.Exchange.Application/CreateApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "nodeId": 4,
  "applicationTemplateId": 12,
  "credentialSetId": 14,
  "skipIfDuplicate": true,
  "applicationSettings": {
      "PsUrlWindows": "https://${IP}:5986/wsman/",
      "PsUrlExchange": "https://${IP}/powershell/"
   }
}

Example Response

Returns applicationId if the application was created.
Returns -1 if the application already exists.

How to delete AppInsight for Exchange application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.Exchange.Application/DeleteApplication

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 4
}

Example Response

Returns null if the operation is successful.

How to schedule configuration for application of AppInsight for Exchange ?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.Exchange.Application/ScheduleConfiruation

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 4,
    "credentialsId": 14,
}

Example Response

Returns executionKey if the operation is successful.

solarwinds.apm.remotewinrmconfiguratorfull.exe-{node-ip}

How to get configuration result for application of AppInsight for Exchange ?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.Exchange.Application/GetConfigurationResult

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "executionKey":  "solarwinds.apm.remotewinrmconfiguratorfull.exe-{node-ip}"
}

Example Response

Returns ConfigurationResult if the operation is successful.

{
    "IsFinished": true,
    "ExitCode": 0,
    "ErrorDescription": null
}
{
    "IsFinished": true,
    "ExitCode": 16013,
    "ErrorDescription": "Unable to access the remote administrator share (Error code: 16013)"
}

How to poll fresh data for AppInsight for Exchange application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.Exchange.Application/PollNow

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
    "applicationId": 4
}

Example Response

Returns null if the operation is successful.

How to unmanage the AppInsight for Exchange application?

To unmanage the application you need to provide netObjectId. It consists of 2 parts NetObjectType for Application (AA) and ApplicationId.

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.Exchange.Application/Unmanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:4",
  "unmanageTime": "2024-02-19T18:16:16.113Z",
  "remanageTime": "2024-02-20T18:16:16.113Z",
  "isRelative": true
}

Example Response

Returns null if the operation is successful.

How to remanage the AppInsight for Exchange application?

🟠 POST Query Request

https://{IP}:17774/SolarWinds/InformationService/v3/Json/Invoke/Orion.APM.Exchange.Application/Remanage

Headers

Authorization: {{basicAuthorization}}
Content-Type: application/json

Body raw

{
  "netObjetId": "AA:4"
}

Example Response

Returns null if the operation is successful.

Clone this wiki locally