Scenario: Köra MMI APIer för att samla in felsökningsinformation

XYZ-företaget har ett problem i Maximo Asset Management-miljön och systemadministratören öppnar en PMR (Problem Management Report) hos IBM® Technical Support. IBM Technical Support and Development bestämmer att mer felsökningsinformation behöver samlas in för vissa resurser i kundens Maximo-miljö.

IBM Technical Support and Development granskar de tillgängliga resurserna i dialogrutan Övervaka miljöinformation i applikationen Loggning och bestämmer att systemadministratören ska köra ett visst MMI API. Om ett API som behövs för att samla in information inte är enkelt tillgängligt kan IBM Development i vissa fall tillhandahålla ett skript som samlar in den nödvändiga informationen.

IBM instruerar systemadministratören att köra APIt i en webbläsare genom att ange en URL av typen http://<host>:<port>/maximo/oslc/members/<memberid>/<api>. Systemadministratören skickar felsökningsutdata tillsammans med PMR för analys av IBM.

API-utdata

När systemadministratören kör MMI API genom att ange URL-adressen i webbläsaren och utdata visas direkt i webbläsaren.

Utdata är inte formaterade och kan vara svårlästa om inte ett JSON-visningstillägg har installerats i webbläsaren. JSON-visningstillägg är tillgängliga för Mozilla Firefox och Google Chrome. Microsoft Internet Explorer har inte något JSON-visningstillägg. Du kan hitta JSON-visningstillägg genom att öppna webbläsaren och söka efter JSON viewer. Exempel: Firefox-tillägget har namnet JSONView. Chrome-tillägget har namnet JSONView.

Systemadministratören sparar utdata i webbläsaren till en textfil och lämnar in filen tillsammans med PMR för analys av IBM.

Skriva skript

En systemadministratör som uppfyller flera av kompetenskraven och väljer att skriva ett skript utan hjälp av IBM Technical Support and Development, kan använda följande exempelskript som mall.
Obs: Skriv inte skript annat än om du uppfyller förutsättningskraven eller har fått instruktioner från IBM att göra det.

Kompetenskrav

För att skriva skript för resurser som ligger utanför omfattningen av de tillhandahållna skripten krävs följande kompetens.
  • Systemadministratörsnivå
  • Erfarenhet av anrop av REST API
  • Programmerings- och skriptspråkskompetens

Exempelskript

En systemadministratör vill ta reda på hur många lyssnare som är associerade med varje objekthändelsetyp. Systemadministratören vill analysera lyssnardata för att undersöka ett eventuellt prestandaproblem som kan vara relaterat till lyssnare för vissa inventarier. För detta mål krävs ett sätt att accessa händelseämnesträdet på Maximo-servern och söka efter det angivna ämnet, objekthändelsetypen och sedan ta reda på antalet associerade lyssnare. Följande Jython-skript uppfyller detta krav.
from psdi.server import MXServer
if request.getWhere() is not None and request.getWhere().get("spi:topic") is not None:
  eventTopicToFind = request.getWhere().get("spi:topic")[0]

  eventTopic = MXServer.getMXServer().getEventTopicTree().findEventTopic(eventTopicToFind)

  listenerCount = eventTopic.getListenerCount()
  br.setProperty("spi:listenerCount",listenerCount)
I MMI-ramverket ingår flera variabler i skriptet.
  • request - MMI API-begäranobjektet. Skriptet använder begäranobjektet för att bestämma vilken objekthändelsetyp som användaren är intresserad av.
  • br - Svaret som APIt returnerar till användaren.

Skriptet använder begäranobjektet för att bestämma objekthändelstypen genom att använda parametern Where i eventTopicToFind = request.getWhere().get("spi:topic")[0].

Parametern br har ett enkelt gränssnitt, setProperty(string,any), som skriptet använder för att samla in den information som kommer att skickas tillbaka till användaren. Skriptet använder br setProperty APIt för att ställa in heltalet för listenerCount på objektet br. Objektet används för att formatera svaret till API-konsumenten.

Du kan lägga till skriptet till MMI genom att öppna dialogrutan Övervaka miljöinformation i applikationen Loggning, välja Ny rad och ange skriptnamnet i fältet Klass- eller skriptnamn. Skriptet måste anges med den kvalificerade syntaxen script:<script name>, t.ex. script:LISTENERS.

Skriptet körs genom att ange URL-syntaxen http://<host>:<port>/maximo/oslc/members/<memberid>/<event topic context>?oslc.where=spi:topic="maximo.asset.add".

Exempel på URL: http://127.0.0.1/maximo/oslc/members/OS4zMi4yMS4xMzcvTVhTZXJ2ZXI-/eventtopic?oslc.where=spi:topic="maximo.asset.add"

Se wikin Maximo Management Interface för information om att köra MMI APIer och visa och skicka utdata till IBM.