pátek 12. srpna 2011

Zabbix 1.8.6 vs Upstart

Řešil jsem upgrade monitorovacího systému Zabbix z verze 1.8.5 na aktuální verzi 1.8.6. Jelikož je v mnou používaném Ubuntu serveru balík zabbix-server 1.8.1 poněkud zasmrádlý (neaktualizovaný = starý) a používat PPA repolitory se mi moc nechce. Kompiluju si Zabbix ze zdrojových kódů. Kompilace není nikterak složítá, stačí doinstalovat pár devel balíčků pro podporované součásti serveru, jako je SNMP, OpenIMPI, Jabber - iksemel, LDAP, iODBC, cURL atd.

Problém nastal, při opětovném zpuštění nové verze serveru. Autoři Zabbixu mysli i na to, že po manuální kompilaci budeme chtít zabbix_server pustit a připravili sadu init.d scriptů pro jednotlivé systémy.

zabbix-1.8.6/misc/init.d> ls -1
aix
debian
fedora
freebsd
gentoo
redhat
suse
tru64
ubuntu


V Ubuntu je již nějakou dobu přítomen Upstart, což je init daemon od spol. Canonical. Konfigurace je jednoduchá. Dané soubory umístíme do adresáře /etc/init/ a v /etc/init.d/ vytvoříme linky na upstart-job. Dále používám sysv-rc-conf, kterým nastavuji runlevely. Ruční linkování je zhovadilost.

cd /etc/init.d/
ln -s zabbix-agent /lib/init/upstart-job
ln -s zabbix-server > /lib/init/upstart-job

Konfiguraci jsem si ještě upravil bez závislosti na běhu MySQL, protože tu provozuji na jiném serveru. A exec mám upraven o cesty a o parametr -c kde říkám kde je konfigurák pro zabbix_server.

cat zabbix-server.conf
# zabbix-server - Start zabbix server
description "Zabbix Server"
author "S. CANCHON"
start on (runlevel [2345]
and started mysql)
stop on runlevel [016]
respawn
expect daemon
exec /usr/sbin/zabbix_server

# zabbix-agent - Start zabbix agent
description "Zabbix Agent"
author "S. CANCHON"
start on runlevel [2345]
stop on runlevel [016]
respawn
expect daemon
exec /usr/sbin/zabbix_agentd

Můj probém spočíval v tom, že při zadání /etc/init.d/zabbix-server start server nenastartoval a vystup hlasil že již běži. Pátral jsem v systému po utrobách Upstaru a nakonec zabral příkaz service zabbix-server start Posléze jiz /etc/init.d/zabbix-server start|restart zase fungoval. Upstart je událostně orientován, ale nenašel jsem v systému kam si co poznamenává. Hlavně že to funguje.

Ještě malá poznámka, že Upstart konfiguráky byly přidány do Zabbixu ve verzi 1.8.5.

čtvrtek 4. srpna 2011

Splunk

V loni okolo 30.7.2010 jsem si na doporučení kolegy poslech CZ Podcast 39 - Operations a Devops. Povídání to je zajímavé. Hodně mě zaujala zmiňovaná aplikace Splunk, kterou jsem se rozhodl vyzkoušet. Je to komerční aplikace, která analyzuje a reportuje informace, které produkují aplikace skrze své logy. Vstupních cest je ovšem více. Tyto data aplikace indexuje a posléze můžeme velmi rychle pozorovat stav aplikace při vytížení a tím odhalovat slabá místa. Aplikace se skádá z části splunkd, která je napsána v C++, dále se hojně využívá jazyka Python. Do aplikace existuje spousta rozšíření pro sledování *NIX (Unix serverů) dále pak např. IBM WAS, JMX, F5, Cisco atd. Tvorba vlastních Apps je též možná. Rozšížení neboli Apps jsou k nahlédnutí na Splunkbase. Pro vyzkoušení jsem si stáhnul verzi pro FreeBSD a pro Linux. Samozřejmě, že jsem se musel registrovat.

splunk-4.2.2-101277-freebsd-7.3-amd64.tgz
splunk-4.2.2-101277-linux-2.6-amd64.deb

Instalace je velmi dobře zdokumentována pro jednotlivé systémy a nenarazil jsem při ní na nějaký velký problém. Systém je to velmi robusní a s jeho konfigurací a vyladěním se dá strávit spousta času. Přínos pro sledování aplikací určitě má. V mém krátičkém testu zprovoznění a konfigurace jsem si jej nainstaloval na dva servery. Na FreeBSD běžela hlavní část, která indexuje a na jeden vývojový server na Linuxu jsem zprovoznil druhou instanci. Která koukala na logy z Tomcatu a MySQL. Dle dokumentace jsem Linuxovou verzi nutil logy prenášet na server s FreeBSD. Vše konfigurováno dle dokumentace a výsledek se dostavil, na FreeBSD jsem ve webovém rozhraní sledoval stav Tomcatu na Linuxu. Apps JMX jsem bohužel neotestoval.

Pokud někdy bude více času a bude požadavek na LogManagement se sledováním co se kde právě děje určitě se o Splunk budu více zajímat. Osobně vítám, že tvurci aplikaci připravují pro široké spektrum operačních systémů a neomezují se např. na jednu platformu.

úterý 2. srpna 2011

IE vs Apache SSL virtual a binarni data

Jelikož již po několikáte dohledávám jistý problém s jedním skutečně nepovedeným prohlížečem. Musim si to sem již zapsat.

Problem spočívá v tom, že pokud máme někde na Apache virtual s SSL a chceme aby web poskytoval např. nějaké swf soubory, IE je stáhne, ale nabízí k uložení. Dle mě je to dlouholetá a neopravená chyba, někdo tvrdí, že vlastnost. Podotýkám, že ve všech prohlížečích se to chová správně.

Je třeba u daného apache virtuálu nastavit např. následující.


SetEnvIf User-Agent ".*MSIE.*" IE_browser=yes
Header set Pragma public env=IE_browser
Header set Cache-control max-age=0 env=IE_browser *


Jelikož hojně používám mod_macro je záhodno danou definici uložit např. do macro.conf a posléze jen na správném míste použít Use M_IESSL

Teď už si to snad budu pamatovat a preventivně nastavovat všude tam, kde je SSL.