Bagikan melalui


Referensi REST API Manajer Operasi

Manajer Operasional Pusat Sistem menyediakan pemantauan infrastruktur yang fleksibel dan hemat biaya yang membantu memastikan kinerja yang dapat diprediksi dan ketersediaan aplikasi penting dan layanan infrastruktur. Manajer Operasi menawarkan pemantauan komprehensif untuk pusat data Anda dengan memeriksa kesehatan, performa, dan ketersediaan semua objek yang dipantau di lingkungan Anda, dan membantu mengidentifikasi masalah untuk resolusi yang cepat. Untuk gambaran umum yang lebih rinci, lihat halaman produk Manajer Operasi Pusat Sistem.

Catatan

Operations Manager 2019 UR1 mendukung token Pemalsuan Permintaan Lintas Situs (CSRF) untuk mencegah serangan CSRF. Jika Anda menggunakan Operations Manager 2019 UR1, Anda harus menginisialisasi token CSRF. Skrip HTML tidak berfungsi jika token CSRF tidak diinisialisasi.

Menginisialisasi token CSRF

Tindakan yang diperlukan, berlaku untuk Operations Manager 2019 UR1.

  1. Di header HTML dasbor, tambahkan kode berikut:
            Accept: 'q=0.8;application/json;q=0.9',
            "Content-Type": "application/json"
        };
        InitializeCSRFToken();
        function InitializeCSRFToken() {
            var documentcookies = document.cookie.split('; ');
            var result = {};
            for (var i = 0; i < documentcookies.length; i++) {
                var cur = documentcookies[i].split('=');
                result[cur[0]] = cur[1];
            }
            if (result["SCOM-CSRF-TOKEN"] && result["SCOM-CSRF-TOKEN"] != null) {
                requestHeaders["SCOM-CSRF-TOKEN"] = decodeURIComponent(result["SCOM-CSRF-TOKEN"]);
            }
        }
  1. Dalam fungsi onload , ubah nilai header menjadi requestHeaders.

Contoh:

Menginisialisasi contoh token CSRF

Contoh Operations Manager REST API PowerShell

#Set Headers for the request
$userName ="domain\username";
$password ="Password";
$AuthenticationMode= "Network"
$scomHeaders = New-Object “System.Collections.Generic.Dictionary[[String],[String]]”
$scomHeaders.Add('Content-Type','application/json; charset=utf-8')
$bodyraw = "($AuthenticationMode):$($userName):$($password)”
$Bytes = [System.Text.Encoding]::UTF8.GetBytes($bodyraw)
$EncodedText =[Convert]::ToBase64String($Bytes)
$jsonbody = $EncodedText | ConvertTo-Json

$uriBase = 'http://<scomserver>/OperationsManager'

#Authenticate
$auth = Invoke-WebRequest -Method POST -Uri $uriBase/authenticate -Headers $scomheaders -body $jsonbody -UseDefaultCredentials -SessionVariable $websession 
#Include CSRF Token
$csrfTocken = $websession.Cookies.GetCookies($uriBase) | ? { $_.Name -eq 'SCOM-CSRF-TOKEN' }
$scomHeaders.Add('SCOM-CSRF-TOKEN', [System.Web.HttpUtility]::UrlDecode($csrfTocken.Value))

#Examples to Invoke the required SCOM API

#Data/alertDescription/{alertid}
$alertid="6A88FBC1-0EDC-4173-9BB1-30FFEC296672"
$uri = "$uriBase/data/alertDetails"
$Response = Invoke-WebRequest -Uri "$uriBase/data/alertDetails/$alertid" -Headers $scomheaders -Method Get -WebSession $websession
$Response.Content | Convertto-json



#Criteria: Enter the displayname of the SCOM object
$Criteria = "DisplayName LIKE '%SQL%'"
#Convert our criteria to JSON format
$JSONBody = $Criteria | ConvertTo-Json
$Response = Invoke-WebRequest -Uri "$uriBase/data/class/monitors" -Method Post -Body $JSONBody -WebSession $WebSession
$Response.Content | Convertto-json


#Data Request in JSON Format
$dashboardbody='
{
  "refreshing": false,
  "Name": "TestAPIDashboard",
  "path": "35b6eba3-6202-8738-a47f-16acf476230f"
}'
$response = Invoke-WebRequest -Uri "$uriBase/monitoring/dashboard" -Headers $scomheaders -Method POST -Body $dashboardbody -ContentType "application/json" -UseDefaultCredentials -WebSession $websession