Archiv pro štítek: Monitoring

Nový monitoring systému CzechIdM

Od chvíle, kdy jste si tu mohli přečíst článek o nástroji pro monitoring našeho Identity Managementu CzechIdM, už uplynula pěkná řádka měsíců a dnes jsme zase o něco dál. V nové verzi CzechIdM, která je právě testována a brzy bude představena veřejnosti, je aktivní monitoring prostředí propracovanější a nabízí administrátorům spoustu dalších možností a hlavně jednoduchou konfiguraci. Pojďme se společně podívat, co všechno můžeme v nové verzi CzechIdM monitorovat a jak si monitoring přizpůsobit podle svých představ.

Monitoring Pokračování textu

Monitorujeme Identity Management CzechIdM

Řešení správy identit, které našim zákazníkům dodáme, po nasazení také zpravidla podporujeme: aktualizujeme, rozvíjíme, udržujeme a řešíme případné nečekané situace. K ověření, že prostředí funguje, jak má, se většinou používá nějaký specializovaný monitorovací software, třeba Nagios. V článku, který si právě čtete, Vás seznámím s tím, jak pomocí jednoduchého skriptu monitorujeme správný běh CzechIdM u zákazníků. A pokud nemáte Nagios, nevadí, skript funguje i samostatně.

schema-clanek

Pokračování textu

Spacewalk – centrální správa serverů

Spacewalk je OpenSource variantou k programu RH Satellite. Jeho úkolem je usnadnit administrátorům správu většího množství serverů, jejich operačních systémů RedHat nebo CentOS. Usnadnění spočívá zejména v zajištění lokálního repozitáře rpm balíčků a distribuci těchto balíčků na servery. Pod slovem distribuce je možné si představit jak manuální instalaci příkazem yum na koncovém serveru, také instalaci ze Spacewalk serveru „naklikanou“ administrátorem, ale i dávkové hromadné instalace balíčků na celé skupiny serverů.

Velkým úkolem ve větších prostředích je také zajištění shodnosti verzí balíčků na serverech.  Pokud instalujete server a následně provedete update z internetu, tak další instalace za 14 dní již může mít jiný update, protože byly vydány nové – „opravené“ verze. Výsledkem je, že verze balíčků na serverch nejsou shodné a pokud něco nebude na jednom ze serverů fungovat, je hledání problému daleko složitější. Díky Spacewalku je tedy možné garantovat i to, že budete mít jeden server s OS Linux jako druhý (stejný set balíčků) a to i v případě, že je budete instalovat s větším časovým odstupem.

Pokračování textu

Zasílání SMS z Nagiosu

Na našem webhostingu Klenot.cz používáme pro monitorování běhu serverů a služeb, které na nich běží, systém Nagios. Sytém Nagios je velice dobře konfigurovatelný a je možné pomocí něj monitorovat téměř cokoliv. V našem případě monitoruje dostupnost několik desítek serverů a více než 350 služeb. Důležitou součástí dohledu je zasílání zpráv o možných problémech na serverech. Samotný nagios neumožňuje odesílání zpráv ale jenom je pomocí nadefinovaných příkazů předá dalšímu programu, např. mail serveru, který je odešle. Administrátor však nesedí neustále při počítači a nemá tak možnost sledovat nagios nebo emaily. V případě produkčních systémů je potřebné aby byl administrátor informován o možných potížích okamžite.

Pokračování textu

Bič na uživatele sdílené MySQL

MySQL databázi používáme jako hlavní (a posledních pár měsíců jedinou*). S konfigurací MySQL pro naše prostředí jsme se za těch několik let co běží už docela poprali, takže nemáme výrazné problémy s výkonem, dostupností nebo zálohama. Co nám dlouho scházelo jsou informace o čerpání prostředků jednotlivými uživateli.Před nějakou dobou jsme v rámci upgrade MySQL přešli na upravenou verzi s patchem userstats.

Aktualizace 10/2011: skripty je možné stáhnout

Pokračování textu

Přehled o velikosti mailových schránek

Pro nové webové rozhraní webhostingu jsme řešili jak efektivně získávat informace o velikosti obsazeného místa poštovními schránkami.

Maily jsou na serveru uloženy ve formátu Maildir++, stará se o ně dovecot. Doručování do schránek samozřejmě také zajišťuje dovecot. Pro jednotlivé schránky využíváme quotu.

 

Pokračování textu

Munin – monitoring serveru

Munin je jednou z nejznámějších monitorovacích alpikací, která se používá především na serverových stanicích. Je napsaný v jazyku Perl a je dostupný pro většinu platforem. Munin s hromažďuje různá systémová data jako například vyťížení procesoru, síťový trafik, obsazenost diskových oddílů, využití paměti, atd. a ty vynáší přehledně do grafů, které periodicky aktualizuje.

