Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
pl:ibmanager:ibmanager-config [2023/06/06 15:49] – [<RemoteServers>] ibadminpl: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 typu xml.+Program ibmanager działa na podstawie pliku konfiguracyjnego. Plik jest typu xml.
  
 ===== Przykładowy plik konfiguracyjny ===== ===== Przykładowy plik konfiguracyjny =====
Linia 19: Linia 19:
     <IbGUI>     <IbGUI>
       <Projects>       <Projects>
-        <Project Url="http://update.ibsystem.org/projects/ib-vent04-f1-7z.xml"/>+        <Project Url="http://update.ibsystem.org/projects/installation-name-installation-version.xml"/>
       </Projects>       </Projects>
     </IbGUI>     </IbGUI>
Linia 47: Linia 47:
 </code> </code>
  
-Głównym elementem pliku konfiguracyjnego jest Config, posiadający między innymi atrybut Version, będący wersją pliku konfiguracyjnego. Właściwą wersją pliku konfiguracyjnego jest wersja 1.13 (dla programu ibmanager w wersji 3.7.4).+Głównym elementem pliku konfiguracyjnego jest **Config**, posiadający między innymi atrybut **Version**, będący wersją pliku konfiguracyjnego. Właściwą wersją pliku konfiguracyjnego jest wersja 1.13 (dla programu ibmanager w wersji 3.7.4).
  
 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, który nie jest wspierany. 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, który nie jest wspierany.
Linia 82: Linia 82:
 Element zawiera atrybuty: Element zawiera atrybuty:
  
-  * **Name** - jeżeli jest zdefiniowany, wówczas wartość atrybutu zostanie wpisana do zmiennej **ibmanager.id.name** i będzie widoczna dla programów IB-System. Jest to informacja o nazwie własnej aplikacji (np. kodowa nazwa ib-ch01-f2-2x-h4)  Jeżeli element ten został zdefiniowany, wówczas każdy tekst alertu będzie zawierał nazwę aplikacji.+  * **Name** - jeżeli jest zdefiniowany, wówczas wartość atrybutu zostanie wpisana do zmiennej **ibmanager.id.name** i będzie widoczna dla programów IB-System. Jest to informacja o nazwie własnej aplikacji (np. kodowa nazwa "ib-ch01-f2-2x-h4")  Jeżeli element ten został zdefiniowany, wówczas każdy tekst alertu będzie zawierał nazwę aplikacji.
   * **Version** - jeżeli jest zdefiniowany, wówczas wartość atrybutu zostanie wpisana do zmiennej **ibmanager.id.version** i będzie widoczna dla programów IB-System. Jest to informacja o wersji aplikacji.   * **Version** - jeżeli jest zdefiniowany, wówczas wartość atrybutu zostanie wpisana do zmiennej **ibmanager.id.version** i będzie widoczna dla programów IB-System. Jest to informacja o wersji aplikacji.
-  * **Instance** - jeżeli jest zdefiniowany, wówczas wartość atrybutu zostanie wpisana do zmiennej ibmanager.id.instance” i będzie widoczna dla programów IB-System. Jest to informacja o nazwie instancji aplikacji (np. miejsce zamontowania). Jeżeli element ten został zdefiniowany, wówczas każdy tekst alertu będzie zawierał nazwę instancji aplikacji.+  * **Instance** - jeżeli jest zdefiniowany, wówczas wartość atrybutu zostanie wpisana do zmiennej **ibmanager.id.instance** i będzie widoczna dla programów IB-System. Jest to informacja o nazwie instancji aplikacji (np. miejsce zamontowania). Jeżeli element ten został zdefiniowany, wówczas każdy tekst alertu będzie zawierał nazwę instancji aplikacji.
  
 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: tekst alertu**. Jeżeli jeden z nich nie został podany, wówczas nagłówek alertu zostanie odpowiednio zredukowany oraz myślnik zostanie usunięty. W przypadku gdy żadna z tych wartości nie została podana, wtedy przedrostek wraz z dwukropkiem i spacją nie zostanie użyta w tekście alertu. 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: tekst alertu**. Jeżeli jeden z nich nie został podany, wówczas nagłówek alertu zostanie odpowiednio zredukowany oraz myślnik zostanie usunięty. W przypadku gdy żadna z tych wartości nie została podana, wtedy przedrostek wraz z dwukropkiem i spacją nie zostanie użyta w tekście alertu.
Linia 106: Linia 106:
 <IbGUI> <IbGUI>
   <Projects>   <Projects>
-    <Project Url="http://update.ibsystem.org/projects/ib-vent04-f1-7z.xml"/>+    <Project Url="http://update.ibsystem.org/projects/installation-name-installation-version.xml"/>
   </Projects>   </Projects>
 </IbGUI> </IbGUI>
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ę [[pl:ibgui:start|ibgui]].+Projekty te mogą zostać wyświetlone i pobrane ze strony wskazanej wewnątrz plików deskryptorów przez program [[pl:ibgui:start|ibgui]].
  
 ===== <IbProtocol> ===== ===== <IbProtocol> =====
Linia 123: Linia 123:
 </code> </code>
  
