Posts Tagged ‘Impact’

Netcool/Impact and ServiceNow!

Friday, December 6th, 2013

Have you ever tried to integrate Netcool/Impact and ServiceNow! ?

ServiceNow!… It’s an interesting piece of software I must admit and it’s in a public cloud, in Internet. You can create a lot of customizations and your own project and applications like CMDB, incident management, problem management, probably marketing people from SN! would tell you more benefits.

I’ve had a need to integrate my Impact 6.1.1 with SN! via SOAP recently and just wanted to share few general tips.

1. SN! WSDLs seem to be not correctly generated for Axis2 and must be manually adjusted before you approach compiling them in Netcool/Impact, I basically go and open my WSDL, I visit every complextType entry and remove the name parameter and value, so I leave <complextType> only. Only with this your WSDL will compile in nci_compilewsdl. Thank you Yasser from Impact dev team to pointing me to that one! 🙂

2. SN! CA-signed certificate must be imported to your ImpactProfile WAS. It’s Entrust Inc. And here’s the full instruction for Impact: http://www-01.ibm.com/support/docview.wss?uid=swg21592616

3. You’ve got a basic HTTP authentication in SN! and probably won’t be allowed to switch it off, then compilation of WSDL is possible only locally with a downloaded WSDL file (both from CLI and GUI).

4. Policy generated by wizard is good and works well, usually a single parameter being selected helps it working better since the beginning (so you generate WSParams variable correctly).

The documentation of SN! in wiki is pretty well however not everything is documented and beware of your version of ServiceNow!

Everything else depends on your needs, if this is incident management integration (opening tickets) or CMDB (importing service trees to TBSM).

That would be it. I’ll share more after I finish my integration with TBSM.

 

Impact Policy Language – cz.1 ?

Thursday, April 29th, 2010

Być może będzie to pierwszy artykuł w temacie języka IPL, użytym w oprogramowaniu Netcool Impact i TBSM. Wtajemniczeni wiedzą, że możliwości ma szerokie, a w połączeniu z możliwościami łączenia się z usługami sieciowymi poprzez WSDL lub wywoływaniem skryptów i programów z linii poleceń to już bardzo szerokie. Niewtajemniczonych odsyłam zasadniczo do dwóch źródeł, oryginalnej dokumentacji oraz wiki TBSM. Ogólnie – chodzi o wewnętrzny mechanizm oraz swoisty język skryptowy Impacta i TBSMa, który umożliwia podłączanie się do baz danych przez JDBC, bazy zdarzeń ObjectServer, usług sieciowych, wywoływanie skryptów i programów z linii poleceń oraz, w końcu, wykonywanie standardowych obliczeń liczbowych i operacji na łańcuchach tekstowych, zatem wzbogacanie kontekstu istniejącej informacji, np. zdarzenia, albo też np. korelowanie ze sobą zdarzeń i wartości zadanych metryk.

Nie chcę omawiać na niniejszym blogu całego języka IPL, jest to zbyt szeroki temat jak i istnieją już dobre przykłady na w/w stronach. Postaram się za to skupić na ciekawych zagadnieniach, nie poruszonych w istniejących publikacjach.

No to zaczynamy. Zostałem dziś zapytany o możliwość operowania na obiektach DataItems i DataItem, które są zwracane przez funkcję DirectSQL. Działanie takie jak to poniżej spotka się z błędem wykonania:

DirectSQL(“NCOMS”, “select Node from alerts.status”, false);
log(“See this: “+DataItem.Node);
DataItem.Node = “moja nowa wartosc”;
log(“and this: “+DataItem.Node);

Dzieje się tak, ponieważ zmienne DataItem i DataItems są zmiennymi pre-definiowanymi w Impact i nie ma możliwości ich aktualizowania inaczej, niż poprzez ponowne wywołanie zapytania w DirectSQL. Cóż zatem uczynić? Ano można utworzyć kopię obiektu DataItem, załóżmy że poprzez taką oto funkcję:

