Opracowanie - Instytut Łączności

Komentarze

Transkrypt

Opracowanie - Instytut Łączności
Zakład Zaawansowanych Technik Informacyjnych Z-6
Zarządzanie usługami informatycznymi oraz
infrastrukturą informatyczną
(Z6)06.30.002.6
(OI)07.30.002.6
(Z2)02.30.007.6
Warszawa 2006 – 12 – 13
Zarządzanie usługami informatycznymi oraz infrastrukturą informatyczną
Zarządzanie umowami Service Level Agreement
Praca nr 06.30.002.6, 07.30.002.6, 08.30.002.6
Słowa kluczowe (maksimum 5 słów): SLA SNMP zarządzanie usługi
Kierownik pracy: dr inż. Janusz Granat
Wykonawcy pracy: mgr inż. Michał Majdan
mgr inż. Jerzy Paczocha
mgr inż. Wojciech Pietroń
dr inż. Waldemar Szczęsny
mgr inż. Grzegorz Wójcik
Kierownik Zakładu: inż. dr inż. Janusz Granat
© Copyright by Instytut Łączności, Warszawa 2006
4
Spis Treści
1.
2.
3.
Wstęp.................................................................................................................................. 4
Zarządzanie SLA................................................................................................................ 4
Określanie kosztów usług................................................................................................... 5
3.1.
Przyjęta metodyka ...................................................................................................... 6
3.2.
Założenia dla potrzeb określenia parametrów infrastruktury teleinformatycznej...... 7
3.3.
Analiza SWOT wariantów realizacji i eksploatacji ................................................... 7
3.4.
Składowe elementy infrastruktury ............................................................................. 9
3.5.
Oszacowanie przepustowości łącza do Internetu ..................................................... 11
3.6.
Oszacowanie kosztów instalacji i eksploatacji......................................................... 11
3.7.
Parametry odnoszące się do usług i aplikacji........................................................... 13
3.8.
Koszty, a SLA .......................................................................................................... 15
4. Monitorowanie parametrów usług ................................................................................... 15
4.1.
Systemy zarządzania w pomiarze parametrów SLA................................................ 15
4.2.
Architektura systemu zarządzania............................................................................ 16
4.3.
Simple Network Management Protocol ................................................................... 16
4.4.
Management Information Base ................................................................................ 17
4.5.
Remote Network Monitoring ................................................................................... 19
4.6.
Inne protokoły zarządzania siecią ............................................................................ 20
5. Modele naliczania kar za niedotrzymanie SLA ............................................................... 20
6. Koncepcja rozwiązania .................................................................................................... 21
6.1.
Model Danych .......................................................................................................... 21
6.2.
Architektura zasilania bazy danych.......................................................................... 25
Wyładowanie danych ....................................................................................................... 25
Pobieranie wartości parametrów ...................................................................................... 26
Ładowanie wartości parametrów ..................................................................................... 26
Pobieranie danych umów SLA......................................................................................... 26
6.3.
Specyfikacja aplikacji do zarządzania umowami..................................................... 26
6.3.1.
Definicja umowy .................................................................................................. 27
6.3.2.
Monitorowanie wykonania umowy...................................................................... 30
6.3.3.
Struktura statyczna systemu ................................................................................. 31
6.3.4.
Dynamiczne aspekty systemu .............................................................................. 34
7. Realizacja ......................................................................................................................... 37
7.1.
Wyładowanie danych z systemów źródłowych ....................................................... 37
7.1.1.
Kryteria wyboru parametrów ............................................................................... 38
7.1.2.
Przykładowe parametry wykorzystywane na potrzeby systemu.......................... 38
7.1.3.
System pobierania danych z baz cyklicznych ...................................................... 39
7.1.4.
Środowisko pracy................................................................................................. 39
7.2.
Ładowanie danych do bazy danych systemu. .......................................................... 39
8. Wnioski ............................................................................................................................ 40
3
1. Wstęp
SLA (Service Level Agrement) jest to umowa formalizująca związek pomiędzy dostawcą a
odbiorcą usługi informatycznej, mająca formę kontraktu z wynegocjowanymi wartościami
poziomów utrzymania i wykorzystania usług w stosunku do których podejmowane jest
zobowiązanie. Umowa dodatkowo precyzuje konsekwencje niedotrzymania warunków
umowy, najczęściej w postaci kar umownych powiązanych z wynegocjowanymi wartościami
parametrów utrzymania usługi.
Poziom utrzymania usługi – zestaw parametrów oraz ich wartości maksymalnych i
minimalnych za pomocą których strony SLA określają stopień spełnienia przez dostawcę
uzgodnionych warunków.
Poziom wykorzystania usługi - zestaw parametrów oraz ich wartości maksymalnych i
minimalnych za pomocą których strony SLA określają stopień wykorzystania usługi przez
odbiorcę do którego zobowiązał się on w ramach uzgodnionych warunków umowy.
Parametr utrzymania – wielkość związana z działaniem usługi na podstawie której
mierzona jest jakość zapewnienia funkcjonowania usługi przez jej dostawcę (np. dostępność
serwera).
Parametr wykorzystania - wielkość związana z działaniem usługi na podstawie której
mierzony jest stopień wykorzystania usługi przez jej odbiorcę.
Administrator usługi - osoba ze strony dostawcy odpowiedzialna za dotrzymania
postanowień umowy SLA
Właściciel usługi – osoba ze strony odbiorcy odpowiedzialna za dotrzymanie postanowień
umowy SLA.
Celem niniejszego opracowania jest projekt systemu wspomagającego osoby
odpowiedzialne za zapewnienie przestrzegania umów SLA w organizacji w procesie
monitorowania wykonania warunków umowy. Zadaniem systemu jest gromadzenie informacji
o statusie monitorowanych usługi i udostępnianie tej informacji odbiorcy. Projektowany
system jest hurtownią danych w której w sensie logicznym można wydzielić dwa elementy:
• Obiekty gromadzące informację o określonych parametrach utrzymania i
wykorzystania usług (zasilanie automatycznie z systemów operacyjnych
przedsiębiorstwa)
• Obiekty metadanych przechowujące informacje o przyjętych zobowiązaniach SLA
(zasilane i modyfikowane ręcznie przez operatora)
Jako interfejs użytkownika systemu zostały przewidziane specjalizowane narzędzia
raportowe przeznaczone dla projektowanego systemu w postaci aplikacji WWW.
2. Zarządzanie SLA
Umowy Service Level Agrement formalizują związek pomiędzy dostawcą a odbiorcą usługi.
Korzyści z zawarcia takiego zobowiązania są ewidentne dla strony odbiorcy. Posiadanie
umów gwarantujących określony stopień zapewnienie poprawnego funkcjonowania usługi
informatycznej pozwala odbiorcy minimalizować ryzyko funkcjonowania własnej organizacji.
Pozwala na bardziej wiarygodną ocenę tego co odbiorca może otrzymać w ramach środków
finansowych, które przeznacza na wykorzystywane usługi. Układ który jasno precyzuje
związek pomiędzy wartością środków przeznaczanych na zakup usługi a poziomem jej
świadczenia pozwala odbiorcy sterować kosztami i jakością w miarę jak zmieniają się cele i
priorytety jego organizacji.
4
Dla dostawcy usługi posiadanie umów SLA jest korzystne ponieważ jasno określa to
odpowiedzialność dostawcy i pozwala uniknąć nieporozumień z odbiorcami na tle
oczekiwanego poziomu utrzymania świadczonych usług. Ponadto informacja o poziomach
utrzymania i wykorzystania świadczonych usług jest pomocne w planowaniu rozwoju
infrastruktury, planowaniu zatrudnienia i określania opłacalności utrzymywania określonej
usługi na danym poziomie oraz co za tym idzie ustalania cenników.
Jedną z cech umów SLA jest fakt że precyzują one nie tylko zobowiązania dostawcy ale
również precyzują jakie obowiązki lub ograniczenia w związku z wykorzystaniem usługi ma
jej odbiorca.
Podstawową zaletą SLA dla obydwu stron umowy jest jasne ustalenie zobowiązań, obydwu
stron, które, o ile zostaną dotrzymane,
pozwolą na zapewnienie prawidłowego
funkcjonowania organizacji zarówno odbiorcy jak i i dostawcy usługi.
Nowym czynnikiem jakie umowy SLA wprowadzają w relacje pomiędzy odbiorcami a
dostawcami usług jest aspekt finansowy, który z jednej strony precyzuje koszt usługi dla
odbiorcy a z drugiej strony określa finansowe skutki niedotrzymania postanowień umowy.
Obecność umów SLA w organizacji dostawcy wpływa również na organizacje pracy u
dostawcy, a konkretnie na priorytety planowanych zdań. Z oczywistych przyczyn zgłoszenia
dotyczące awarii usług objętych umowami zyskują wyższy priorytet z racji na grożące
konsekwencje finansowe.
Dla konkretnej usługi możliwe jest zdefiniowanie więcej niż jednej umowy SLA. Każda z tych
umów może ustanawiać różne wartości poziomów utrzymania i wykorzystania usługi.
Możliwe jest również skonstruowanie pojedynczej umowy SLA obejmującej więcej niż jedną
usługę jeżeli strony dojdą do porozumienia co do faktu iż dane grupa usług powinna być
rozpatrywana jako całość.
Prawidłowa umowa SLA powinna precyzować następujące zagadnienia 1
1. Definicję produktu/usługi,
2. Mierniki i metodykę pomiaru jakości utrzymania,
3. Metody komunikacji pomiędzy dostawcą a odbiorcą usługi,
4. Zasady serwisowania,
5. Postanowienia dotyczące postępowania w przypadku naruszenia warunków umowy.
Dla prawidłowej implementacji SLA w relacjach pomiędzy dostawcą o odbiorca usług
konieczne jest zapewnienie wiarygodnej kontroli wykonania warunków umowy przez każdą
ze stron. Z punktu widzenia odbiorcy usługi monitorowane i oceniane jest spełnienie przez
dostawcę założonych poziomów utrzymania. Podstawowym parametrem dla odbiorcy jest
dostępność usługi definiowana jako możliwość korzystania z niej w określonym miejscu, w
określonym czasie i zgodnie z jej specyfikacją zapisaną w umowie. Drugim ważnym
czynnikiem oceny przez odbiorcę wykonania SLA jest obsługa umowy ze strony dostawcy,
kompletność i dokładność pomiarów usługi, dostępność i jakość obsługi odbiorcy, szybkość
reakcji na zgłoszenia.
Z punktu widzenia dostawcy dodatkowo analizowane powinny być koszty produkcji i
utrzymania usługi na założonych w umowach poziomach, oraz koszty kar naliczonych za
niedotrzymanie warunków umowy. Pozwoli to ocenić rentowność każdej z posiadanych
umów. W zależności od wyników takiej analizy dostawca może modyfikować swoje działania
lub w skrajnych przypadkach zdecydować się na zerwanie umowy lub renegocjacje jej
postanowień.
3. Określanie kosztów usług
Analiza kosztów usług obejmuje podstawowe zastosowania teleinformatyczne dla małych
(50 pracowników)i średnich firm (do 250 osób).
1
Integrating Service Level Agreements John J. Lee, Ron Ben-Natan WILEY 2002
5
Obecnie następuje rozwój usług świadczonych drogą sieciową, co nie wymaga od firm
zakupu serwerów i oprogramowania, dysponowania pomieszczeniami do instalacji serwerów
i stosowania procedur eksploatacji dla zapewnienia bezpieczeństwa danych.
Przeprowadzono analizę dla wariantu inwestycyjnego i usługowego dla małej i średniej firmy
dla dwóch wariantów.
Wybrano aplikację teleinformatyczną, które umożliwiają przeprowadzenia analizy z uwagi na
dostępność informacji cenowych dla obu wariantów: inwestycyjnego i usługowego.
Podejmowanie
analiz
ekonomicznych
w
zakresie
wdrożenia
podstawowego
teleinformatycznego wyposażenia jest problemem złożonym, dlatego przyjęto uproszczenia.
W obu wariantach przyjęto, że firma rozpoczyna działalność.
Z punktu widzenia podejmowania decyzji najbardziej istotne będą m.in.:
-
rodzaj wdrażanych aplikacji,
-
zapewnienie funkcjonalności,
-
krótki, efektywny czas wdrożenia,
-
niski koszt eksploatacji,
-
elastyczność rozwiązania,
-
zapewnienie poziomu bezpieczeństwa teleinformatycznego.
3.1.
Przyjęta metodyka
Dla potrzeb analiz kosztów przyjęto następujące założenia:
- warianty wielkości firm: mała 50 pracowników i średnia 250 pracowników
-
wszyscy pracownicy korzystają z usług teleinformatycznych z poczty elektronicznej i
korzystają z zewnętrznych serwerów WWW,
-
zakłada się, że wyposażona jest w sieć LAN (urządzenia pasywne i aktywne) i
wszyscy pracownicy mają dostęp do stacji roboczych.
Firma rozpoczyna działalność niezbędne jest uruchomienie serwisów internetowych i
przeprowadzenia pełnego cyklu wdrożeniowego oraz ponoszenia kosztów eksploatacji.
Wybrano aplikację firmy Microsoft Exchange, która będzie mogła być realizowana na
lokalnym serwerze (wariant inwestycyjny) lub sieciowo (wariant usługowy).
Dla obu wariantów przeprowadzono analizę SWOT w celu podjęcia decyzji o wyborze
wariantu wg cech, które będą dla bieżącej działalności i przyszłości firmy najbardziej istotne.
Określono niezbędne wyposażenie oraz zakres prac:
- dla dołączenia sieci LAN do Internetu,
- dla instalacji serwera Exchange.
Zakłada się, że pomieszczenie do serwera będzie typowym pomieszczeniem biurowym
wymagającym adaptacji.
Dla potrzeb określenia przepustowości połączenia z siecią Internet przyjęto:
- średnie parametry ruchowe występujące w sieci Instytutu Łączności wynikające z
aktywności użytkowników,
- ilości danych oraz parametrów opóźnieniowych dla transakcji danego rodzaju na
podstawie tabeli w zamieszczonej w punkcie Błąd! Nie można odnaleźć źródła
odwołania..
6
3.2.
Założenia dla potrzeb określenia parametrów infrastruktury
teleinformatycznej
Dla określenia rodzaju kosztów przyjęto następujące założenia obejmujące:
1. Obszar eksploatacji:
- małe przedsiębiorstwo do 50 pracowników i średnie 250,
- wszystkie stanowiska pracy znajdują się w jednym obiekcie, brak oddziałów firmy,
- działalność typowa biurowa,
- czas pracy w godzinach stosowany we większości firm 8 godz. np. od 8.00 do 16.00.
2. Wymagania w zakresie bezpieczeństwa teleinformatycznego:
- poziom tajemnicy handlowej – ustalany przez przedsiębiorcę,
- poziom ochrony danych osobowych – nie ma wymagań szczególnych,
- stosowanie typowych rozwiązań – nie wymagane jest dublowanie infrastruktury.
3. Wymagania w zakresie paramentów i jakości usług
Zgodnie z parametrami określonymi w zaleceniu G.1010:
- Web-browsing HTML - ilość danych ~10 KB – opóźnienie akceptowane < 4 s/stronę,
- E-mail (dostęp do serwera)- < 10 KB - opóźnienie akceptowane < 4,
- E-mail (transfer serwer do serwera)- ilość danych <10 KB-opóźnienie do kilku minut.
4. Wymagania ruchowe
Liczba przesyłanych email dla 400 kont dziennie:
- użytkowych 8 tys. – na jednego użytkownika 20 dziennie, (przy pracy 8 godz.) –
0,0007/s
- odbieranego spamu 300 tys. - na jednego użytkownika 750 -(w ciągu doby) - 0,009/s.
Liczba odwołań do serwera przy 200 użytkownikach 5 stron/s – na jednego użytkownika
odwołań 0,025/s.
3.3.
Analiza SWOT wariantów realizacji i eksploatacji
Poniżej przedstawiono analizę SWOT dla dwóch wariantów realizacji usług internetowych:
inwestycyjnego i usługowego.
Przedstawiono mocne, słabe strony oraz szanse i zagrożenia. Decyzja na podstawie analizy
SWOT będzie mogła być możliwa po określeniu rodzaju działalności, sposobu prowadzenia i
przyjętej strategii działania firmy.
Tabela 1 Analiza SWOT wariantów realizacji i eksploatacji
I Wariant
Wariant
Lp.
Inwestycyjny
Sieciowy
7
III
Mocne strony
1.
3.
Szanse
Słabe strony
2.
całkowitych
kosztów
1. Firma posiada kontrolę na swoimi 1. Obniżenie
wykorzystania Microsoft Exchange
danymi
Server
2. Wymiana danych wewnątrz budynku
odbywa się w sieci LAN w ramach 2. Procedury obsługi i archiwizacji
danych
realizowane
przez
obiektu
usługodawcę
3. Mniejsze wymagania w zakresie
opóźnień dla przesyłania mail (transfer 3. Użytkownicy mobilni nie obciążają
łącza dostępowego- korzystny w
serwer do serwera)
przypadku
dużej
mobilności
4. Posiadanie
własnej
infrastruktury
użytkowników
teleinformatycznej
4. Krótki czas wdrożenia
5. Szyfrowanie
transmisji
danych
pomiędzy komputerami użytkowników i
serwerem z wykorzystaniem SSL
6. Eliminacja kosztów, które związane są
z
samodzielnym
wdrożeniem
Exchange Server oraz późniejszym
utrzymaniem i rozwojem środowiska
pocztowego
7. Spam nie obciąża łącza dostępowego
1. Uzależnienie do dostawcy usługi
1. Koszt eksploatacji serwera
2. Koszt pomieszczenia przeznaczonego 2. Funkcjonowanie firmy uzależnione od
łącza dostępu do Internetu
do
instalacji
serwera
i
prac
3. Przesyłanie
poczty
między
adaptacyjnych
pracownikami wewnątrz firmy odbywa
3. Koszty zasilania serwera
się poprzez sieć Internet
4. Koszty instalacji: kontroli dostępu,
przeciwpożarowej, antywłamaniowej i
przeciwpożarowej
pomieszczenia
serwera
5. Duży jednorazowy koszt wdrożenia
6. Konieczność posiadania dużej wiedzy
przez administratora, konieczność
zakupienia wsparcia
7. Mobilni użytkownicy będą obciążali
łącze dostępowe
możliwość
skalowania
1. Posiadana
infrastruktura 1. Prosta
rozwiązania
ze
wzrostem
liczy
teleinformatyczna (serwerownia) oraz
użytkowników
specjalizowany personel może być
wykorzystany do wdrożenia innych
systemów w firmie.
8
Zagrożenia
4.
1. Konieczność zakupu nowego serwera 1. Dostawca usługi może mieć dostęp
do danych
w przypadku zwiększenia potrzeb
2. Zakup nowych wersji oprogramowania 2. Utrudnione wdrażanie następnych
aplikacji wspomagających obsługę
3. Prawidłowość
funkcjonowania
i
firmy w związku z brakiem serwerowni
bezpieczeństwo danych uzależnione
od
pracownika,
administratora 3. Dostawca usługi może wyłączyć
usługę w przypadku konfliktu ze
systemu
zleceniodawcę
4. Dostawca może zawrzeć w umowie
ograniczenie odpowiedzialności np. w
przypadku wystąpienia siły wyższej
5. Zaburzenia funkcjonowania firmy w
przypadku
niewywiązywania
się
dostawcy usług
6. Jakość połączeń uzależniona od
funkcjonowania sieci Internet
3.4.
Składowe elementy infrastruktury
Poniżej przedstawiono w tabeli elementy kładowe infrastruktury teleinformatycznej (sprzętu i
oprogramowania dla obu wariantów inwestycyjnego i usługowego.
Tabela 2 Elementy infrastruktury teleinformatycznej dla wariantów realizacji
Wariant
I Wariant II
Lp. Rodzaj elementu infrastruktury
Uwagi
inwestycyjny usługowy
1.
Sieć LAN (okablowanie, elementy
pasywne i aktywne)
do
lub
inne
TAK
TAK
TAK
2.
Szerokopasmowy
Internetu
3.
Firewall
urządzenie
rozwiązanie
TAK
TAK
4.
Oprogramowanie klienckie Microsoft
TAK
Outlook
TAK
5.
Pomieszczenie serwera
TAK
NIE
6.
Zasilacz UPS do zasilania serwera
TAK
NIE
7.
Komputer serwera
TAK
NIE
8.
Licencja Microsoft Serwer dla
TAK
wymaganej liczby użytkowników
NIE
9.
Serwer dla usług internetowych
(Exchange) dla wymaganej liczby TAK
użytkowników
NIE
Oprogramowanie
serwera
NIE
10.
dostęp
TAK
antywirusowe
TAK
9
Występuje jako
wyposażenie
obiektu,
nie
ujęto
w
analizach
11.
12.
Certyfikat SSL dla bezpiecznego
dostępu przez OWA i RPC over TAK
HTTPS
NIE
Oprogramowanie dla backupu
NIE
TAK
W związku z instalacją serwera niezbędne będą następujące niezbędne elementy:
-
serwerownia – pomieszczenie (wraz z instalacjami i urządzeniami) przeznaczone do
zainstalowania serwera,
-
szafa teleinformatyczna do instalacji serwera i urządzeń sieciowych,
-
sieć LAN – okablowanie strukturalne i urządzenia aktywne dla dołączenia
użytkowników serwera,
-
punkt dostępu do sieci Internet - urządzenia dostępowe: router i urządzenia transmisji
danych,
-
telekomunikacyjna instalacja wewnętrzna budynku
telekomunikacyjnej z pomieszczeniem serwerowni,
-
użytkownicy korzystający z serwera (lokalnie lub zdalnie) połączeni siecią LAN.
dla
połączenia
głowicy
Zakłada się, że lokalizacja pomieszczenia w obiekcie zostanie dobrana zgodnie z
wymaganiami dla potrzeb instalacji sprzętu.
Zakłada się, że dla instalacji serwera potrzebne będą prace adaptacyjne, które mogą
obejmować następujący zakres prac:
-
Budowlane
instalacja drzwi z zamkami w wykonaniu antywłamaniowym,
-
zabezpieczenie przed włamaniem okien,
-
pomalowanie ścian niepylącą farbą,
-
ułożenie gładkiej zmywalnej wykładziny antyelektrostatycznej trudnopalną.
-
Instalacje elektryczne
instalacja tablicy rozdzielczej niskiego napięcia zasilanej z rozdzielni głównej
budynku,
1.
2.
-
instalacja uziemienia technologicznego połączona z głównym punktem uziemienia w
rozdzielni głównej,
-
instalacja zasilacza UPS.
-
Prace związane z okablowaniem
instalacja kabla telekomunikacyjnego w budynku
3.
4.
instalacja punktu dostępu sieci LAN dla dołączenia użytkowników serwera do sieci
LAN
Instalacje bezpieczeństwa
Pomieszczenie serwera należy wyposażyć w instalacje:
-
sygnalizacji pożaru -optyczne czujki dymowe
-
włamania – czułki ruchu
-
kontroli dostępu- zamkiem z ryglem magnetycznym wyzwalanym z czytnika kart
magnetycznych lub chinowych z manipulatorem kodowym
5.
-
Instalacje dla parametry środowiskowych
Instalacja klimatyzatora
10
-
Urządzenie monitorowania środowiska w pomieszczeniu
Jak z powyższego wynika adaptacja pomieszczenia serwera, w zależności od warunków
lokalnych, może obejmować różne rodzaje i zakres prac.
Dla potrzeb analiz mogą jedynie być określone jako kwota ryczałtowa.
3.5.
Oszacowanie przepustowości łącza do Internetu
Oszacowanie przeprowadzono dla wartości średnich biorąc pod uwagę założenia (patrz
punkt 3.2). Biorąc pod uwagę, że oszacowanie wykonano dla wartości średnich i aktualnie
przesyłane strony i email (użytkowe) mają większą pojemność zakłada się przepustowość
kilka razy większą do obliczonej i przybliżeniu do wielości typowych na rynku.
Tabela 3 Oszacowanie przepustowości łącza dostępu do Internetu
LP.
Rodzaj aplikacji
Liczba
Ilość
danych transferów
/s
[bit]
2.
Liczba
użykowników
Web-browsing
HTML
80000
0,025
3.
E-mail (dostęp do
serwera)
80000
0,0007
80000
0,0007
80000
0,009
80000
0,009
1.
4.
5.
E-mail (transfer
serwer do
serwera)
E-mail (dostęp do
serwera) - spam
6.
E-mail (transfer
serwer do
serwera) - spam
7.
Suma
przepustowości
Wariant I
Wariant II
50
250
100000
500000
2800
50
100000 500000
2800
14000
0
0
0
0
14000
36000
180000
136000
680000
100000 500000
W wobec powyższego przyjmuje się, niezależnie od wariantu realizacji:
- dla firmy malej – łącze o przepustowości do / od abonenta 1024 kbit/s / 256 kbit/s,
- dla firmy średniej – łącze o przepustowości do / od abonenta 4096 kbit/s / 512 kbit/s.
3.6.
Oszacowanie kosztów instalacji i eksploatacji
Dla oszacowania kosztów przyjęto następujące założenia:
11
250
-
analizę opracowano dla konfiguracji 50 i 250 użytkowników dla wariantu
inwestycyjnego i usługowego,
cenę oprogramowania firmy Microsoft na postawie cenników autoryzowanych
sprzedawców,
cenę za usługi hostingu wg oferty firmy DCS Computer Consultants Group
zamieszczonej na stronie http://www.hostedexchange.pl/.
koszt łącza dostępu do Internetu określono na podstawie TP S.A.,
wykorzystanie funkcji wirtualnego firewall’a, spowodowało, że uznano nie ma
potrzeby używania odrębnego urządzenia,
dla konfiguracji nie występujących w cennikach dla zadanej liczby użytkowników
przyjęto ceny proporcjonalnie,
wszystkie prace instalacyjne serwera wykonuje zatrudniony administrator – koszt
etatu administratora 9000 zł miesięcznie,
koszt przygotowania pomieszczenie dla instalacji serwera przyjęto ryczałtowo 20 tys.
zł.
12
Tabela 4 Analiza kosztów wariantów inwestycyjnego i usługowego
Wariant I
Specyfikacja
cena
Liczba użytkowników
50
250
Infrastruktura podstawowa - dostęp do Internetu
I.
Koszty jednorazowe
I.1
Instalacja usługi dostęp do Internetu DSL TP dla
799
799
799
1. wszystkich opcji
Lp.
Wariant II
50
250
799
799
99
99
99
898
898
3. Razem jednorazowe - infrastruktura podstawowa
Koszty miesięczne
I.2
1. DSL 1000- 1024 kbit/s / 256 kbit/s (miesięczna)
229
229
2. DSL 4000- 4096 kbit/s / 512 kbit/s (miesięczna)
349
349
Zaawansowany pakiet bezpieczeństwa
49
49
49
realizowany w oparciu o wirtualny Firewall
3. realizowany na platformie TP (miesięczna)
278
398
4. Opłaty miesięczne razem
II.
Instalacja serwera (jednorazowe)
1. Prygotowanie pomieszczenia + instalacje
20 000
20 000
20 000
Serwer Intel P4 3,2 GHz, 1 GB RAM, dysk 2x
8 000
8 000
2. 160 GB i streamer do backupu
Serwer Intel P4 3,2 GHz, 2 GB RAM, dysk 4x
16 000
16 000
3. 160 GB i streamer do backupu
Windows Server Ent 2003 R2 Win32 PL - 50
8 500
8 500
5. użyt.
Windows Server Ent 2003 R2 Win32 PL - 250
42 500
42 500
6. użyt.
Exchange Server 2003 Enterprise English 50
31 600
31 600
7. użyt.
Exchange Server 2003 Enterprise English - 250
158 000
158 000
8. użyt.
Oprogramowanie do backupu (Symantec
30 000
30 000
30 000
9. BackupExec + agent dla Exchange Server)
Certyfikat SSL dla bezpiecznego dostępu przez
785
785
785
10. OWA i RPC over HTTPS (w pierwszym roku)
11. Instalacja serwera razem
98 885
267 285
Koszt ekspoatacji serwera - miesięcznie
III.
1. Koszt serwisu sprzętu 10 % ceny
67
133
Zatrudnienie administratora całkowity koszt etatu
9 000
4 500
13 500
2. miesięcznie (0,5 - 50 użyt. i 1,5 użyt.)
3. Razem koszt ekploatacji serwera
4 567
13 633
Koszt usługi hostingu Exchange
IV.
1. Jednorazowa opłata instalacyjna 25 szkrzynek
300
2. Firma 25 GB - 25 skrzynek miesiecznie
1 185
Podsumowanie wariantów
V.
1. Koszty za opłaty jednorazowe (bez VAT) zł
99 783
268 183
2. Koszty miesięczne rocznie (bez VAT) zł
58 136
168 376
157 919
436 559
3. Koszty roczne razem (bez VAT) zł
3 158
1 746
VI. Koszty roczne/ użytkonika (bez VAT) zł
898
898
Serwer DHCP dla funkcjonalności routera z
2. translacją adresów NAT (jednorazowa)
99
99
229
349
49
49
278
398
600
2 370
3 000
11 850
1 498
31 776
33 274
665
3 898
146 976
150 874
603
3.7.
Parametry odnoszące się do usług i aplikacji
Niezależnie do sposobu realizacji, czy aplikacje wykonywane są na lokalnym serwerze, czy
sieciowo, dla użytkownika istotne są parametry związane z danymi aplikacjami.
13
Oszacowanie parametrów dla danych rodzajów aplikacji jest niezbędne dla:
-
oszacowania przepustowości sieci,
-
określenia parametrów SLA.
W oparciu o zamieszczoną niż tabelę oszacowano niezbędną przepustowość łącza dostępu
do Internetu.
Tabela 5 Docelowe parametry wydajnościowe wg zastosowań wg Tabeli I.2/G.1010
Parametry
wydajnościowe
Typowa
Stopień
i wartości docelowe
Lp Zastosowania
liczba
symetrii
Opóźnienie
w Utrata
danych
jednym kierunku
informacji
Zalecane < 2 s
1.
Przeważający
Web-browsing
/stronę
jednokierunko
~10 KB
Zero
– HTML
Akceptowane < 4 s /
wy
stronę
2.
Zbiory
danych Przeważający
Zalecane < 15 s
10 KB-10 MB
Zero
transfer/wyszukiwa jednokierunko
Akceptowane < 60 s
nie
wy
3.
Usługi transakcyjne
Zalecane < 2 s
o
wysokim Dwukierunkow
< 10 KB
Zero
priorytecie
np. y
Akceptowane < 4 s
e-commerce, ATM
4.
Zarządzanie/
Dwukierunkow
~ 1 KB
< 250 ms
Zero
sterowanie
y
Zalecane < 15 s
5.
Jednokierunko
Zero
< 100 KB
Stały obraz
wy
Akceptowane < 60 s
6.
Dwukierunkow
Gry interaktywne
< 1 KB
< 200 ms
Zero
y
7.
Dwukierunkow
y
< 1 KB
< 200 ms
Zero
Telnet
(asymetryczny
)
8.
Przeważający
Zalecane < 2 s
E-mail (dostęp do
jednokierunko
Zero
< 10 KB
serwera)
Akceptowane < 4 s
wy
9.
Przeważający
E-mail
(transfer
jednokierunko
< 10 KB
Może być kilka minut Zero
serwer do serwera)
wy
10.
Przeważający
e
<10-6
~ 10 KB
< 30 s/stronę
Fax ("real-time")
BER
jednokierunko
wy
11.
Przeważający
<10-6
Fax
(zapisz
&
~ 10 KB
Może być kilka minut
jednokierunko
BER
przekaż)
wy
12.
Przeważający
Transakcje
o
< 10 KB
< 30 s
Zero
jednokierunko
niskim priorytecie
wy
13.
Przeważający
Może być 1
Usenet
jednokierunko
MB
lub Może być kilka minut Zero
wy
więcej
14
3.8.
Koszty, a SLA
W analizowanym przypadku trudno jest określić zależności ekonomiczne między
parametrami oraz warunkami SLA.
W wariancie I inwestycyjnym komunikacja wewnątrz firmy będzie odbywała się poprzez sieć
LAN i parametry usług będą zależały głównie od wydajności serwera.
W wariancie II usługowych komunikacja będzie się odbywała do użytkowników:
- wewnętrznych poprzez łącze dostępowe do siedziby firmy,
- zewnętrznych poprzez łączenie z centrum danych dostawcy usługi.
W wariancie I mogłaby to być zależność między wydajności serwera, a jego ceną.
W wariancie II jest trudno jest ocenić, ponieważ w sieci Internet nie stosowane są
mechanizmy gwarancji pasma. Można sądzić, że łącze większej przepustowości będzie
gwarantowało większe wydajności. W tym przypadku nie ma także mechanizmów
zapewniającym gwarancje parametrów transmisji z serwerem zainstalowanym u dostawcy
usług.
Biorąc pod uwagę wyniki analizy SWOT i ekonomicznej dla firmy korzystne będzie w
przypadku, jeśli:
- zamierza wdrażać systemy informatyczne i budować własną infrastrukturę
teleinformatyczną realizować usługi poczty elektronicznej w oparciu o własny serwer,
- zamierza ograniczyć zastosowania tylko do poczty elektronicznej i pracy grupowej
może wziąć pod uwagę korzystanie z usługi sieciowej biorąc pod uwagę obniżenie
kosztów.
4. Monitorowanie parametrów usług
Z punktu widzenia odbiorcy usług pomiary parametrów powinny być wykonywane w punkcie
dostępu odbiorcy do usługi. Dla monitorowania postanowień umowy SLA nie powinno
wykorzystywać się mierników związanych z wewnętrznymi systemami dostawcy
wspierającymi działanie usługi głównej. Dla odbiorcy znaczenie mają tylko te parametry,
które są mierzone w punkcie dostępu odbiorcy do usługi. Właściwe konstruowanie mierników
umów SLA jest zadaniem obydwu stron kontraktu i wymaga od negocjatorów pewnej
znajomości domeny technicznej która stoi za definicją określonych parametrów. Z tego
punktu widzenia w negocjowaniu definicji parametrów ze strony odbiorcy powinny
uczestniczyć osoby rozumiejące naturę monitorowanych procesów. Konstruowane mierniki
powinny być oparte o uznane standardy funkcjonujące na rynku by zapewnić łatwość i
utrzymania i adaptacji do zmieniających się wymagań dotyczących monitorowanych
procesów.
4.1.
Systemy zarządzania w pomiarze parametrów SLA
Fundamentalnym elementem umów SLA (ang. Service Level Agreement) zawieranych
zarówno między dwoma firmami, jak wewnętrznie – między działami firmy, jest możliwość
obiektywnego pomiaru parametrów SLA przez obie strony umowy. Obecnie najczęstszym
źródłem danych o charakterze technicznym są systemy zarządzania sieciami
komputerowymi lub systemami informatycznymi. Większość współczesnych systemów
operacyjnych, urządzeń sieciowych, a nawet urządzeń peryferyjnych pozwala na
gromadzenie szeregu danych pomiarowych.
Podstawowe obszary działania systemów zarządzania definiuje standard ISO/D15 7498-4.
Obejmują one zarządzanie: obsługą błędów, konfiguracją, rozliczeniami, wydajnością
i zabezpieczeniami. Obsługa błędów oznacza możliwość wykrywania, izolowania i usuwania
niesprawności w trakcie działania. Zarządzanie konfiguracją pozwala na sprawdzenie
konfiguracji każdego elementu sieci oraz dokonywanie w niej odpowiednich zmian.
Rozliczenia, pojęcie bardzo rzadko pojawiające się w kontekście sieci TCP/IP, oznaczają
możliwość monitorowania kosztów połączeń i wykorzystania zasobów sieci. Zarządzanie
15
wydajnością to przede wszystkim monitorowanie ruchu w sieci w celu określenia ew.
„wąskich gardeł”. Zarządzanie bezpieczeństwem zaś, to kontrola i autoryzacja dostępu,
szyfrowanie danych oraz alarmowanie o wszelkich przypadkach naruszenia zasad
bezpieczeństwa.
W zakresie niniejszej pracy znajdują się przede wszystkim zagadnienia związane z
monitorowaniem złożonych systemów informatycznych. Obecnie praktycznie wszystkie tego
typu systemy oparte są o protokół SNMP (ang. Simple Network Management Protocol)
4.2.
Architektura systemu zarządzania
Zwykle budowa systemu zarządzania jest bardzo prosta. Składa się on z elementów
(nazywanych agentami) pozwalających na monitorowanie i zarządzanie jakimś obiektem
(komputerem, urządzeniem sieciowym itp.) i ze stacji zarządzania.
Agenci mogą to być części systemu (np. oprogramowania), moduły sprzętowe lub zupełnie
osobne urządzenia. Komunikacja pomiędzy agentami, a stacją zarządzającą może się
odbywać na dwa sposoby: przy wykorzystaniu tej samej sieci, którą zarządzamy lub poprzez
stworzoną do tego celu sieć odrębną 2 .
Komunikacja jest zwykle inicjowana przez stację zarządzającą, która stale sprawdza stan
poszczególnych agentów i zarządzanych przez nich urządzeń. Agenci rozpoczynają
komunikację ze stacją tylko w razie sytuacji krytycznych (awaria, przekroczenie określonych
wcześniej limitów itp.).
W niektórych przypadkach pomiędzy agentami a stacją zarządzającą mogą znajdować się
urządzenia pośredniczące (ang. proxy). Urządzenia takie są potrzebne np. wtedy, gdy agent
i stacja zarządzająca korzystają z różnych protokołów komunikacji. Pełnią one wtedy rolę
„tłumacza”.
W przypadku bardzo rozbudowanych sieci lub wtedy, gdy stała bezpośrednia łączność
pomiędzy agentem a stacją zarządzającą jest zbyt kosztowna (np. w przypadku sieci
rozległych) stosuje się tzw. super-agentów. Są to zazwyczaj komputery, które zbierają dane
od agentów z wyróżnionej części sieci (a więc pełnią dla nich niejako rolę stacji
zarządzającej), dokonują wstępnej obróbki i agregacji informacji, a następnie wysyłają już
przetworzone dane do centralnej stacji zarządzającej.
4.3.
Simple Network Management Protocol
Pierwsze mechanizmy zarządzania dla sieci TCP/IP powstały jeszcze w latach
siedemdziesiątych. Należał do nich protokół ICMP (Internet Control Message Protocol).
Pozwalał on między innymi na testowanie połączeń pomiędzy poszczególnymi węzłami sieci
oraz na sprawdzenie opóźnień jakie w tej sieci występują.
SNMP (1989) jest następcą pierwszego protokołu zarządzania powstałego dla sieci TCP/IP.
Był to Simple Gateway Monitoring Protocol (1987). Równolegle z nim powstała wersja
protokołu CMIP (ang. Common Management Information Protocol) dla sieci TCP/IP,
definiująca zarówno protokół zarządzania sieciami, jak i dostępne usługi i bazy danych
przechowujące informacje o urządzeniach. Ponieważ liczono się z szybkim wprowadzeniem
standardów ISO-OSI, protokół SNMP był traktowany jako szybkie rozwiązanie tymczasowe.
Docelowym protokołem miał być CMIP.
Stało się jednak inaczej. Ze względu na bardzo skomplikowaną strukturę i nie mniej
skomplikowaną implementację, CMIP nie zdobył szerszej popularności; natomiast SNMP właśnie dlatego, że był bardzo prymitywny, ale za to nie stawiał wielkich wymagań przed
sprzętem, jest najczęściej wykorzystywanym obecnie protokołem zarządzania w sieciach
komputerowych.
Protokołem transportowym dla SNMP jest UDP (ang. User Datagram Protocol). Budowa
ramek SNMP i sposób jego działania jest bardzo prosty.
2
W sieciach telekomunikacyjnych, często stosowanym rozwiązaniem jest przesyłanie informacji systemu
zarządzania wprawdzie przy użyciu tej samej sieci fizycznej, ale wyodrębnionym kanałem, tak by nie wpływał
on na przesyłanie danych.
16
Pakiet SNMP składa się z trzech części: numeru wersji protokołu, community i PDU (ang.
Protocol Data Unit). Community określa z jednej strony przynależność urządzenia do
określonej grupy, a z drugiej - jest najprostszym (i jednym w pierwotnej wersji protokołu)
sposobem autoryzacji. Istnieją dwa trybu dostępu do danych (można dla nich zdefiniować
odrębne community. Pierwszy z nich to dane „tylko do odczytu” (zwyczajowo community
nazywa się public). Drugi to dostęp do „odczytu i zapisu” (standardowo nadawaną nazwą
community jest private. Zazwyczaj w trybie do „tylko do odczytu” udostępniane są wszystkie
dane urządzenia, w trybie „odczytu i zapisu” - tylko wybrane.
W protokole występuje tylko pięć rodzajów komunikatów (PDU). Stacja zrządzająca wysyła
żądania przesłania danych do agenta: GetRequest (zapytanie o pojedynczy element bazy
danych agenta), GetNextRequest (zapytanie o następny element bazy danych). Polecenia
systemu zarządzania są wysyłane jako rozkazy wstawienia odpowiedniej wartości do
określonego elementu bazy danych (domyślnie - zmiana wartości w bazie danych, pociąga
za sobą odpowiednie zmiany w stanie urządzenia). Służy do tego PDU SetRequest. Agent
na wszystkie te polecenia odpowiada zawsze pakietem GetResponse. W przypadku
wystąpienia w sieci nagłych zdarzeń, agent informuje o tym stację zarządzania wysyłając
pakiet Trap. Zawiera on informacje o typie zdarzenia, czasie jego powstania i ew. dalsze
dane na temat stanu urządzenia.
Już w 1992 r. rozpoczęto prace nad nową wersją protokołu SNMP - SNMPv2. Dążenie do
poprawienia standardu miało dwie przyczyny: po pierwsze w wielu przypadkach SNMP
okazał się jednak zbyt prymitywny, a po drugie protokół ten nie oferował praktycznie żadnych
zabezpieczeń nie tylko w przesyłaniu informacji, ale także w dostępie do urządzeń.
Ostateczna wersja standardu została opublikowana w 1996 r. Zawierała definicje nowych
typów danych, dodano nowe PDU pozwalające na przesłanie większej liczby danych:
GetBulkRequest oraz PDU do wymiany informacji między stacjami zarządzającymi
InformRequest. Niestety zaproponowane rozwiązania dotyczące zabezpieczeń nie znalazły
uznania producentów urządzeń sieciowych i nie są praktycznie implementowane.
Standard SNMPv3 (1998) wzbogacił protokół SNMP o rozwiązania związane z
bezpieczeństwem przesyłanych danych.
4.4.
Management Information Base
Podstawową częścią agenta jest hierarchiczna baza danych. Baza danych ma kształt
drzewa. Liście tego drzewa definiują obiekty, którymi zarządzamy. Mogą to być właściwości
urządzenia, sposób jego działania, dane statystyczne itp. Samo zaś drzewo definiuje relacje
logiczne zachodzące pomiędzy obiektami. Założono, że w bazie danych mogą być
przechowywane bardzo proste obiekty. Są to albo dane skalarne, albo dwuwymiarowe
tablice danych skalarnych. Protokół SNMP obsługuje wyłącznie przesyłanie danych
skalarnych, a więc tablice muszą być przesyłane element po elemencie.
Każda zmiana stanu zarządzanego urządzenia powinna natychmiast znajdować odbicie
w odpowiedniej zmianie stanu stosownego elementu bazy MIB agenta. I na odwrót - każda
zmiana wartości w bazie danych, powinna powodować to, że agent dokona odpowiedniej
zmiany stanu urządzenia.
Standardowa baza danych MIB zawiera wyłącznie podstawowe informacje na temat
urządzenia i podstawowe statystyki, dotyczące głównie ruchu w warstwie fizycznej. Została
ona celowo ograniczona, aby mogła być zaimplementowana bez konieczności znacznej
rozbudowy sprzętu. Przewidziano również wydzielona hierarchie dla wytwórców urządzeń
sieciowych. Mogą oni rozszerzać standardową bazę MIB o informacje charakterystyczne dla
ich produktów (jest to jeden z powodów, dla których nie ma praktycznie systemów
zarządzania, które pozwalałyby na zarządzanie sprzętem pochodzącym od różnych
producentów - każdy z nich inaczej definiuje parametry swoich urządzeń).
W 1991 roku zostało zaproponowane rozszerzenie definicji bazy danych MIB. Stworzono
standard MIB-II. Rozszerza on dane dotąd gromadzone przez bazę MIB o statystyki
dotyczące m. in.: interfejsów sieciowych, translacji adresów, protokołów: IP, ICMP, UDP,
TCP i SNMP.
17
Każdy element w bazie danych ma swój identyfikator. Identyfikator ten to ciąg liczb
całkowitych, oddzielonych od siebie kropkami. Każda liczba, to numer obiektu na
poszczególnym stopniu hierarchii. Np. tablicę połączeń TCP otrzymamy podając adres:
1.3.6.1.2.1.6.13 (patrz Rys. 1).
Rys. 1. Budowa bazy MIB-II.
18
4.5.
Remote Network Monitoring
RMON (ang. Remote Network Monitoring) jest jednym z najistotniejszych rozszerzeń, o jakie
uzupełniono protokół SNMP. Pierwotna definicja bazy MIB, MIB-II i samego SNMP tworzona
była na potrzeby monitorowania i zarządzania poszczególnymi urządzeniami sieciowymi.
Standard RMON powstał w celu zapewnienia możliwości analizy ruchu w całym segmencie
sieci. Wykorzystywane są do tego specjalne urządzenia - analizatory (sondy) sieciowe. Co
raz częściej analizatory RMON stają się też częściami zaawansowanych urządzeń
sieciowych (np. przełączników i routerów). Pozwalają one na gromadzenie danych
statystycznych (np. liczba pakietów przesyłanych w ciągu sekundy, rozmiary pakietów, liczba
błędów, kolizji itp), a także na przechwytywanie wybranych pakietów z segmentu sieci,
w którym się znajdują.
Standard RMON powstał jako rozszerzenie bazy MIB-II. Dodanych zostało dziewięć nowych
grup obiektów dotyczących sieci Ethernet i jedna opisująca zachowanie sieci Token Ring:
• statistics zapewnia bieżące statystyki wykorzystania pasma i statystyki błędów dla
warstwy fizycznej podsieci,
• history tworzy stały, cykliczny zapis statystyk z grupy statistics,
• alarm pozwala na ustawienie ograniczeń, na każdą z zapisywanych przez sondę
wartości, po przekroczeniu których będzie generowany alarm,
• host przechowuje dane na temat ruchu wysyłanego z i do komputerów podłączonych
do danego segmentu sieci,
• hostTopN zawiera listę najbardziej aktywnych komputerów,
• matrix przechowuje dane na temat błędów i ruchu pomiędzy komputerami w sieci w
postaci tablicy, (można łatwo sprawdzić jak wygląda ruch pomiędzy dwoma
dowolnymi maszynami w sieci i jaka jest stopa błędów),
• filter pozwala na ustawienie filtrów zarówno dla przechwytywania pakietów, jak
również tylko po to, aby można było ograniczyć statystyki,
• capture zarządza tym, w jaki sposób przechwycone pakiety zostaną przesłane do
stacji zarządzającej,
• event zawiera tablicę zdarzeń tworzonych przez sondę RMON,
• tokenRing zawiera statystyki i informacje konfiguracyjne dla sieci Token Ring.
W 1996 r. rozszerzono specyfikację standardu RMON, tworząc RMON2. Pozwala on nie
tylko na analizę ruchu w warstwie fizycznej, ale dodano też nowe grupy pozwalające na
zbieranie statystyk dla wyższych warstw sieciowych.
Nowe grupy to:
• protocolDir (protocol directory) zawiera katalog wszystkich protokołów sieciowych,
które mogą być przez sondę interpretowane,
• protocolDist (protocol distribution) statystyki ruchu w każdym z protokołów,
• addressMap (address map) przechowuje tablice adresów fizycznych i sieciowych dla
wszystkich maszyn podłączonych do danego segmentu sieci,
• nlHost (network-layer host) statystyka ruchu w warstwie sieciowej, dla
poszczególnych komputerów,
• nlMatrix (network-layer matrix) tablica zawierająca dane o ruchu pomiędzy każdymi
dwoma komputerami, zebrane na podstawie ich adresów sieciowych,
• alHost (application-layer host) statystyka ruchu dla poszczególnych komputerów
zebrana na podstawie ich adresów w warstwie aplikacji,
• alMatrix (application-layer matrix) tablica zawierająca dane o ruchu pomiędzy
każdymi dwoma komputerami, zebrane na podstawie ich adresów w warstwie
aplikacji,
• usrHistory (user history collection) dane historyczne, zbierane z innych tabel (o tym,
które wartości będą przechowywane decyduje użytkownik),
• probeConfig (probe configuration) standardowe parametry konfiguracyjne sondy
RMON.
19
4.6.
Inne protokoły zarządzania siecią
Protokół SNMP ma dwóch wielkich konkurentów. Są to: zaproponowany przez OSI
CMIP (Common Management Information Protocol) i TMN (Telecommunications
Management Network) będący standardem ITU-T.
Z całą pewnością przewyższają one SNMP swoimi możliwościami sterowania, zarządzania
i monitorowania. Jednak to właśnie dzięki swej prostocie SNMP zdobył tak wielką
popularność.
TMN bazuje na niektórych rozwiązaniach zastosowanych w standardach zarządzania ISO.
Powoli zaczyna on zdobywać popularność jako standard sterowania dużymi sieciami
telekomunikacyjnymi. W sieciach komputerowych, ze względu na swą złożoność nie został
wdrożony.
5. Modele naliczania kar za niedotrzymanie SLA
Sama umowa SLA nie zabezpiecza skutecznie interesów odbiorcy usługi gdy jej wykonanie
nie jest zabezpieczone rygorem sankcji dla dostawcy w przypadku naruszenia jej
postanowień. Podstawową sankcją w relacjach biznesowych pomiędzy podmiotami umowy
jest kara finansowa
Najczęściej zasada określania wysokości kary bazuje na definicji kary jako ułamka lub
wielokrotności kwoty gwarancyjnej zapisanej w umowie, lub jednostkowego wynagrodzenia
dostawcy z tytułu świadczenia usługi w okresie rozliczeniowym. Naruszenie postanowień
umowy zwykle dotyczy dwóch podstawowych aspektów usługi:
• Dostępność
• Jakość
Dostępność określa liczbę dni w podanym okresie (zwykle rozliczeniowym) w czasie których
usługa była/nie była dostępna dla użytkowników lub pewnej podgrupy użytkowników. Jakość
usługi, inaczej poziom jej świadczenia zwykle określany jest jako zdolność udostępnianego
systemu informatycznego(usługi) do reakcji na działania użytkowników w pewnym z góry
określonym czasie.
W omawianym podejściu kara za naruszenie postanowień umowy jest wyliczana na
podstawie wzoru w którym ujęte są parametry dostępności i jakości. W przypadku
parametrów dostępności kara jest naliczana jako procent kwoty gwarancyjnej wynikający z
procentowej niedostępności usługi w stosunku do podanego okresu rozliczeniowego. Przy
czym wartość ta może być podzielona na przedziały z zastrzeżeniem że przy niedostępności
wyższej niż założone maksimum kary rosną silnie nieliniowo w stosunku do liczby okresów
niedostępności. Analogicznie w przypadku parametrów jakościowych kara wynika ze stopnia
upośledzenia usługi w stosunku do jej założonych granicznych parametrów na przykład
spadek wydajności serwera WWW skutkujący odrzucaniem więcej niż 10 połączeń klientów
na minutę. Oczywiście kontrakt może zakładać że spadek wydajności usługi poniżej
podanego minimum traktowany jest jako brak dostępności usługi i kary naliczane są tylko
według tego parametru. Powyższe podejście wynika ze spojrzenia na umowę SLA z punktu
widzenia dostawcy ponieważ nie uwzględnia rzeczywistych kosztów dla odbiorcy jakie wiążą
się z awarią usługi.
Uzależnienie ewentualnych kwot kar od rzeczywistych strat poniesionych przez
odbiorcę należy rozpatrywać w dwóch aspektach. Po pierwsze straty poniesione przez
odbiorcę usługi mogą wynikać z faktu niedotrzymania przez odbiorcę umów podpisanych z
podmiotami trzecimi w zakresie świadczonych przez odbiorcę usług lub produkowanych
towarów. W takim przypadku algorytm wyznaczania kwot kar za niedotrzymanie SLA można
uzależnić od analogicznych algorytmów obowiązujących odbiorcę. Znacznie większą
trudnością jest zdefiniowanie w umowie wartości korzyści utraconych przez odbiorcę usługi z
tytułu braku dostępności lub ograniczonej dostępności usługi informatycznej. Sposobem
rozwiązanie tego problemu jest odniesienie kwoty przychodów uzyskanych przez odbiorcę w
czasie prawidłowego działania usługi do kwot uzyskanych przy niedostępności lub
ograniczonej dostępności usługi. Kwestią osobną aczkolwiek kluczową w tym podejściu jest
obiektywne oszacowanie i monitorowanie utraconych korzyści ze strony odbiorcy. Z racji
20
trudności w określeniu wysokości roszczeń odbiorcy w drugim podejściu, w projektowanym
przez nas rozwiązaniu uwzględniony zostanie pierwszy z modeli wyznaczania wysokości kar.
6. Koncepcja rozwiązania
Niniejszy projekt jest elementem systemu kompleksowego monitorowania SLA we
wszystkich wyżej przedstawionych aspektach. Reprezentuje on część przewidziana dla
analizy parametrów technicznych usług, oraz określania wysokości kar na podstawie
ustalonej w umowie wysokości kary za jednostkę czasu nieodstępności (ograniczonej
dostępności) usługi. Stanowi on narzędzie pozwalające stronom umowy w sposób
obiektywny stwierdzić naruszenie jej parametrów, oraz określić wysokość należnych kar.
6.1.
Model Danych
Rys. 2. Model danych
21
SLM_SERVICE
Nazwa kolumny
SRV_ID
SRV_NAME
Typ
NUMBER
VARCHAR2(100)
Opis
Identyfikator usługi
Nazwa usługi
Tabela zawiera informacje o usługach będących przedmiotem umów SLA.
SLM_USERS
Nazwa kolumny
Typ
Opis
USR_ID
NUMBER
Identyfikator użytkownika
USR_NAME
VARCHAR2(100)
Nazwa użytkownika
Informacje o użytkownikach systemu. Użytkownicy systemu mogą pełnić różne role w
stosunku do umów SLA. W szczególności każda umowa musi mieć zdefiniowanego
administratora umowy ze strony dostawcy, jako osoby odpowiedzialnej za świadczoną
usługę do której powinny być kierowane wszystkie zgłoszenia związane z umową. Poza
administratorem ze strony dostawcy określony musi być administrator umowy ze strony
dostawcy który pełni analogiczną rolę w przypadku zgłoszeń dotyczących nie wywiązywania
się odbiorcy z postanowień zawartej umowy.
SLM_UNITS
Nazwa kolumny
Typ
Opis
UNT_ID
NUMBER
Identyfikator jednostki organizacyjnej
UNT_NAME
VARCHAR2(100)
Nazwa jednostki organizacyjnej
UNT_PARENT_ID
NUMBER
Identyfikator jednostki nadrzędnej
Jednostki organizacyjne przyjmujące i podejmujące zobowiązania do zapewnienia określonej
w umowie wartości parametru.
SLM _TYPES
Nazwa kolumny
Typ
Opis
TPE_ID
NUMBER
Identyfikator typu
TPE_NAME
VARCHAR2(100)
Nazwa Typu (utrzymanie/wykorzystanie)
Słownik typów zobowiązań. Możliwe wartości to „Utrzymanie” – zobowiązanie do
zapewnienia określonego zachowania się podanego parametru, „Wykorzystanie” –
zobowiązanie do utrzymania intensywności korzystania z usługi na określonym poziomie
mierzonym poprzez zadany parametr.
SLM _ROLES
Nazwa kolumny
Typ
Opis
RLE_ID
NUMBER
Identyfikator roli
RLE_NAME
VARCHAR2(100)
Nazwa roli
Słownik ról jakie poszczególne osoby mogę spełniać w stosunku do umowy SLA. Przykłady:
administrator umowy ze strony odbiorcy, administrator umowy ze strony dostawcy.
SLM_ACCOUNTS
Nazwa kolumny
Typ
SRL_RLE_ID
NUMBER
SRL_SLA_ID
NUMBER
SRL_USR_ID
NUMBER
Definicje powiązań pomiędzy rolami, umowami
stosunku do poszczególnych umów.
SLM_COMMITMENTS
22
Opis
Identyfikator roli
Identyfikator umowy
Identyfikator użytkownika
a osobami które pełnia poszczególne role w
Nazwa kolumny
CMT_ID
CMT_SLA_ID
CMT_SRV_ID
CMT_PROVIDER
Typ
NUMBER
NUMBER
NUMBER
NUMBER
CMT_RECIPANT
NUMBER
CMT_TYPE_ID
NUMBER
Opis
Identyfikator zobowiązania
Identyfikator umowy, której dotyczy zobowiązanie
Identyfikator usługi, której dotyczy zobowiązanie
Identyfikator jednostki zobowiązującej się do
świadczenia usługi na poziomie określonym w
umowie SLA(SLM_UNITS)
Identyfikator
jednostki
przyjmującej
zobowiązanie.(SLM_UNITS)
Identyfikator
rodzaju
zobowiązania
(utrzymanie/wykorzystanie/koszt).
Data utworzenia zobowiązania.
CMT_DATE_CREATE DATE
D
Zobowiązania stron umowy mające na celu zapewnienie bezawaryjnej pracy określonej
usługi informatycznej. Każda umowa może zawierać jedno lub więcej zobowiązań.
Zobowiązanie to jednostkowe uzgodnienie pomiędzy jednostką organizacyjną dostarczającą
usługę a jednostką organizacyjną odbierającą usługę, definiujące czas obowiązywania
porozumienia oraz miernik na podstawie którego strony zobowiązują się monitorować
przestrzeganie zawartego uzgodnienia. Niedotrzymanie co najmniej jednego uzgodnienia
skutkuje niedotrzymaniem całej umowy SLA.
SLM_THRESHOLDS
Nazwa kolumny
Typ
Opis
THD_ID
NUMBER
Identyfikator definicji zobowiązania
THD_CMT_ID
NUMBER
Identyfikator zobowiązania
THD_PSH_ID
NUIMBER
Identyfikator modelu naliczania kar
THD_VALUE_MIN
NUMBER
Wartość minimalna parametru
THD_VALUE_MAX
NUMBER
Wartość maksymalna parametru
THD_MSR_ID
NUMBER
Typ miernika parametru
THD_DATE_START
DATE
Początek obowiązywania zobowiązania
THD_DATE_END
DATE
Koniec obowiązanie zobowiązania
Definicje ograniczeń dla poszczególnych parametrów w związku z przyjętymi przez strony
umowy SLA zobowiązaniami. Zobowiązanie w okresie jego ważności może być
modyfikowane. Modyfikacjom mogą podlegać: rodzaj miernika, sposób naliczenia kary za
jego nieotrzymanie, górne i dolne ograniczenie miernika. Każdorazowo określany jest
początek obowiązywania nowych ograniczeń oraz koniec obowiązywania poprzedniej wersji.
SLM_MEASURES
Nazwa kolumny
Typ
Opis
MSR_ID
NUMBER
Identyfikator miernika parametru
MSR_IVL_ID
NUMBER
Identyfikator typu przedziału czasu
MSR_PRM_ID
NUMBER
Identyfikator miernika usługi - parametru
MSR_STC_ID
NUMBER
Identyfikator statystyki agregującej
Mierniki czyli sposoby agregacji wartości parametrów w czasie. Przechowują powiązania
interwałów czasowych ze statystykami. Obiekty przechowywane w tej tabeli definiują pojęcia
typu: wartość średnia w tygodniu, wartość maksymalna w miesiącu, suma wartości w
kwartale … .
SLM_INTERVALS
Nazwa kolumny
IVL_ID
IVL_NAME
Typ
NUMBER
VARCHAR(10)
Opis
Identyfikator typu przedziału czasu
Nazwa
przedziału:
minute,
hour,
week,month, quater, year
23
day,
Słownik interwałów czasowych: minuta, godzina, dzień, tydzień, miesiąc, kwartał, rok. W
których mierzona jest wartość parametru. Parametry mogą być mierzone w odstępach czasu
innych niż zawarte w umowie ustalenia. Zwykle umowa precyzuje postanowienia stron co do
pewnej statystycznej wartości określonego technicznego parametru infrastruktury
informatycznej. Częstotliwość próbkowania takiego parametru może być na tyle duża że
pojedyncze spadki jego wartości nie powinny mieć wpływu na jakość świadczonej usługi. W
takich przypadkach zakłada się że porównywane z wartościami granicznymi będą pewne
statystyczne miary tych wartości w zadanych okresach.
SLM_STATISTICS
Nazwa kolumny
Typ
STC_ID
NUMBER
STC_NAME
VARCHAR(10)
Słownik statystyk: suma, średnia, maksimum,
mierników.
Opis
Identyfikator statystyki
Nazwa statystyki : SUM,AVG, MAX, MIN
minimum… wykorzystywanych do definicji
SLM_PARAMETERS
Nazwa kolumny
Typ
Opis
PRM_ID
NUMBER
Identyfikator parametru
PRM_URL
VARCHAR2(1024)
URL parametru
PRM_NAME
VARCHAR2(100)
Nazwa parametru
PRM_ACTIVE
CHAR(3)
Parametr wykorzystywany/niewykorzystywany
PRM_FILE_NAME
VARCHAR2(30)
Nazwa pliku aktualizacji
Słownik parametrów przechowuje między innymi informacje o sposobie dostępu do
wyładowań danych dla poszczególnych parametrów w postaci adresu URL pod którym
usługa wyładowująca wartości parametru udostępnia swoje dane.
SLM_SLA
Nazwa kolumny
SLA_ID
SLA_NAME
Słownik umów SLA
SLM_PENALTIES
Nazwa kolumny
PNL_ID
PNL_PSH_ID
PNL_LVL_NO_LOW
Typ
NUMBER
VARCHAR2
Opis
Identyfikator umowy
Opis umowy
Typ
NUMBER
NUMBER
NUMBER
Opis
Identyfikator składnika kary
Identyfikator modelu naliczania kar
Minimalna liczba okresów pomiarowych, dla
których
stwierdzone niedotrzymanie umowy,
skutkuje naliczeniem jednostki kary
PNL_LVL_NO_HIGH
NUMBER
Maksymalna liczba okresów pomiarowych, dla
których
stwierdzone niedotrzymanie umowy,
skutkuje naliczeniem danej jednostki kary
PNL_COST
NUMBER
Jednostkowy koszt kary za niedotrzymanie
warunków umowy.
PNL_CONST
CHAR(1)
Czy kwota kary jest zależna od liczby okresów
niedostępności czy też jest stała dla zadanych
wartości minimalnej maksymalnej.
Tabela przechowuje definicje składników modelu kary w postaci funkcji odcinkowo liniowej.
W tabeli podane są minimalne i maksymalne wartości liczby okresów zdefiniowanych dla
miernika w tabeli SLM_MEASURES. Jeżeli w danym okresie wystąpi naruszenie
zobowiązania w liczbie okresów pomiędzy zadanymi wartościami maksymalną i minimalną
naliczona zostanie wartość kary wynikająca z pomnożenia liczby tych okresów przez
24
jednostkową kwotę kary (PNL_CONST=’N’) lub określona zostanie w wysokości podanej w
wierszu (PNL_CONST=’Y’)
SLM_PENALTY_SCHEMES
Nazwa kolumny
Typ
PSH_ID
NUMBER
PSH_NAME
VARCHAR2
Słownik modeli naliczania kar.
Opis
Identyfikator modelu naliczania kary
Nazwa modelu naliczania kary
SLM_PARAM_VALUES
Nazwa kolumny
Typ
Opis
PVL_PRM_ID
NUMBER
Identyfikator parametru(miernika)
PVL_VALUE
NUMBER
Wartość parametru
PVL_DATE
DATE
Data obserwacji wartości parametru
Tabela przechowuje dane szczegółowe dotyczące zmian wartości monitorowanych
parametrów w czasie. Dane do tej tabeli są ładowane w drugim etapie przetwarzania
danych, po wyładowaniu ich z systemów źródłowych.
6.2.
Architektura zasilania bazy danych
Warstwa zasilania bazy danych SLM składa się z 2 etapów . Pierwszym jest wyładowanie
danych z systemów źródłowych. W następnej kolejności następuje zasilenie struktur danych.
Założeniem konstrukcji warstwy zasilania jest minimalizacja prac wdrożeniowych
potrzebnych do wykonania przy uruchamianiu systemu w nowym otoczeniu.
Rys. 3. Architektura przetwarzania danych
Wyładowanie danych
Wyładowanie danych z systemów źródłowych leży poza ścisłym obszarem systemu i jest
realizowane przez aplikacje zewnętrzne w złożeniu powiązane z systemami dostarczającymi
dane do analiz parametrów. Aplikacje realizujące wyładowanie muszą spełniać następujące
warunki:
•
•
Plik wynikowy działania musi być dostępny poprzez protokół http lub ftp,
Plik wynikowy musi mieć następującą strukturę
25
•
Kolumna nr.
Opis
1
Czas zarejestrowania wartości parametru
2
Wartość parametru
Wartości W kolumnach muszą być oddzielane przecinkami
Dane wynikowe muszą być dostępne w określonym czasie przeznaczonym na proces
ładowania hurtowni danych.
Pobieranie wartości parametrów
Lista parametrów wykorzystywanych w systemie zawarta jest w słowniku
SLM_PARAMETERS. Proces ładujący dane dotyczące zmian wartości monitorowanych
parametrów w czasie działa według następującego algorytmu
1. Pobierz listę parametrów które są aktywne na dany okres zasilania HD,
2. Dla każdego parametru aktywnego pobierz jego URL,
3. Pobierz zbiór z danymi i zapisz go w katalogu tymczasowym,
Ładowanie wartości parametrów
Zbiory zawierające aktualizacje przebiegów wartości parametrów są umieszczone w
tymczasowym katalogu w systemie SLM. Proces ładujący dane do Hurtowni Danych działa
według następującego algorytmu.
1. Pobierz listę parametrów aktywnych za dany okres zasilania HD
2. Dla każdego parametru aktywnego pobierz nazwę pliku z aktualizacją
3. Wczytaj plik aktualizacji do tabeli tymczasowej w bazie danych oracle dla danego
okresu zasilania
4. Usuń plik tymczasowy
5. Uaktualnij tabelę SLM_PARAMETER_VALUES na podstawi tabeli tymczasowej
6. Wyczyść zawartość tabeli tymczasowej.
Pobieranie danych umów SLA
Dane dotyczące konstrukcji umów SLA gromadzone są w metadanych sytemu SLM.
Informacje te opisują strony umowy, oraz ich zobowiązania dotyczące zachowania
określonych wartości parametrów w czasie. Szczegółowy opis tabel metadanych
przedstawiony jest w punkcie 3. Dane dotyczące umów SLA są wprowadzane do systemu
przez odpowiednie osoby upoważnione do administracji systemem SLM. Do wprowadzania
danych służy interfejs WWW będący elementem systemu SLM.
6.3.
Specyfikacja aplikacji do zarządzania umowami
Podstawowym interfejsem dostępu do systemu jest aplikacja do zarządzania umowami SLA.
Jej zadaniem jest umożliwienie administratorowi:
• Definicji umów i ich ograniczeń,
• Definiowania nowych parametrów
• Monitorowania stanu wykonania umowy,
Definicja umowy SLA polega na określeniu jej parametrów pozwalających stwierdzić czy
zawarte uzgodnienia są dotrzymane oraz kto wobec kogo ponosi odpowiedzialności w
przypadku ich naruszenia. Stronami umowy SLA mogą być tylko organizacje
reprezentowane przez pełnomocników nazywanych dalej administratorami umowy. W celu
definicji umowy administrator musi znać:
• Przynajmniej dwie strony umowy z których jedna jest dostawcą a druga
odbiorcą usługi,
• Przynajmniej jeden parametr opisujący poziom utrzymania usługi.
Prawidłowo zdefiniowana umowa SLA musi spełniać następujące warunki
26
•
•
•
•
•
Może mieć więcej niż jednego odbiorcę,
Może mieć tylko jednego dostawcę,
Może dotyczyć więcej niż jednej usługi,
Może mieć więcej niż jednego administratora,
Może mieć zdefiniowaną dowolną liczbę parametrów wykorzystania i
utrzymania,
• Parametry umowy są od siebie niezależne i mogą być określone na różnych,
poziomach agregacji względem czasu,
• Parametry muszą mieć wartości liczbowe,
• Na parametr można nałożyć ograniczenie górne i dolne,
• Parametr może służyć do monitorowania więcej niż jednej usługi.
W celu umożliwienia zapisania powyższych informacji w metadanych systemu SLM
projektowany jest dostępny przez WWW kreator umów. W celu weryfikacji stopnia spełnienia
zobowiązać zastrzeżonych w umowie SLA projektowany jest interfejs do monitorowania
poziomów utrzymania i wykorzystania będący częścią aplikacji do administrowania
umowami.
W kolejnych punktach zostaną przedstawione scenariusze operacji (przypadki użycia) jakie
mogą zostać wykonanie przy wykorzystaniu projektowanej aplikacji.
Definicja
umowy
6.3.1.
Rys. 4. Definicja umowy
W pierwszym kroku administrator określa tytuł umowy. W kolejnym kroku przypisywane są
role poszczególnych osób w stosunku do umowy:
• Administrator umowy ze strony odbiorcy,
• Administrator umowy ze strony dostawcy,
• Zastępca administratora ze strony odbiorcy,
• Zastępca administratora ze strony dostawcy.
27
Po zakończeniu definicji ról poszczególnych osób w stosunku do definiowanej umowy należy
określić przynajmniej jedno zobowiązanie jakie przyjmuje na siebie dostawca wobec
odbiorcy. Definicja zobowiązania pociąga za sobą konieczność określenia.
• Jednostki organizacyjnej, która wymaga określonego zobowiązania,
• Jednostki organizacyjnej, odpowiedzialnej za poziom danego parametru,
• Parametru będącego przedmiotem zobowiązania,
• Typu zobowiązania, określającego czy jest to zobowiązanie co do utrzymania lub
wykorzystania usługi,
• Usługi której dotyczy zobowiązanie,
• Daty powzięcia zobowiązania.
Każde zobowiązanie powinno mieć zdefiniowane ograniczenia pozwalające na wykrycie
naruszenia warunków umowy. Ograniczenia określają:
• Maksymalny dopuszczalny poziom wartości parametru w danym interwale czasowym
• Minimalny dopuszczalny poziom wartości parametru w danym interwale czasowym
• Sposób agregacji parametru (interwały czasowe w których wartości parametru
powinny być zagregowane, oraz sposób agregacji)
• Datę rozpoczęcia obowiązywania ograniczenia
• Datę zakończenia obowiązywania ograniczenia
Wartości progowe ograniczeń oraz sposób agregacji wartości parametrów mogą się
zmieniać w czasie, jeżeli odpowiednia definicja zostanie zmodyfikowana przez
administratora.
28
SLAScreen
ParameterScreen
CommimentScreen
SummaryScreen
Okreś dostawcę
Twórz nową umowę
Określ Administratora Usługi
Określ Właściciela Usługi
Określ początek obowiązywania
Wyświetl podsumowanie
Twórz zobowiązanie
Określ koniec obowiązywania
Określ odbiorcę
Start Aplikacji
Określ maksimum
Definiuj ograniczenia
określ minimum
Określ Parametr
Edytuj zobowiązanie
Określ model kar
Edytuj istniejącą umowę
Określ statystykę
Określ miernik
Rys. 5. Algorytm definicji umowy SLA z podziałem na ekrany interfejsu użytkownika
29
Określ interwał
6.3.2. Monitorowanie wykonania umowy
Rys. 6. Weryfikacja umowy - przypadki użycia
Po pomyślnym zalogowaniu się do systemu administrator otrzymuje dostęp do listy umów
które są pod jego nadzorem. Przy każdej umowie oznaczony symbolem graficznym jest
status umowy :
• Umowa jest dotrzymana
• Naruszenie ze strony dostawcy
• Naruszenie ze strony odbiorcy
Wybór konkretnej umowy powoduje wyświetlenie listy parametrów z podziałem na parametry
utrzymania i wykorzystania. Przy każdym parametrze wyświetlona jest informacja o
przekroczeniu przez dany parametr zadanych progów.
Wybór konkretnego parametru powoduje wyświetlenie wykresu przebiegu danego
parametru, wraz z zaznaczonymi progami.
Rys. 7. Procedura weryfikacji umowy SLA
30
6.3.3. Struktura statyczna systemu
TUSER
TROLE
-usrId : short(idl)
-usrName : string(idl)
-roleId : short(idl)
-name : string(idl)
TSERVICE
TUNIT
-serviceId : short(idl)
-serviceName : string(idl)
-unitId : short(idl)
-unitName : string(idl)
-parentId : short(idl)
+generate() : TUNIT
TACCOUNT
1
1
1
-srlId : short(idl)
-sla : TSLA
-role : TROLE
-usr : TUSER
+getAccount(wartość slaId, wartość userId) : TACCOUNT
Odbiorca
1
*
SlaViewScreen
ParametersViewScreen
Dostawca
1
TCOMMITMENT
TSLA
-name : string(idl)
-date_signed : object(idl)
+getCommitments() : sequence(idl)
+setAdmin(wartość admin : TACCOUNT)
+setOwner(wartość owner : TACCOUNT)
+save() : TSLA
+generate() : TSLA
+getSla(wartość slaId) : TSLA
wyświetla
1
1
1
«uses»
*
1
TTYPE
-typeId : short(idl)
-typeName
+getType(wartość type)
1
1
*
ParameterDisplayScreen
-id : short(idl)
-SLA : TSLA
-service : TSERVICE
-provider : TUNIT
-recipant : TUNIT
-type : TTYPE
-dateCreated : object(idl)
+getDefinitions() : sequence(idl)
+setProvider()
+setRecipant()
+createDefinition() : TTHRESHOLD
+generate() : TCOMMITMENT
+getCommitment(wartość commitmentId) : TCOMMITMENT
TUSAGECOMMITMENT
1
1
TSUPPORTCOMMITMENT
1
wyświetla
TBASEOBJ
+isSatified(wartość calendar : Calendar)
+countPenalty(wartość calendar : Calendar) : <nieokreślone>
«uses»
SLAScreen
+renderScreen() : <nieokreślone>
*
TPENALTYSCHEME
«uses»
TTHRESHOLD
uruchamia
-cmtDefId : short(idl)
-commitment : TCOMMITMENT
-aggregation : TMEASURE
-valueMin : float(idl)
-valueMax : float(idl)
-dateStart : object(idl)
-dateEnd : object(idl)
-penaltyScheme : TPENALTYSCHEME
+generate() : TTHRESHOLD
+setStartDate()
+setEndDate()
+setMinValue()
+setMaxValue()
+isValidFor(wartość calendar : Calendar)
Obiekty Widoku i Kontrolera aplikacji
mają dostep do modelu wyłącznie
poprzez obiekty typu TSLA
Calendar
-startDate
-endDate
+getCalendar() : Calendar
SlaDefinitionAction
+doPerformAction(wartość slaScreen : SLAScreen)
wyświetla
uruchamia
*
zawiera
CommitmnetScreen
«uses»
*
TPENALTY
-cost
-lowIntervalNumber
-highIntervalNumber
+isAplicable(wartość failedIntervals)
TPARAMETER
TMEASURE
MeasureValue
-calendar : Calendar
-value
generuje
CommitmentDefinitionAction
1
-aggregationID : short(idl)
-interval : TINTERVAL
-statistic : TSTATISTIC
-parameter : TPARAMETER
+getAggregation()
+apply(wartość parameter : TPARAMETER, wartość calendar : Calendar)
+save()
+doPerformAction(wartość commitmentScreen : CommitmnetScreen)
1
1
ParameterScreen
+renderScreen()
wyświetla
1
-prmId : short(idl)
-prmName : string(idl)
-prmURL : string(idl)
-prmActive : string(idl)
-prmFileName : string(idl)
+getParameter(wartość name)
«uses»
TPARAMETERVALUES
TINTERVAL
-intervalId : short(idl)
-intervalName : string(idl)
+getInterval()
+startDate()
+endDate()
+getTimeBox()
+chopCalendar(wartość calendar : Calendar)
1
1
*
1*
1
«traces»
+renderScreen()
+count(wartość intervalNumber)
+addPenalty(wartość lowNo, wartość highNo, wartość cost)
+getParameterValues(wartość parameter : TPARAMETER, wartość calendar : Calendar)
+getParameter() : TPARAMETER
1
TSTATISTIC
1
uruchamia
-statisticId : short(idl)
-statisticName : string(idl)
+getStatistic()
+apply(wartość valueList)
ParameterDefinitionAction
+doPerformAction(wartość parameterScreen : ParameterScreen)
TMONTH
TWEEK
TDAY
THOUR
TAVG
TSUM
TMIN
TMAX
TRANGE
Rys. 8. Diagram klas aplikacji SLM
Struktura danych aplikacji SLM podzielona jest na dwa pakiety:
• Pakiet widoku i kontrolera
• Pakiet modelu
Klasy widoku i kontrolera mogą być powiązane z pakietem Apache Struts i wspólnie tworzyć
aplikację webową gotową do wdrożenia na dowolnym serwerze aplikacyjnym Java 2 EE.
Klasy modelu zasadniczo odpowiadają modelowi danych w relacyjnej bazie danych tworząc
mapowanie z dziedziny relacyjnej do obiektowej. Każda z klas modelu, której instancje mogą
być powoływane w czasie działania aplikacji, implementuje metody pozwalające na jej
zapisanie w bazie danych oraz metodę statyczną pozwalającą na utworzenie nowego
egzemplarza klasy. Nie jest przewidywane powoływanie obiektów bezpośrednio lecz
wyłącznie poprzez metodę fabrykującą każdej z klas bazowych modelu.
TUSER
31
Klasa reprezentuje użytkownika systemu – reprezentanta strony umowy SLA. Każda ze stron
powinna mieć przynajmniej jednego reprezentanta w tym najwyżej jednego administratora
umowy ze strony dostawcy. Klasa jest zapisywana w sposób trwały w tabeli SLM_USERS.
TROLE
Klasa reprezentuje rolę użytkownika w systemie co pozwala regulować uprawnienia do
poszczególnych jego funkcjonalności. Wyróżnionymi rolami są:
• administrator umowy ze strony dostawcy
• administrator umowy ze strony odbiorcy
Klasa jest zapisywana w sposób trwały w tabeli SLM_ROLES
TACCOUNT
Klasa realizuje przypisanie ról do użytkowników w ramach poszczególnych umów SLA.
Klasa jest zapisywana w sposób trwały w tabeli SLM_ACCOUNTS.
TSERVICE
Klasa reprezentuje usługę której dotyczy umowa. Klasa jest zapisywana w sposób trwały w
tabeli SLM_SERVICES.
TUNIT
Klasa reprezentuje jednostkę organizacyjną będącą stroną umowy SLA. Klasa jest
zapisywana w sposób trwały w tabeli SLM_UNITS
TTYPE
Klasa reprezentuje rolę jaką parametr może pełnić w danej umowie SLA. Wyróżnione są dwa
typy parametrów:
• parametry utrzymania
• parametry wykorzystania
Klasa jest zapisywana w sposób trwały w tabeli SLM_TYPES.
TBASEOBJ
Klasa abstrakcyjna podstawowa dla klas TSLA, TCOMMITMENT i TCOMMITMENTDEF
definiująca metodę isSatisfied, która pozwala stwierdzić czy dany element spełnia
wymagania umowy.
TSLA
Klasa odpowiada tabeli SLA w relacyjnym modelu danych i udostępnia metody pozwalające
na:
• Ustalenie administratorów umowy ze strony dostawcy
• Ustalenie administratorów umowy ze strony odbiorcy
• Weryfikację statusu umowy
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_SLA.
TCOMMITMENT
Klasa reprezentująca zobowiązanie pomiędzy jednostką organizacyjną – dostawcą usługi a
jednostką organizacyjną – odbiorcą usługi. Pozwala określić:
• Odbiorcę
• Dostawcę
• Usługę będącą przedmiotem umowy
• Datę powstania związku pomiędzy dostawcą a odbiorcą
• Rodzaj zobowiązania (utrzymanie, wykorzystanie)
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_COMMITMENT.
TUSAGECOMMITMENT
Klasa potomna względem klasy TCOMMITMENT reprezentująca zobowiązania odbiorcy do
nie przekraczania określonych umową poziomów wykorzystania usługi.
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_COMMITMENT.
TSUPPORTCOMMITMENT
Klasa potomna względem klasy TCOMMITMENT reprezentująca zobowiązania dostawcy do
zapewnienia określonych umową poziomów utrzymania usługi.
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_COMMITMENT.
TPARAMETER
32
Klasa reprezentująca parametr, pozwalający na określenie w jaki sposób zachowuje się
dana usługa.
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_PARAMETERS.
TMEASURE
Klasa reprezentuje miernik usługi zdefiniowany w umowie SLA. Mierniki są definiowane jako
powiązanie parametru, rodzaju okresu w jakim badane są jego wartości oraz statystyki
agregującej wartości parametru w zadanym okresie. Jeżeli dla danego parametru zostanie
wybrany okres – godzina i statystyka-średnia, oznacza to że badane będą przekroczenia
zadanych ograniczeń dla wartości średnich w godzinie.
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_MEASURES.
TINTERVAL
Klasa abstrakcyjna reprezentująca rodzaj okresu agregacji parametrów. Klasa udostępnia
metodę zwracającą listę kolejnych obiektów klasy Calendar reprezentujących największą
pełną liczbę okresów agregacji mieszczących się pomiędzy podaną datą początku i końca
analizy.
Obiekty tej klasy są zapisywane w sposób trwały w tabeli SLM_INTERVALS.
TMONTH
Klasa potomna względem klasy TINTERVAL reprezentuje miesięczne agregacje wartości
parametrów.
TWEEK
Klasa potomna względem klasy TINTERVAL reprezentuje tygodniowe agregacje wartości
parametrów.
TDAY
Klasa potomna względem klasy TINTERVAL reprezentuje dzienne agregacje wartości
parametrów.
THOUR
Klasa potomna względem klasy TINTERVAL reprezentuje godzinowe agregacje wartości
parametrów.
TSTATISTIC
Klasa abstrakcyjna reprezentująca statystykę według której przeprowadzona będzie
agregacja wartości parametru. Obiekty tej klasy są zapisywane w sposób trwały w tabeli
SLM_STATISTIC.
TSUM
Klasa potomna względem klasy TSTATISTIC reprezentująca sumowanie.
TAVG
Klasa potomna względem klasy TSTATISTIC reprezentująca uśrednianie
TMIN
Klasa potomna względem klasy TSTATISTIC reprezentująca odnajdywanie wartości
minimalnej
TMAX
Klasa potomna względem klasy TSTATISTIC reprezentująca odnajdywanie wartości
maksymalnej
TRANGE
Klasa potomna względem klasy TSTATISTIC reprezentująca odnajdywanie odstępu
pomiędzy wartością maksymalną a minimalną parametru.
TTHRESHOLD
Klasa reprezentuje ograniczenia górne i dolne nałożone na wartość miernika w ramach
określonego zobowiązania. Klasa udostępnia informacje na temat:
• Powiązanego zobowiązania
• Powiązanego miernika
• Wartości górnego ograniczenia
• Wartości dolnego ograniczenia
• Początku i końca obowiązywania ograniczeń.
Obiekty tej klasy są zapisywane w sposób trwały w bazie danych w tabeli
SLM_TRESHHOLDS.
33
TPARAMETERVALUES
Klasa reprezentuje pojedynczy pomiar parametru zapisany w bazie danych. Udostępnia
metody pozwalające na pobranie listy pomiarów danego parametru za podany okres.
Obiekty tej klasy przechowywane są w tabeli SLM_PARAMTER_VALUES.
TPENALTYSCHEME
Klasa reprezentuje model naliczania kar za niedotrzymanie postanowień umowy a konkretnie
za naruszenie ograniczeń określonych w konkretnym zobowiązaniu. Model naliczania kar
jest implementowany w postaci funkcji odcinkami liniowej której definicja jest przechowywana
w o postaci listy obiektów klasy TPENALTIES
Obiekty tej klasy przechowywane są w tabeli SLM_PENALTY_SCHEMES
TPENALTIES
Obiekty klasy przechowują kolejne odcinki w definicji funkcji kar za naruszenie postanowień
umowy.
Obiekty tej klasy przechowywane są w tabeli SLM_PENALTIES
Calendar
Klasa reprezentuje odstęp czasu. Przechowuje datę początku i końca tego okresu może być
to wielokrotność jednego z okresów agregacji parametrów lecz nie jest to wymagane.
MeasureValue
Klasa reprezentuje jednostkę zagregowanej wartości parametru. W wyniku agregacji
parametrów za wskazany okres powstaje lista obiektów tej klasy które mogą służyć
porównaniu z Pragami zadanymi w ograniczeniu.
SLAScreen
Klasa interfejsu użytkownika realizująca ekran definicji podstawowych parametrów umowy.
SLADefinitionAction
Klasa kontrolera realizująca operacje zlecone przez użytkownika na ekranie SLAScreen.
CommitmentScreen
Klasa interfejsu realizująca ekran definicji zobowiązania.
CommitmentDefinitionAction
Klasa kontrolera realizująca operacje zlecone przez użytkownika na ekranie
CommitmentScreen
ParameterScreen
Klasa interfejsu realizująca ekran definicji miernika do zobowiązania
ParameterDefinitionAction
Klasa kontrolera realizująca operacje zlecone przez użytkownika na ekranie
ParameterScreen.
6.3.4. Dynamiczne aspekty systemu
Przypadki użycia systemu inicjowane przez aktorów – użytkowników aplikacji grupują się w
kilku podstawowych operacjach do których dostęp jest możliwy z poziomu poszczególnych
ekranów aplikacji klienckiej.
Wprowadzanie nowej umowy do systemu użytkownik rozpoczyna od definicji podstawowych
parametrów samej umowy. Na ekranie użytkownik wpisuje tytuł umowy oraz inne informacje
identyfikacyjne samego dokumentu. Następnie wybiera z listy rozwijanej użytkowników oraz
role i tworzy kolejne przypisania ról do użytkowników w ramach definiowanej umowy. Do
tego ekranu dostęp prowadzi również poprzez operację edycji umowy SLA. W przypadku
edycji nie ma możliwości modyfikacji sygnatury umowy lecz jedynie opis i przypisanie ról do
użytkowników. Po zakończeniu działać stan modelu zapisywany jest w bazie danych. Na
ilustracji kooperacji podanej poniżej przedstawiona jest sekwencja wywołać operacji na rzecz
poszczególnych obiektów.
34
Rys. 9. Definicja podstawowych parametrów umowy
Po wprowadzeniu umowy do systemu użytkownik jest kierowany do ekranu definicji
zobowiązań. Na ekranie definicji zobowiązań użytkownik wybiera z listy rozwijanej jednostki
organizacyjne będące stronami zobowiązania oraz określa typ zobowiązania.
Rys. 10. Definicja zobowiązania
Zatwierdzenie operacji przez użytkownika powoduje pobranie obiektu SLA dla definiowanej
umowy. Następnie tworzone są obiekty dostawcy i odbiorcy usługi związanych
zobowiązaniem. W ostatnim kroku w zależności od rodzaju zobowiązania wybranego przez
użytkownika tworzony jest obiekt zobowiązania dostawcy wobec odbiorcy (utrzymanie), lub
35
odbiorcy wobec dostawcy (wykorzystanie). Po zakończeniu stan modelu zapisywany jest w
bazie danych.
Ostatni ekran definicji umowy służy do określenia mierników zobowiązania. Na ekranie
definicji mierników i ograniczeń użytkownik wybiera datę początku i końca obowiązywania
ograniczenia oraz maksymalną i minimalna wartość ograniczenia
Rys. 11. Definicja ograniczeń i miernika
Następnie określa na podstawie listy wyboru parametr, okres agregacji wartości parametru
oraz statystykę agregującą. W ostatnim etapie definiowany jest model naliczania kar.
Operacja ta ma charakter iteracyjny. W każdej iteracji definiowany jest jeden element funkcji
kary poprzez podanie dolnej i górnej granicy liczby cykli w których zobowiązanie nie zostało
spełnione, oraz kwoty kary za jeden cykl. W szczególnym przypadku gdy funkcja kary
zdefiniowana jest jako liniowa zależność wysokości kary od liczby cykli niedostępności usługi
następuje tylko jedna iteracja przy czym górna granica liczby cykli nie jest podawana.
Zatwierdzenie dokonanych wyborów powoduje wywołanie sekwencji operacji kontrolera jak
to zostało przestawione na powyższym diagramie kooperacji. Po zakończeniu działania
kontroler wywołuje operacje zapisania stanu modelu w bazie danych.
Weryfikacja umowy SLA jest możliwa z poziomu interfejsu użytkownika. Ekran weryfikacji
umów prezentuje listę umów których użytkownikiem jest zalogowana osoba. Przy każdej
36
umowie wyświetlona jest informacja o statusie umowy. Umowa jest oznaczona jako
naruszona jeżeli naruszone jest przynajmniej jedno zobowiązanie. W innym przypadku
umowa jest dotrzymana.
1: isSatified(calendar)
1.1.1: isSatified(calendar)
1.1: isSatified(calendar)
sla
comitment
interval
threshhold
.
1.1
:
1.2
ply
ap
ra
(pa
te
me
{LUB}
ar)
nd
ale
r, c
{LUB}
{LUB}
:
3.1
.1.
1.1
o
ch
pC
le
ca
ar (
nd
ale
a
nd
r)
dla wszystkoch kalendarzy interwału: getParameterValues(parameter, calendar)
measure
paramValues
dla
countPenalty:=countPenalty(calendar)
sla
commitment
countPenalty:=countPenalty(calendar)
threshold
ws
zys
tkic
h
kale
nda
rzy
inte
rwa
łu:
ap
ply
(va
lue
Lis
t)
countPenalty:=countPenalty(calendar)
statistic
Rys. 12. Weryfikacja stanu umowy
Zobowiązanie jest dotrzymane jeżeli wszystkie ograniczenia obowiązujące w danym okresie
są spełnione, przy czym pod uwagę brane są jedynie ograniczenia obowiązujące przez co
najmniej jeden pełny okres dla którego zdefiniowany jest miernik dla tych ograniczeń.
Spełnienie ograniczenia sprawdzane jest poprzez następującą sekwencją operacji. W
pierwszym kroku pobierana jest lista pełnych rzeczywistych okresów właściwych dla danego
miernika ograniczenia. Dla każdego z tych okresów pobierana jest lista wartości parametru z
danego okresu i przeprowadzana jest jego agregacja według podanej w definicji miernika
statystyki. Jeżeli wynik agregacji mieści się w przedziale podanym w ograniczeniu
ograniczenie jest spełnione w innym przypadku ograniczenie nie jest spełnione.
Alternatywnie użytkownik może podejść do sprawdzenia wysokości naliczonych kar za
niespełnienie postanowień umowy SLA. Weryfikacja wysokości kar przypisanych do umowy
SLA powoduje wywołanie operacji sprawdzenia wysokości kar dla każdego zobowiązania
przypisanego do umowy co z kolei powoduje sprawdzenie wysokości naliczonych kar dla
każdego obowiązującego ograniczenia związanego z tym zobowiązaniem.
7. Realizacja
Aplikacja zaprojektowana zgodnie z założeniami przedstawionymi powyżej jest
implementowana w Instytucie Łączności. Implementacja zakłada konieczność zastosowania
popularnych technologii dostępnych w większość przedsiębiorstw. Ma to na celu obniżenie
kosztów produkcyjnego wdrożenia systemu w środowisku docelowym.
Jako serwer bazy danych zastosowano RDBMS Oracle jako de facto standard w
rozwiązaniach korporacyjnych. Jako język implementacji sterowania warstwy zasilania
wybrano PERL jako język skryptowy dostępny na większości systemów operacyjnych. Do
implementacji interfejsu użytkownika wybrano język JAVA
7.1.
Wyładowanie danych z systemów źródłowych
Etap wyładowania danych źródłowych z systemów realizowany jest przez usługi, których
implementacja jest niezależna od struktury samego systemu monitorowania SLA. Takie
37
założenie ma ułatwić wdrożenie aplikacji w zróżnicowanych środowiskach jakie funkcjonują
w przedsiębiorstwach będących grupą docelową dla projektowanego systemu. Architektura
systemu narzuca jedynie format danych wyjściowych z modułów wyładowujących dane.
Poniżej przedstawiono proponowane przez autorów rozwiązanie dla realizacji podsystemu
wyładowywania danych. Zostało ono zaimplementowane w sieci komputerowej Instytutu
Łączności.
Parametry usług zbierane na potrzeby aplikacji pobierane są z bazy typu RRD
(Round Robin Database) zaimplementowanej w postaci aplikacji RRDtool autorstwa Tobiasa
Oetikera. Aplikacja ta stała się faktycznym standardem dla przechowywania danych
zebranych w wyniku monitorowania infrastruktury informatycznej. Do efektywnego
przechowywania wykorzystywana jest cykliczna baza danych. Archiwum cykliczne
przechowuje określoną ilość pobranych danych i zaczyna nadpisywać najstarsze wartości w
momencie zakończenia jednego i rozpoczęcia nowego cyklu. Ponadto, istnieje możliwość
utworzenia w obrębie bazy dodatkowych archiwów, które mogą przechowywać zagregowaną
wartość (np. średnia, minimum, maksimum) próbki za dłuższy okres czasu.
Cykliczna baza danych korzysta z wielu tzw. źródeł, które przechowują informacje na temat
pojedynczego parametru. Administrator zobligowany jest do podania czterech wartości dla
każdego źródła danych w trakcie tworzenia bazy danych: nazwę, rodzaj źródła danych, ilość
danych pobieranych w jednym kroku oraz progowe wartości minimum i maksimum. Nazwa w
sposób jednoznaczny identyfikuje źródło danych w RRDtool. Rodzaj źródła określa, czy mają
być zapisywane dokładne wartości czy ich zmiana w stosunku do poprzedniej wartości.
7.1.1. Kryteria wyboru parametrów
Podczas wyboru parametrów przyjęto następujące kryteria:
•
monitorowane parametry powinny być próbkowane nie rzadziej niż raz na 10 minut;
•
powinna istnieć możliwość
zakończonego dnia;
•
parametry powinny być częściowo z sobą skorelowane tak aby analiza ich wartości
mogła pokazywać zależności między nimi.
pobrania
pełnego
spektrum
próbek
z
całego
Wynikiem tych rozważań było przyjęcie założenia, że analizie będą podlegały usługi
w3cache oraz usługa pocztowa działające na serwerze berd. Ponadto założono, że pliki
tekstowe z wartościami próbek parametrów powinny być dostępne przez protokół HTTP.
7.1.2. Przykładowe parametry wykorzystywane na potrzeby systemu
Do analizy pracy usługi w3cache wybrano następujące parametry:
•
w3cache_hit_ratio - współczynnik trafień próbkowany; baza hitratio.rrd;
•
w3cache_number_of_request – liczba odwołań ze strony klientów (przeglądarek);
baza requests.rrd
•
w3cache_number_of_hits – liczba trafień; baza requests.rrd
Do analizy usług pocztowych wybrano następujące parametry:
•
mail_sent – liczba wysłanych listów; baza mailgraph.rrd
•
mail_received – liczba odebranych listów; baza mailgraph.rrd
•
mail_rejected
mailgraph.rrd
•
mailqueue_active – liczba aktywnych listów w kolejce; baza mailqueues.rrd
•
mailqueue_deferred – liczba odroczonych listów w kolejce; baza mailqueues.rrd
–
liczba
listów
zablokowanych
Wszystkie parametry próbkowane są co 5 minut.
38
do
odebrania
(spam);
baza
7.1.3. System pobierania danych z baz cyklicznych
Program do pobierania danych z baz cyklicznych został napisany w języku perl. Do jego
implementacji zostały wykorzystane następujące moduły:
•
RRDTool:OO – udostępnia obiektowy interfejs do bazy RRDtool;
•
IO::File – wspiera mechanizm równoległego
zastosowanie referencji do otwartych plików.
zapisywania
danych
poprzez
Program łączy się z odpowiednimi bazami RRDtool i pobiera z nich dane z okresu minionego
dnia. Następnie są one zapisywane do plików tekstowych. Pliki te zawierają dwie kolumny.
Pierwsza określa czas pobierania próbki w formacie RRRR-MM-DD HH24:MI:SS. W drugiej
kolumnie podana jest wartość parametru. Kolumny rozdzielone są średnikiem.
7.1.4. Środowisko pracy
Skrypt realizujący pobieranie danych ma nazwę rrd.pl i uruchamiany jest przez program perl
w wersji 5.6.1 na serwerze berd. Znajduje się w katalogu /home/berd/p7/wojtek/cvs/rrd.
Jest on automatycznie uruchamiany codziennie o godzinie 0.05 przez program cron. Logi
działania programu zapisywane są w pliku /home/berd/p7/wojtek/cvs/rrd/rrd.log.
Bazy cykliczne programu RRDtool przechowywane są odpowiednio w podkatalogach cache i
mail katalogu /services/mrtg-2/stat zaś pliki wynikowe o nazwach odpowiadających nazwom
parametrów z dodaną końcówką „.txt” zapisywane są do katalogu /services/intranet/data/slm.
Pliki
widoczne
są
w
Intranecie
https://intranet.itl.waw.pl/slm/<nazwa_parametru>.txt,
https://intranet.itl.waw.pl/slm/mailqueue_active.txt
Instytutu
Łączności
jako
np.
Skryptowe pobieranie plików można zrealizować z wykorzystaniem programów wget lub
lynx,
np.:
wget http://intranet.itl.waw.pl/slm/w3cache_hit_ratio.txt
lub
lynx -source http://intranet.itl.waw.pl/slm/mail_sent.txt
7.2.
Ładowanie danych do bazy danych systemu.
Wyładowywane dane są pobierane przez podsystem transformacji i ładowania danych do
bazy systemu monitorowania umów SLA. Warstwę ta jest realizowana przez następujące
skrypty zaimplementowane w języku PERL:
• extract.pl – wyładowanie danych z systemów monitorujących
• transform.pl – załadowanie danych z plików do tabel dziennych w bazie danych
• load.pl – załadowanie danych z tabel dziennych do tabeli SLM_PARAM_VALUES
extract.pl
1.
2.
3.
4.
pobranie z parametrów wywołania datę za którą wykonywane jest zasilanie.
nawiązanie połączenia z bazą danych
pobranie listy URL do wszystkich wykorzystywanych parametrów
pobranie danych za pomocą uzyskanych URL i zapisanie ich w plikach
oznaczonych datą zasilania.
Wejście:
• Dane użytkownika bazy danych (nazwa, hasło SID)
• Katalog docelowy na pliki zaimportowanych danych
Wyjście
• Pliki z wyładowaniem wartości parametrów w formacie CSV. Nazwa pliku
składa
się
ze
złożenia
wartości
z
kolumny
SLM_PARAMETERS.PRM_CODE z datą zasilania i rozszerzeniem DAT.
39
transform.pl
1. pobranie z parametrów wywołania datę za którą wykonywane jest zasilanie.
2. nawiązanie połączenia z bazą danych
3. pobranie z bazy danych nazw kodowych poszczególnych parametrów
4. usuniecie o ile istnieją tabel o nazwach takich jak pobrane nazwy parametrów
5. utworzenie pustych tabel o nazwach takich jak pobrane nazwy parametrów
6. wywołanie programu SQL leader w celu załadowania do nowoutworzonych
tabel danych zawartych w pobranych w etapie poprzednim plikach.
Wejście
• Dane użytkownika bazy danych (nazwa, hasło SID)
• Pliki z wyładowaniem wartości parametrów w formacie CSV. Nazwa
pliku
składa
się
ze
złożenia
wartości
z
kolumny
SLM_PARAMETERS.PRM_CODE z datą zasilania i rozszerzeniem
DAT.
Wyjście
• Tabele tymczasowe w bazie danych zawierające wyładowanie danych
za jeden dzień
load.pl
1.
2.
3.
4.
pobranie z parametrów wywołania datę za którą wykonywane jest zasilanie.
nawiązanie połączenia z bazą danych
pobranie z bazy danych identyfikatorów i nazw poszczególnych parametrów
usuniecie o ile istnieją w tabeli SLM_PARAMETER_VALUES wartości
parametrów oznaczonych datami pomiarów identycznymi jak w tabeli
tymczasowej dla danego parametru
5. załadowanie
wartości
z
tabeli
tymczasowej
do
tabeli
SLM_PARAMETER_VALUES
Wejście
• Dane użytkownika bazy danych (nazwa, hasło SID)
• Tabele tymczasowe w bazie danych zawierające wyładowanie danych
za jeden dzień
Wyjście
• Uzupełniona tabeli SLM_PARAMETER_VALUES
Skrypty zasilające są uruchamiane cyklicznie raz dziennie zasilając bazę danych w kolejne
porcje informacji o przebiegu monitorowanych parametrów.
8. Wnioski
Celem opracowywania powyższego systemu jest umożliwienie małym i średnim
przedsiębiorstwom wdrożenia procedur monitorowania podpisanych umów SLA zarówno z
punktu widzenia dostawcy jak i odbiorcy usługi. Wykonany projekt oraz testy wybranych
funkcjonalności wykazały iż realizacja takiego systemu jest możliwa przy niedużej ingerencji
w istniejące systemy informatyczne przedsiębiorstwa. Pozwala to ograniczyć koszt
wdrożenia i sprawi że produkt taki będzie dostępny dla szerszej grupy odbiorców niż
specjalizowane systemy realizowane na zamówienie.
40
Bibliografia
[1] J. Case, K. McCloghrie, M. Rose, and S.Waldbusser. Management Information Base for
Version 2 of the Simple Network Management Protocol (SNMPv2). SNMPv2 Working Group,
January 1996. RFC1907.
[2] J. D. Case, M. Fedor, M. L. Schoffstall, and C. Davin. Simple Network Management
Protocol
(SNMP), May 1990. RFC1157.
[3] Douglas E. Comer. Sieci komputerowe TCP/IP. T. 1. Zasady, protokoły i architektura.
Wydawnictwa Naukowo-Techniczne, Warszawa, 1997.
[4] K. McCloghrie and M. T. Rose. Management Information Base for Network Management
of
TCP/IP-based internets: MIB-II, March 1991. RFC1213.
[5] M. T. Rose and K. McCloghrie. Structure and identification of management information
for
TCP/IP-based internets, May 1990. RFC1155.
[6] William Stallings. SNMP, SNMPv2, and RMON: practical network management.
AddisonWesley Publishing Company, Inc, 2nd edition, 1996.
[7] S.Waldbusser. Remote Network Monitoring Management Information Base, February
1995.
RFC1757.
[8] S. Waldbusser. Remote Network Monitoring Management Information Base Version 2
using
SMIv2, January 1997. RFC2021.
[9] John J. Lee Ron Ben-Natan.: Integrateing Service Level Agreements. Wiley Publishing,
Inc. 2002
41

Podobne dokumenty