-Element **IbProtocol** opisuje parametry protokołu, przy pomocy którego, zewnętrzne aplikacje mogą się komunikować z aplikacją [[pl:ibmanager:start|ibmanager]].+Element **IbProtocol** opisuje parametry protokołu, przy pomocy którego, zewnętrzne programy mogą się komunikować z programem [[pl:ibmanager:start|ibmanager]].
  
 Element zawiera atrybuty: Element zawiera atrybuty:
  
   * **TcpPort** - adres portu TCP, na którym nasłuchuje serwer [[pl:ibprotocol:start|ibprotokołu]]   * **TcpPort** - adres portu TCP, na którym nasłuchuje serwer [[pl:ibprotocol:start|ibprotokołu]]
-  * **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 ib-pakietu (local.cert.pem) oraz lokalnego certyfikatu instytucji certyfikującej (local.ca.cert.pem). Wszystkie te pliki powinny się znajdować w katalogu [[pl:ibmanager:ibmanager-config#<License>|licencji]]. +  * **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 ibpakietu (local.cert.pem) oraz lokalnego certyfikatu instytucji certyfikującej (local.ca.cert.pem). Wszystkie te pliki powinny się znajdować w katalogu [[pl:ibmanager:ibmanager-config#<License>|licencji]]. 
-  * **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, umożliwiając tym samym dostęp do aplikacji przez Internet.+  * **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, umożliwiając tym samym dostęp do programu przez Internet.
   * **WanTcpPort** - to pomocnicza informacja przekazywana do klienta ibprotokołu poprzez zmienną **ibmanager.wan.tcp.port** określa port TCP publicznego serwera **WanHostName**, na którym 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**, na którym ibprotokół ibmanagera zostanie udostępniony.
  
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 RemoteServer” opisuje pojedynczą instancję zdalnego serwera i zawiera następujące obowiązkowe atrybuty:+Element **RemoteServer** opisuje pojedynczą instancję zdalnego serwera i zawiera następujące obowiązkowe atrybuty:
  
   * **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 176: Linia 176:
  
 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ą, program nadrzędny lub bezpośrednio przez użytkownika przez interfejs komunikacyjny). 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ą, program nadrzędny lub bezpośrednio przez użytkownika przez interfejs komunikacyjny).
 +
 +===== <LogicLibDir> =====
 +
 +<code xml>
 +<LogicLibDir Path="/ibsystem/ibmanager/logic" />
 +</code>
 +
 +Element **LogicLibDir** jest opcjonalny. Jeżeli sekcja ta nie została zdefiniowana, wówczas program **ibmanager** nie będzie obsługiwał logik sterujących a jedynie będzie pełniła funkcję repeatera serwerów zmiennych (praca w trybie proxy).
 +
 +Element zawiera atrybuty:
 +
 +  * **Path** - definiuje ścieżkę do katalogu zawierającego pliki konfiguracyjne logik oraz biblioteki dynamiczne logik.
 +
 +Jeżeli element **LogicLibDir** został zdefiniowany, wówczas program **ibmanager** podczas startu rozpocznie wczytywanie plików konfiguracyjnych logik typu xml umieszczonych w katalogu zdefiniowanym w atrybucie **Path**, po czym rozpocznie ładowanie logik z bibliotek dynamicznych (.dll/.so).
 +
 +===== <Storage> =====
 +
 +<code xml>
 +<Storage DirPath="/ibsystem/ibmanager/storage" DumpPeriodHours="24" MaxDumps="10" />
 +</code>
 +
 +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, musi być większy od 0. Atrybut ten definiuje, co ile godzin program **ibmanager** ma dokonać zrzutu lokalnego magazynu danych do pliku archiwalnego. Nazwa pliku archiwalnego tworzona jest na podstawie bieżącego czasu a same pliki archiwalne tworzone są w podkatalogu **archive** katalogu wskazanego przez atrybut **DirPath**. Jeżeli ten atrybut nie jest zdefiniowany, wówczas okresowy zrzut danych archiwalnych nie jest realizowany.
 +  * **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, wówczas maksymalna liczba zrzutów nie jest sprawdzana.
 + 
 +===== <Alerts> =====
 +
 +<code xml>
 +<Alerts Path="/ibsystem/ibmanager/alerts.xml" />
 +</code>
 +
 +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, wówczas mechanizm alertów zostanie wyłączony a zgłaszanie żądania wysłania alertu przez działające logiki będą ignorowane.
 +
 +===== <TrackedVariable> =====
 +
 +<code xml>
 +<TrackedVariable Name="rs.0.id.255.input.t.0.value" />
 +</code>
 +
 +Element **TrackedVariable** jest nie istotny dla użytkownika, jedynie dla programisty w celu wykrycia błędów w oprogramowaniu. Został on wprowadzony ze względu na złożoność obsługi zdalnych zmiennych. Jest to element opcjonalny i jego definicja powoduje odpowiednie wpisy w logach, które nie niosą żadnych informacji dla użytkownika.
 +
 +===== <Log> =====
 +
 +<code xml>
 +<Log Type="File" Level="Info" Params="/ibsystem/ibmanager/ibmanager.log" MaxLogFileSize="40000000" MaxLogArchives="20" />
 +</code>
 +
 +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, rozmiar pojedynczego pliku jest większy od tej wartości z dokładnością do rozmiaru zalogowanej linii (tak aby zakończyć logowanie pełnej linii) oraz do 5 sekund.
 +  * **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 <Log>, mechanizm rotacji logów zakłada istnienie do 20 plików archiwalnych. Zarówno archiwalne jak i bieżące będą mogły mieć rozmiar do ok. 40MB.
 +
 +===== <Credentials> =====
 +
 +<code xml>
 +<Credentials Path="/ibsystem/ibmanager/credentials.xml" />
 +</code>
 +
 +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