Toto je vyrovnávacia pamäť Google pre http://wiki.cnl.tuke.sk/QoSProjekt/MonitInfSys2. Je to snímka stránky, ako sa zobrazila dňa 15. mar. 2009 14:30:38 GMT. Aktuálna stránka sa odvtedy mohla zmeniť. Viac informácií

Len textová verzia
 
MonitInfSys2 < QoSProjekt < TWiki
r9 - 22 May 2007 - 21:17:56 - SlavomirStrharskyYou are here: TWiki >  QoSProjekt Web  > MonitInfSys2

Monitorovanie Informačných Systémov2

ToDo

-- SlavomirStrharsky - 25 Mar 2007

1. Úvod - všeobecné poznatky a definície

Definícia systému

Systém je účelovo definovaný súbor komponentov (elementov), medzi ktorými existujú určité vzťahy, a ktoré spĺňajú nejaký cieľ. Systémová analýza sa zaoberá systémami vytvorenými ľudmi, tie sa skladajú zo vstupov, procesov a výstupov.

Systém pozostáva z:
1. atribútov (veličiny charakterizujúce určitý prvok systému)
2. udalostí (zmena atribútu alebo zmena konfigurácie systému - napríklad komponenty)
3. časových množín (hodnoty vzťahujúce sa k určitému okamihu).

Hranice a okolie systému

Hranice systému vymedzuje samotný systém lebo sám oddeľuje viacero systémov. Logická hranica je pomyselnou hranicou a vymedzuje podsystémy v rámci systému, avšak okolie systému je už „viditeľnou“ hranicou. Prvky na hranici taktiež ovplyvňujú chovanie systému.

Rozdelenie systémov

- uzavreté & otvorené - podľa toho, či dochádza k interakcii s okolím
- deterministické & stochastické - tzn. jednoznačné alebo štatistické chovanie
- statické & dynamické - tzn. lineárne alebo diferenciálne (systém si pamätá vnútorný stav)
- spojité & diskrétne - podľa časových udalostí (prípadne ex. také kombinované)

Systémy všeobecne delíme na tvrdé a mäkké. Tvrdé systémy sú spojené s jedným špecifickým (štrukturovaným) problémom (väčšinou technické systémy), naopak v mäkkých systémoch vystupuje celá rada faktorov, sú všeobecnejšie (človek je aktívnym prvkom systému=individualita - problém pretože každý má iné znalosti a inak uvažuje).

Riadenie a spätná väzba

V systémoch môže nastať spätná väzba, kedy výstupná veličina opätovne ovplyvňuje vstupnú veličinu, a teda aj samotný systém. Každý systém má tendenciu byť nestabilný, a preto môže niekedy pomôcť implementácia tzv. regulátorov. Je tu vidieť analógiu s logickými obvodmi. Existujú štúdie, ktoré poskytujú matematický aparát pre popis systémov (diferenciálny, fourierový a podobne).

Definícia IS

Informačné systémy (IS) sú systémy pre zber, udržovanie, spracovanie a poskytovanie informácií a dát. Príkladom informačného systému môže vo všeobecnosti byť kartotéka, telefónny zoznam, kniha prijatej pošty alebo účtovníctvo.

Ciele IS

1. strategické (plánovanie investícií…)
2. taktické (vedenie, kontrola rozpočtu…)
3. operačné (každodenná rutina).

Úlohy IS

1. manažérske (EIS - Executive IS)
2. taktické (DSS - Decision Support System)
3. vedenie (MIS - Management IS)
4. expertné (KWS - Knowledge Work System)
5. kancelárske (OIS - Office IS)
6. operatívne
   o TPS - transakčné (banky…)
   o CRM - starostlivosť o zákazníka
   o RIS - rezervačné systémy
   o CAM - konstrukčné (CAD…)
   o GIS - geografické systémy

Internet

Internet/intranet poskytuje skvelú platformu pre IS. Dnešné technológie zahrňujú napríklad:

ASP/.NET - platforma Windows (existuje taktiež multiplatformná implementácia Mono)
Java2EE - špičková platforma vyvinutá firmou Sun (technológia napr.: JSP, JSF nebo Struts)
PHP - multiplatformný skriptovací jazyk
XML - Extensible Markup Language, hraje podstatnú úlohu v dnešných IS, predovšetkým vo výmene dát.

Log

Log je názov pre záznam alebo súbor záznamov (často súbory s príponou .log), ktoré si niektoré programy vytvárajú pre ukladanie informácií o svojej činnosti a behu. Logy slúžia pri spätnej analýze k rozpoznávaniu, či došlo k nejakej chybe a ak áno, tak pomáhajú určiť, k akej chybe došlo a prečo. Môžu tiež obsahovať informácie o tom, ako a kým bola daná aplikácia či služba využívaná (napríklad z akej IP adresy bolo pristupované k WWW serveru).

Niektoré programy umožňujú logovanie vypnúť, zapnúť alebo nastaviť jeho úroveň, tzn. určiť, koľko a ktoré detailné informácie sa do logov majú ukladať.

Server Log

Server log je súbor (alebo niekoľko súborov) automaticky tvorených a udržiavaných serverom.

Typickým príkladom je web server log, ktorý obsahuje históriu požadovaných stránok. W3C zachováva štandardný formát pre web server log súbory, ale existujú aj iné vhodné formáty. Nové záznamy sa pridávajú na koniec súboru. Štandardne sa zapisujú informácie o požiadavke, klientova IP adresa, dátum/čas, požadovaná stránka, HTTP kód, poskytnuté bajty, používateľov agent. Tieto dáta môžu byť skombinované do jedného súboru, alebo separované do osobitných logov, napríklad access log, error log, alebo referrer log. Server logy však obyčajne nezbierajú informácie viazané na užívateľa.

Tieto súbory obyčajne nie sú verejne prístupné užívateľom na Internete, iba webmasterom alebo iným administratívnym osobám. Štatistická analýza server logov môže byť použitá na preverovanie traffic patterns podľa času, dňa, referrera (odkaz na požadovateľa), alebo užívateľovho agenta. Efektívna administrácia webovej stránky, adekvátny hosting a vyladenie - tuning smile výkonnosti predaja môžu byť ošetrené práve pri analýze web server logov. Marketingové oddelenia organizácií, ktoré vlastnia webové stránky by mali byť školené na používanie týchto nástrojov.

2. MySQL? Server Logs

MySQL? má niekoľko typov logov, ktoré nám môžu pomôcť zistiť, čo sa deje v mysqld :

Typ logu Informácie zapísané do logu
error log Problémy so štartovaním, behom alebo zastavením mysqld
general query log Spojenia zriadené klientom a príkazy prijaté od klienta
binary log Všetky príkazy, ktoré menia dáta (taktiež používané na odpovedanie)
slow query log Všetky požiadavky, ktoré požadujú na ich vykonanie viac času ako long_query_time alebo, ktoré nepoužili indexy

Defaultne sú všetky log súbory vytvorené v dátovom adresári mysqld. Pomocou mysqld môžeme zatvoriť a otvoriť log súbory (alebo v niektorých prípadoch prepnúť na nový log) mazaním logov. Mazanie logov dosiahneme pri zadaní príkazu FLUSH LOGS alebo vykonáme mysqladmin flush-logs alebo mysqladmin refresh. Ak používate MySQL? replikačné schopnosti, tak podradené replikačné servery sa starajú o ďalšie log súbory nazvané relay logy.

Error Log

Error log súbor obsahuje informácie vyjadrujúce kedy mysqld bolo zapnuté, vypnuté a tiež všetky kritické chyby, ktoré sa vyskytli počas behu servera. Ak mysqld zaznamená tabuľku, ktorá potrebuje byť automaticky kontrolovaná alebo opravovaná, napíše správu do error logu.