function ConvertToReadWrite(AnyDataItem) {
ReturnedDataItem = NewObject();
fields = keys(AnyDataItem);
count = 0;
while (count < length(fields)) {
ReturnedDataItem[fields[count]] = AnyDataItem[fields[count]];
count = count +1;
}
AnyDataItem = ReturnedDataItem;
}

Powyższa funkcja pobiera tylko 1 argument i jest nim kopia obiektu DataItem (lub DataItems[i]). Jest to ważne z powodu późniejszej aktualizacji tej zmiennej przy zwracaniu jej nowej wartości przez funkcję, a pamiętamy, że DataItem ani DataItems nie można aktualizować. Najistotniejsza część powyższego przykładu zawiera się w pętli while. Pole po polu, obiekt wejściowy, tu nazwany AnyDataItem, który w tym wypadku został potraktowany jak tablica, jest kopiowany do nowego obiektu, który będzie można już edytować. Na koniec, obiekt wejściowy, który stanie się dostępny z zewnątrz funkcji jako wartość zwrócona, zostaje nadpisany przez nowy obiekt.

Na koniec wpisu prezentuję przykład użycia powyższej funkcji, jest raczej oczywisty:

DirectSQL(“NCOMS”, “select Node from alerts.status”, false);
MyItem = DataItem;
log(“See this: “+MyItem.Node);
ConvertToReadWrite(MyItem);
MyItem.Node = “Krakow”;
log(“and this: “+MyItem.Node);

Życzę udanego skryptowania i czekam na ciekawe przykłady oraz oczywiście pytania!

Netcool/Impact 5.1.1 ogólnie dostępny

Thursday, November 5th, 2009

Od tego tygodnia IBM udostępnia najnowszą wersję pakietu programistycznego Netcool/Impact oznaczoną numerem 5.1.1. Miałem okazję używać tego pakietu jeszcze w wersji beta i sprawował się zupełnie nieźle, ale przejdę do omówienia listy najważniejszych funkcji:

– dodatek Maintenance Window Management do zarządzania oknami serwisowymi, podczas których zdarzenia Netcool/OMNIbus nie są procesowane.
– pakiecik Netcool/Impact “Operator Views” do zainstalowania na TIPie.
– usprawnienia w Oracle DSA: wsparcie połączeń LDAP i Oracle RAC Cluster
– usprawnienia JMS DSA
– integracja z WebSphere Business Events (WBE)
– aktywna usługa WSN do nasłuchu Web Service Notifications
– nowe opcje dotyczące bezpieczeństwa dostępne w kreatorze Web Services (Wizard).
– API typu REST dla dostępu do warstwy danych Impacta
– usprawnione Service Log Viewer GUI.
– dosŧęp do historii systemu kontroli wersji z wewnątrz edytora polityk Impacta.
– możliwość importu/eksportu pojedynczego projektu

– Funkcje w IPL korzystające ze standardowych bibliotek Javy i aplikacji zewnętrznych
– dodatki do Impact Policy Language (IPL): URLEncode/Decode; Begin/Commit/RollbackTransaction; GetServerName i GetClusterName; GetHTTP; Get/SetServerVar i Get/SetGlobarVar. Usprawnienia to SendEmail.
– zmiana domyślnego systemu kontroli wersji na Subversion.
– możliwość konfiguracji klastrowania Name Serverów podczas instalacji.
– nowsze wersje Javy i eWAS

A więc jeszcze nie czas na całkowite osadzenie Impacta w TIPie, być może stanie się to w następnej wersji. Na razie przed nami etap odkrywania niedoskonałości najnowszej wersji, ale już z bety można wywnioskować, że jest całkiem nieźle dopracowany. A jako narzędzie integracyjne w rodzinie Tivoli jest bardzo przydatny! Niestety – Impact nie dorobił się dotąd żadnego rozwiązania do monitorowania jego usług, a jak ustaliliśmy na jakimś spotkaniu, przydałby się agent ITM i pomiary historyczne w hurtowni danych. Na razie pozostaje więc droższe i pośrednie rozwiązanie, np. agent ITM do monitorowania plików logów.