Zdrovojá data může Munin získávat z lokální stanice nebo také ze vzdálených serverů. Navíc existuje pro Munin obrovské množství pluginů pro monitorování množstí parametrů různých aplikací, například pluginy pro web server, ftp server, poštovní server, atd. Některé pluginy jsou však použitelné jenom na některých platformách (Linux, FreeBSD, NetBSD, Solaris, AIX, HP-UX, atd.).

V dnešním zápisku se zaměřím na instalaci a základnou konfiguraci aplikace Munin na systému CentOS 5.

Grafový server – Munin master

Aplikace Munin se skládá ze dvou částí, které také odpovídají balíčkům. První komponentou je aplikace munin master, která představuje serverovou část, tzv. „grafový server“. Ta se stará poskytování výstupních dat, tj. grafů, které se ukládají ve formě obrázků do zvoleného adresáře.

Druhou komponentou je aplikace munin node, která představuje uzel pro přístup grafového serveru. Jejím ůkolem je zpřístupnení stanice grafovému serveru.

V našem případě budeme monitovat dva servery. První (například alpha.domena.com) bude sloužit jako munin master (tam se budou ukládat výtupní data) a druhý (například beta.domena.com), ze kterého budeme data jen odebírat. Na alpha.domena.com musíme tedy naistalovat munin master (zdroj výstupních dat) a munin node (přístupový uzel pro gravový server) a na beta.domena.com nám stačí už jenom munin node (tam nebudeme výstupní data ukládat). Chceme-li ukládat výstupná data na jednom serveru, analogoicky to platí i pro další stanice.

Vzhledem k tomu, že se Munin nenachází ve standardních repozitářích distribude CentOS 5, přidáme si repozitář RPMforge, ze kterého Munin naistalujeme. Nejdřív si ze stránek RPMforge stáhneme balíček pro přidání repozitáře. Vybereme variantu pro RHEL5/CentOS5 a balíček naistalujeme (včetně importu klíčů)

[root@alpha:~]$ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
[root@alpha:~]$ rpm -Uhv rpmforge-release-0.5.1-1.el5.rf.i386.rpm

Na server alpha.domena.com naistalujeme munin master a munin node

[root@alpha:~]$ yum install munin munin-node

Konfigurace jak pro munin master tak pro munin node se nachází v adresáři /etc/munin (soubor munin.conf pro munin master a munin-node.conf pro munin-node). Upravíme konfiguraci pro munin master

[root@alpha:~]$ vim /etc/munin/munin.conf
...
#zdroj dat (aplikace používá RRDTool) - představuje umístnění rrd databází
dbdir   /var/lib/munin

#umístnění grafů (obrázků), html a dalších dokumentů pro zobrazování monitoringu
htmldir /var/www/munin

#umístnění logů aplikace
logdir  /var/log/munin

#umístnění stavových souborů (pid)
rundir  /var/run/munin

#umístnění šablon pro zobrazování výstupu
tmpldir /etc/munin/templates

#strom hostů, tj. serverů, kterých monitor se má ukládat/zobrazovat na grafovém serveru
[alpha.domena.com]	#přidá hostname alpha.domena.com do skupiny domena.com
    address 127.0.0.1	#IP adresa/hostname domény alpha.domena.com
    use_node_name yes	#munin master se nachází na alpha.domena.com, proto adresa localhostu
...

a změníme vlastníka adresáře /var/www/munin na munin:munin

[root@alpha:~]$ chown -R munin:munin /var/www/munin

Pro prohlížení monitoringu serveru při uvedené konfiguraci musíme mít v systému naistalovaný web server (např. Apache HTTP server) s nastavením hodnoty direktivy DocumentRoot na /var/www (ve většině instalací Apache HTTP serveru je to předvolená hodnota, i proto jsme zvolili hodnotu htmldir jak je uvedeno výše). Následuje nastavení konfigurace lokálního uzlu na alpha.domena.com tak, aby mohl grafový server mohl na tento uzel přistupovat

[root@alpha:~]$ vim /etc/munin/munin-node.conf
...
#port, na kterém bude munin-node poslouchat
port 4949

#IP adresay, na kterých bude munin-node poslouchat
host *

#uživatel, pod kterým bude munin-node běžet
user munin

#skupina, pod kterou bude munin-node běžet
group munin

#IP adresy grafových serverů, tj. stanic, které můžou přistupovat na uzel
#adresy se musí zadávat ve tvaru regulárních výrazů
allow ^127\.0\.0\.1$	#jedná se o uzel, který se nachází na stejném serveru jako Munin master
...