Na niektorých operačných systémoch error log obsahuje stack trace v prípade zlyhania mysqld. Stopa môže byť použitá na zistenie kde mysqld ukončilo svoju činnosť. Keď sa mysqld_safe použije na naštartovanie mysqld a mysqld neočakávane skončí, tak mysqld_safe zaznamená, že potrebuje reštartovať mysqld a napíše o tom správu do error log.

Môžeme si špecifikovať kam má mysqld ukladať error log súbor s voľbou --log-error[=file_name]. Ak nie je zadaný žiaden názov súboru mysqld použije názov host_name.err a súbor zapíše do dátového adresára. Ak zadáme FLUSH LOGS, error log sa premenuje s príponou -old a mysqld vytvorí nový prázdny log súbor. (Ak možnosť --log-error nie je daná, nevyskytne sa žiadne premenovávanie) Ak nešpecifikujeme --log-error, alebo (vo Windows) ak použijeme voľbu --console, chyby sú zapísané do stderr - štandardný chybový výstup. Obyčajne je to váš terminál. Vo Windowse je chybový výstup vždy zapísaný do .err súboru ak --console nie je daná.

Voľba --log-warnings alebo systémová premenná log_warnings sa môže použiť ma riadenie varovných logov do error logu. Defaultná hodnota je enabled (1). Varovné logovanie môže byť zakázané použitím hodnoty 0. Zrušené spojenia nie sú logované do error log iba ak je hodnota väčšia ako 1.

General Query Log

General query log predstavuje všeobecný zaznam o tom, čo robí mysqld. Server zapíše informácie do tohto logu, ak sa klient pripojí alebo odpojí, a tiež loguje každý SQL príkaz od klienta. General query log dokáže byť veľmi užitočný ak je podozrenie, že chyba je na klienotvi a chceme vedieť čo presne klient poslal mysqld.

mysqld zapíše príkazy do query log v poradí, v akom ich obdržal, čo sa môže líšiť od poradia, v akom sa vykonávali. Takéto logovanie je v kontraste s binary log, v ktorom sa príkazy zapisujú potom ,ako sa vykonali, avšak predtým ako sa odstránil nejaký zámok(lock). (Query log obsahuje všetky príkazy, zatiaľ čo binary log neobsahuje príkazy, ktoré iba selektujú dáta.)

Pre zapnutie general query log, spustite mysqld s voľbou --log[=file_name] alebo -l [file_name].

Ak nie je zadané meno súboru pre --log alebo -l, defaultne meno je host_name.log v dátovom adresári.

Server sa reštartuje ale vymazanie logov nezapríčiní vygenerovanie nového general query log súboru (vymazanie logov ho zatvorí a naspäť otvorí). V Unixe môžete súbor premenovať a vytvoriť nový použitím nasledujúcich príkazov:

shell> mv host_name.log host_name-old.log
shell> mysqladmin flush-logs
shell> cp host_name-old.log backup-directory
shell> rm host_name-old.log

Vo Windowse, nemožete premenovať log súbor, pokiaľ ho má server otvorený. Musíte stopnúť server a tak premenovať súbor, následne reštartovať server, aby sa vytvoril nový log súbor.

Binary Log

Binary log obsahuje všetky príkazy, ktoré aktualizujú(update) dáta alebo by ich mohli aktualizovať(napríklad DELETE, ktorý sa nevzťahuje na žiaden riadok). Príkazy sú uložené vo forme udalostí, ktoré popisujú zmeny. Binary log tiež obsahuje informácie o tom, ako dlho každý príkaz aktualizoval dát.

Poznámka: binary log nahradil predtým používaný update log, ktorý už nie je dostupný od MySQL? verzie 5.0. Binary log obsahuje všetky informácie, ktoré sú dostupné v update log avšak v efektívnejšom formáte a spôsobom, ktorý je bezpečný pre transakcie. Ak používate transakcie, musíte použiť MySQL? binary log kvôli zálohovaniu, namiesto starého update logu.

