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
Kompetenskrav
- Systemadministratörsnivå
- Erfarenhet av anrop av REST API
- Programmerings- och skriptspråkskompetens
Exempelskript
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)- 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.