Restartujeme web server

[root@alpha:~]$ service httpd restart

a můžeme prohlížet monitor našeho serveru na URL http://alpha.domena.com/munin/ (nezapomenout na lomítko na konci URL).
Vytížení CPU
Síťový traffic
Využití paměti
Konkrétní tvar URL adresy závisí od hodnoty htmldir a od nastavení web serveru. Zatím máme k dispozici monitoring jenom pro server alpha.domena.com.

Přidání uzlu

Dále je třeba přidat na grafový server monitor pro náš druhý server, tj. beta.domena.com. Na tento server naistalujeme munin node, tj. přístupový uzel pro grafový server alpha.domena.com

[root@beta:~]$ yum install munin-node

Aby mohl grafový server shromažďovat data ze serveru beta.domena.com, musíme nakonfigurovat uzel nakonfiurovat tak, aby měl grafový server povolen přístup na náš uzel. Upravíme tedy konfiguraci pro munin-node, která se nachází v souboru /etc/munin/munin-node.conf (samozřejmě upravujeme konfiguraci na serveru beta.domena.com). Upravíme podobně jako v případě serveru alpha.domena.com

[root@beta:~]$ vim /etc/munin/munin-node.conf
...
#IP adresy grafových serverů, tj. stanic, které můžou přistupovat na uzel
#adresy se musí zadávat ve tvaru regulárních výrazů
allow <adresa_grafového_serveru>	#v našem případě IP adresa alpha.domena.com
...

Nakonec ještě upravíme službu munin-node a zrestartujeme

[root@beta:~]$ chkconfig munin-node on
[root@beta:~]$ service munin-node restart

Také nezapomenout povolit port ve firewall-u, na kterém munin-node poslouchá.

Pro prohlížení na grafovém serveru i monitor pro náš druhý server, tj. beta.domena.com, musíme tuto stanici také přidat na straně grafového serveru. To uděláme přidáním položky do stromu (v našem případě do stejného jako v prvním případě vzhledem ke stejné doméně domena.com) v konfiguraci grafového serveru

[root@alpha:~]$ vim /etc/munin/munin.conf
...
[alpha.domena.com]
    address 127.0.0.1
    use_node_name yes

[beta.domena.com]		#přidá hostname beta.domena.com do skupiny domena.com
    address <IP/hostname>	#IP adresa/hostname pro beta.domena.com
    use_node_name yes	
...

Teď už můžeme na URL http://alpha.domena.com/munin/ prohlížet monitor pro obě naše stanice (musíme chvilku počkat až se načtou nová data z beta.doma.com, případně aktualizovat stránku).

Pluginy

Jak již bylo zmíněno, pro Munin existuje velké množství pluginů pro monitorování různých (především serverových) aplikací. Již při základní instalaci Muninu se do systému instaluje několik desítek pluginů. Tyto pluginy se nacházejí v adresáři /usr/share/munin/plugins. Aby jsme aktivovali některý plugin, stačí nám v nejjednoduším případě vytvořit symlink na požadovaný plugin v adresáři /etc/munin/plugins. Například pro monitorování MySQL serveru zadáme příkaz

[root@alpha:~]$ ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins/

Konfigurace pro jednolivé pluginy se nachází v souborech v adresáři /etc/munin/pluginconf.d/. Konfigurace pro jednotlivé pluginy nebo skupiny pluginů se v konfiguračních souborech definují do hranaých závorek, pod kterými se nacházejí volitelné direktivy a jejich hodnoty, viz příklad

...
[<plugin_name>*]		#název pluginu nebo skupiny pluginů
user <username>			#uživatel, pod kterým bude plugin běžet
group <groupname>		#skupina, pod kterou bude plugin běžet
command <přikaz>		#příkaz, který se vykoná namísto pluginu
env.<proměnná> <hodnota>	#nastaví hodnotu proměnné v prostředí
				# daného pluginu na danou hodnotu
...

Pomocí pluginů si můžeme nastavit profil motitorování serveru na vybrané aplikace. V případě, že chcete monitorovat parametr, pro který nemáte v systému plugin, tak je možné si tento plugin napsat nebo skusit najít na MuninExchange, kde jsou volně dostupné desítky dalších pluginů pro různé aplikace a různé platformy a kam také můžete přispívat vlastními pluginy.

Munin se s oblibou používá na mnoha serverech a je často prvním zdrojem při zjišťování potíží, kterých důsledkem bývá nadměrné vytížení systémoých zdrojů nebo konkrétních aplikací. Dále nám se také může hodit při optimalizaci výkonu serveru.