Binary log sa nepoužíva pre príkazy ako SELECT alebo SHOW, ktoré nemenia dáta. Ak chcete logovať všetky príkazy(napríklad identifikovať chybnú požiadavku), použite general query log.

Primárnym účelom binary logu je schopnosť aktualizácie databázy počas operácie zotavenia maximálne ako je možné, pretože binary log obsahuje všetky aktualizácie vykonané po zálohovaní. Binary log sa tiež používa na hlavných replikačných serveroch ako záznam príkazov, ktoré sa posielajú podradeným serverom.

MySQL Enterprise: Binary log dokáže tiež vystopovať významné DLL udalosti. Analýza binary logu v tomto smere je celočíselnou časťou MySQL? Network Monitoring a Advisory Service. Viac informácií na http://www.mysql.com/products/enterprise/advisors.html.

Server bežiaci so zapnutým binary logovaním má zníženú výkonnosť približne o 1%. Avšak výhody binary logu pri zotavovaní a možnosti nastavenia replikácie, všeobecne prevážia toto malé zníženie výkonu.

Keď naštartujeme s voľbou --log-bin[=base_name], mysqld zapíše do log súboru všetky SQL príkazy, ktoré aktualizujú dáta. Ak nezadáme base_name, defaultne sa nastaví meno hosta, za ktorým sa doplní -bin. Ak je basename zadané (nie ako absolútnu cestu), server zapíše súbor do dátového adresára. Všeobecne sa doporučuje sa basename zadávať.

Slow Query Log

Slow query log pozostáva zo všetkých SQL príkazov, ktoré vyžadujú viac sekúnd na vykonanie ako long_query_time. Čas na získanie zámkov pre tabľku sa nepočíta ako vykonávací čas. mysqld zapíše príkaz do slow query log po tom ako sa vykonal a všetky zámky sa odstránili, teda poradie logovania môže byť odlišné od poradia v akom sa príkazy vykonali. Minimálna a defaultná hodnota long_query_time sú 1 a 10.

Pre zapnutie slow query log, naštartujte mysqld s voľbou --log-slow-queries[=file_name]. Ak nezadáme meno súboru pre --log-slow-queries, defaultne meno je host_name-slow.log. Ak zadáme meno (nie ako absolútnu cestu), server zapše súbor do dátového adresára.

Slow query log môžeme použiť pri hľadaní požiadaviek, ktoré vyžadujú dlhý čas na vykonanie a preto sú kandidátmi v prípade optimalizácie. Avšak prehľadávanie dlhého slow query logu sa môže stať náročnou úlohou. Pre uľahčenie sa zadáva mysqldumpslow na zosumarizovanie požiadaviek vyskytujúcich sa v logu. Použite mysqldumpslow --help na zobrazenie možných volieb.

V MySQL? 5.0 sú požiadavky, ktoré nepoužívajú indexy sú logované so slow query log ak zadáme voľbu --log-queries-not-using-indexes.

MySQL Enterprise: Nadmerné skenovania tabuľky sú príznakom chýbajúcich alebo zle optimalizovaných indexov. Použitím poradcu špeciálne navrhnutého na túto úlohu, MySQL? Network Monitoring a Advisory Service dokáže identifikovať takéto problémy a ponúknuť radu na vyriešenie. Viac informácií na http://www.mysql.com/products/enterprise/advisors.html.

V MySQL? 5.0 voľba --log-slow-admin-statements vám dovolí požadovať logovanie pomalých administratívnych príkazov ako sú OPTIMIZE TABLE, ANALYZE TABLE, a ALTER TABLE do the slow query logu.

Požiadavky spracované s query cache nie sú pridané do slow query logu, a tiež nemajú výhodu z indexovania, pretože tabuľka má nula alebo jeden riadok.

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r9 < r8 < r7 < r6 < r5 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback