Różnice
Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
pl:ibmanager:ibmanager-config [2023/06/06 15:47] – [<Discovery>] ibadmin | pl:ibmanager:ibmanager-config [2023/06/07 12:14] (aktualna) – [<IbProtocol>] ibadmin | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
====== Plik konfiguracyjny programu ibmanager ====== | ====== Plik konfiguracyjny programu ibmanager ====== | ||
- | Program ibmanager działa na podstawie pliku konfiguracyjnego. Plik jest plikiem | + | Program ibmanager działa na podstawie pliku konfiguracyjnego. Plik jest typu xml. |
===== Przykładowy plik konfiguracyjny ===== | ===== Przykładowy plik konfiguracyjny ===== | ||
Linia 19: | Linia 19: | ||
< | < | ||
< | < | ||
- | <Project Url=" | + | <Project Url=" |
</ | </ | ||
</ | </ | ||
Linia 47: | Linia 47: | ||
</ | </ | ||
- | Głównym elementem pliku konfiguracyjnego jest „Config”, posiadający między innymi atrybut | + | Głównym elementem pliku konfiguracyjnego jest **Config**, posiadający między innymi atrybut |
Jeżeli wersja ta nie będzie się zgadzała z numerem wersji aktualnie obsługiwanym przez program, wówczas zostanie zgłoszony błąd i program zakończy działanie. Błąd zostanie zgłoszony w terminalu, ponieważ parametry logów programu są zawarte w pliku konfiguracyjnym, | Jeżeli wersja ta nie będzie się zgadzała z numerem wersji aktualnie obsługiwanym przez program, wówczas zostanie zgłoszony błąd i program zakończy działanie. Błąd zostanie zgłoszony w terminalu, ponieważ parametry logów programu są zawarte w pliku konfiguracyjnym, | ||
Linia 82: | Linia 82: | ||
Element zawiera atrybuty: | Element zawiera atrybuty: | ||
- | * **Name** - jeżeli jest zdefiniowany, | + | * **Name** - jeżeli jest zdefiniowany, |
* **Version** - jeżeli jest zdefiniowany, | * **Version** - jeżeli jest zdefiniowany, | ||
- | * **Instance** - jeżeli jest zdefiniowany, | + | * **Instance** - jeżeli jest zdefiniowany, |
Teksty alertów zostały sformatowane w ten sposób, aby zawierały w sobie nazwę aplikacji (atrybut **Name**) oraz nazwę instancji aplikacji (atrybut **Instance**) w postaci: **Name-Instance: | Teksty alertów zostały sformatowane w ten sposób, aby zawierały w sobie nazwę aplikacji (atrybut **Name**) oraz nazwę instancji aplikacji (atrybut **Instance**) w postaci: **Name-Instance: | ||
Linia 106: | Linia 106: | ||
< | < | ||
< | < | ||
- | <Project Url=" | + | <Project Url=" |
</ | </ | ||
</ | </ | ||
Linia 115: | Linia 115: | ||
Ścieżki te zostaną w wpisane do zmiennej **ibmanager.ibgui.project.url** i rozdzielone znakiem " | Ścieżki te zostaną w wpisane do zmiennej **ibmanager.ibgui.project.url** i rozdzielone znakiem " | ||
- | Projekty te mogą zostać wyświetlone i pobrane ze strony wskazanej wewnątrz plików deskryptorów przez aplikację | + | Projekty te mogą zostać wyświetlone i pobrane ze strony wskazanej wewnątrz plików deskryptorów przez program |
===== < | ===== < | ||
Linia 123: | Linia 123: | ||
</ | </ | ||
- | Element **IbProtocol** opisuje parametry protokołu, przy pomocy którego, zewnętrzne | + | Element **IbProtocol** opisuje parametry protokołu, przy pomocy którego, zewnętrzne |
Element zawiera atrybuty: | Element zawiera atrybuty: | ||
* **TcpPort** - adres portu TCP, na którym nasłuchuje serwer [[pl: | * **TcpPort** - adres portu TCP, na którym nasłuchuje serwer [[pl: | ||
- | * **SecureConnection** - atrybut typu bool, mówi czy serwer ibprotokołu będzie wykorzystywał bezpieczną komunikację SSL. Jeżeli tak, wówczas użyje on klucza PEM key.pem, lokalnego certyfikatu | + | * **SecureConnection** - atrybut typu bool, mówi czy serwer ibprotokołu będzie wykorzystywał bezpieczną komunikację SSL. Jeżeli tak, wówczas użyje on klucza PEM key.pem, lokalnego certyfikatu |
- | * **WanHostName** - to pomocnicza informacja przekazywana do klienta ibprotokołu poprzez zmienną **ibmanager.wan.hostname** określa na jakim publicznym serwerze, ibprotokół ibmanagera zostanie udostępniony, | + | * **WanHostName** - to pomocnicza informacja przekazywana do klienta ibprotokołu poprzez zmienną **ibmanager.wan.hostname** określa na jakim publicznym serwerze, ibprotokół ibmanagera zostanie udostępniony, |
* **WanTcpPort** - to pomocnicza informacja przekazywana do klienta ibprotokołu poprzez zmienną **ibmanager.wan.tcp.port** określa port TCP publicznego serwera **WanHostName**, | * **WanTcpPort** - to pomocnicza informacja przekazywana do klienta ibprotokołu poprzez zmienną **ibmanager.wan.tcp.port** określa port TCP publicznego serwera **WanHostName**, | ||
Linia 159: | Linia 159: | ||
</ | </ | ||
- | Element **RemoteServers** jest odpowiedzialny za zdefiniowanie wszystkich zdalnych serwerów obsługujących ibprotocol | + | Element **RemoteServers** jest odpowiedzialny za zdefiniowanie wszystkich zdalnych serwerów obsługujących ibprotocol, które są źródłem zmiennych sterujących. Mogą nimi być: |
* program [[pl: | * program [[pl: | ||
Linia 166: | Linia 166: | ||
Zmienne tych programów są podstawowymi elementami dla bibliotek logik – które pobierają oraz uaktualniają ich wartości. | Zmienne tych programów są podstawowymi elementami dla bibliotek logik – które pobierają oraz uaktualniają ich wartości. | ||
- | Element | + | Element |
* **HostName** - nazwa DNS lub adres IP maszyny, na której jest uruchomiony zdalny serwer zmiennych (np. program ibvunit lub inny ibmanager). | * **HostName** - nazwa DNS lub adres IP maszyny, na której jest uruchomiony zdalny serwer zmiennych (np. program ibvunit lub inny ibmanager). | ||
Linia 172: | Linia 172: | ||
* **TimeoutSec** - timeout użyty w komunikacji z danym serwerem. Jeżeli jakakolwiek operacja sieciowa związana z danym serwerem zmiennych trwa dłużej jak wartość tego atrybutu, wówczas jest ona przerywana i logowany jest błąd. | * **TimeoutSec** - timeout użyty w komunikacji z danym serwerem. Jeżeli jakakolwiek operacja sieciowa związana z danym serwerem zmiennych trwa dłużej jak wartość tego atrybutu, wówczas jest ona przerywana i logowany jest błąd. | ||
* **SleepMS** - to liczba milisekund, na którą wątek komunikujący się z danym serwerem jest usypiany, po każdej próbie komunikacji z nim. Wartość ta zawsze powinna być większa od zera, aby nie powodować nadmiernego obciążenia sieci oraz nie powodować zagłodzenia innych wątków w systemie, próbujących uzyskać dostęp do lokalnego magazynu danych. | * **SleepMS** - to liczba milisekund, na którą wątek komunikujący się z danym serwerem jest usypiany, po każdej próbie komunikacji z nim. Wartość ta zawsze powinna być większa od zera, aby nie powodować nadmiernego obciążenia sieci oraz nie powodować zagłodzenia innych wątków w systemie, próbujących uzyskać dostęp do lokalnego magazynu danych. | ||
- | * **Prefix** - to łańcuch znakowy, który jest dodawany do nazwy każdej zmiennej, pochodzącej z danego serwera zmiennych. | + | * **Prefix** - to łańcuch znakowy, który jest dodawany do nazwy każdej zmiennej, pochodzącej z danego serwera zmiennych. |
* **SecureConnection** - atrybut boolowski, który wskazuje, czy zdalny serwer będzie wykorzystywał bezpieczną komunikację SSL. Jeżeli tak, wówczas użyje on klucza PEM key.pem, lokalnego certyfikatu ibpakietu (local.cert.pem) oraz lokalnego certyfikatu instytucji certyfikującej (local.ca.cert.pem). Wszystkie te pliki powinny się znajdować w katalogu [[pl: | * **SecureConnection** - atrybut boolowski, który wskazuje, czy zdalny serwer będzie wykorzystywał bezpieczną komunikację SSL. Jeżeli tak, wówczas użyje on klucza PEM key.pem, lokalnego certyfikatu ibpakietu (local.cert.pem) oraz lokalnego certyfikatu instytucji certyfikującej (local.ca.cert.pem). Wszystkie te pliki powinny się znajdować w katalogu [[pl: | ||
Obsługa każdego zdalnego serwera rozpoczyna się od wydania komendy **describe_all**. Ma to na celu utworzenie zmiennych o odpowiednich typach, następnie wysyłane są komendy **get_all** przeplatane z komendami **set** – o ile nastąpiła modyfikacja wartości zmiennej należącej do danego serwera (np. przez logikę sterującą, | Obsługa każdego zdalnego serwera rozpoczyna się od wydania komendy **describe_all**. Ma to na celu utworzenie zmiennych o odpowiednich typach, następnie wysyłane są komendy **get_all** przeplatane z komendami **set** – o ile nastąpiła modyfikacja wartości zmiennej należącej do danego serwera (np. przez logikę sterującą, | ||
+ | |||
+ | ===== < | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Element **LogicLibDir** jest opcjonalny. Jeżeli sekcja ta nie została zdefiniowana, | ||
+ | |||
+ | Element zawiera atrybuty: | ||
+ | |||
+ | * **Path** - definiuje ścieżkę do katalogu zawierającego pliki konfiguracyjne logik oraz biblioteki dynamiczne logik. | ||
+ | |||
+ | Jeżeli element **LogicLibDir** został zdefiniowany, | ||
+ | |||
+ | ===== < | ||
+ | |||
+ | <code xml> | ||
+ | <Storage DirPath="/ | ||
+ | </ | ||
+ | |||
+ | Element **Storage** jest obowiązkowy i jest odpowiedzialny za konfigurację mechanizmu lokalnego magazynu danych. | ||
+ | |||
+ | Element zawiera atrybuty: | ||
+ | |||
+ | * **DirPath** - (obowiązkowy) określa ścieżkę do katalogu, w którym program **ibmanager** będzie przechowywał dane. Jeżeli katalog ten nie istnieje, to zostanie on utworzony. Jeżeli tworzenie się nie powiedzie, wówczas zalogowany zostanie błąd i program zakończy działanie. | ||
+ | * **DumpPeriodHours** - (opcjonalny) jest to okres czasu wyrażony w godzinach. Jeżeli jest zdefiniowany, | ||
+ | * **MaxDumps** - (opcjonalny) określa maksymalną liczbę archiwalnych plików zmiennych. Jeżeli jest zdefiniowany wówczas musi być większy od 0. Przy każdorazowym zrzucie zmiennych (okresowego lub na żądanie, poprzez ustawienie zmiennej **ibmanager.dump.vars**) archiwa są liczone i jeżeli ich liczba przekroczy tą wartość, wówczas nadmiar jest usuwany od najstarszego. Gdy atrybut ten nie jest zdefiniowany, | ||
+ | |||
+ | ===== < | ||
+ | |||
+ | <code xml> | ||
+ | <Alerts Path="/ | ||
+ | </ | ||
+ | |||
+ | Element **Alerts** jest opcjonalny. Jeżeli został zdefiniowany wówczas program **ibmanager** wczytuje plik konfiguracyjny alertów z lokalizacji zdefiniowanej w atrybucie **Path** tego elementu. Jakiekolwiek niepowodzenie przy jego wczytywaniu zakończy pracę programu wraz z odpowiednim wpisem w logach. Jeżeli ten element nie została zdefiniowany, | ||
+ | |||
+ | ===== < | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Element **TrackedVariable** jest nie istotny dla użytkownika, | ||
+ | |||
+ | ===== <Log> ===== | ||
+ | |||
+ | <code xml> | ||
+ | <Log Type=" | ||
+ | </ | ||
+ | |||
+ | Element odpowiedzialny za konfigurację systemu logowania programu **ibmanager**. | ||
+ | |||
+ | Element zawiera atrybuty: | ||
+ | |||
+ | * **Type** - oznacza określenie ujścia dla logów i może przyjmować wartości: | ||
+ | * **Console** – logi wyświetlane jedynie na konsoli | ||
+ | * **File** - logi zapisywane do pliku | ||
+ | * **None** - wyłączenie logowania | ||
+ | * **Level** - oznacza poziom logowania i może przyjmować wartości: | ||
+ | * **TraceLo** - najwięcej szczegółów | ||
+ | * **Trace** | ||
+ | * **TraceHi** | ||
+ | * **DebugLo** | ||
+ | * **Debug** | ||
+ | * **DebugHi** | ||
+ | * **Info** | ||
+ | * **Notice** | ||
+ | * **Warning** | ||
+ | * **Error** | ||
+ | * **Critical** – najmniej szczegółów | ||
+ | * **Params** - określa plik gdzie znajduje się plik logów a jeżeli go nie ma to gdzie ma zostać utworzony. Ścieżka powinna mieć składnię odpowiednią dla danego systemu operacyjnego. | ||
+ | * **MaxLogFileSize** - (opcjonalny) posiada wartość domyślną równą 10*1024*1024 i określa maksymalny rozmiar pojedynczego pliku logów. Ze względów wydajnościowych i po części praktycznych, | ||
+ | * **MaxLogArchives** - (opcjonalny) posiada wartość domyślną równą 10 co oznacza że że oprócz bieżącego pliku logów, może się znaleźć do 10 archiwalnych plików. Pliki archiwalne tworzone są przez dodanie do nazwy pliku logu sufiksu .N gdzie N jest indeksem numerowanym od 0. 0 oznacza najnowsze archiwum, im wyższy numer tym starsze. Najstarsze pliki archiwalne są usuwane, jeżeli ich liczba przekroczy wartość tego atrybutu. | ||
+ | |||
+ | W przykładowej definicji elementu < | ||
+ | |||
+ | ===== < | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Element opcjonalny. Jeżeli został zdefiniowany wówczas aplikacja załączy mechanizm autoryzacji po stronie interfejsu ibprotokołu. | ||
+ | |||
+ | Element zawiera atrybuty: | ||
+ | |||
+ | * **Path** - wskazuje na plik konfiguracyjny mechanizmu autoryzacji | ||