Wieś

lipiec 23rd, 2008

Wieś gnojowisko i muł

Trafiłem na retransmisje posiedzenia komisji Regulaminowej.

Po raz pierwszy jest mi wstyd, że jestem Polakiem. Jak Sejm Rzeczypospolitej zmienił się w budkę z piwem jak upadają obyczaje i chamstwo dominuje. Jak tacy ludzie mogą być określani jako wybrańcy narodu … jak oni mogą za to otrzymywać wynagrodzenie nie potrafię tego pojąć

To już jest republika bananowa, gdzie idiotyzm zaczyna dominować …

Może powrót monarchii … ?

Decyzja

lipiec 21st, 2008

No i wszelkie dylematy zostały rozwiane … przynajmniej na 3-5 lat.

Siedzę sobie na łóżeczku, popijam pyszne piwo, grzeje klaptopkiem kolanka i patrzę z dumą i zadowoleniem na akt notarialny, w którym stoi jak wół, iż mam już swoje własne lokum :D

Tylko 51 metrów ale na początek musi starczyć :) Zostaję więc w .pl, nie zmieniam (jeszcze) pracy i dalej łysieje :) … pyszne to piwo :D

P.S. Jeśli KTOS(TM) ma dla mnie kuszącą ofertę pracy to zawsze jest możliwość porozumienia się, to tylko kwestia ceny i czasu :)

Quiz

czerwiec 12th, 2008

Sezon ogórkowy zaczyna się a ja ogłaszam konkurs …

Po jaka cholerę mieszkać w Polsce i być Polakiem i co w zasadzie znaczy?

Jesteś okradany w majestacie prawa (bo podatkami nazwać tego nie można)
Jesteś obowiązkowo katolikiem a jak jesteś kobietą to jesteś inkubatorem
Jesteś objęty 100% pewnym systemem ubezpieczeń ZUSu
Codziennie dostajesz podwyżki i codziennie obserwujesz spadek cen nieruchomości
Podróżujesz po rozbudowanej sieci gładkich autostrad oraz nowoczesną koleją
Biurokracja i korupcja to tylko słownikowe definicje
Twoja comiesięczna składka zdrowotna gwarantuje Ci przyzwoitą jakość usług
Masz wielkiego męża stanu za prezydenta i pracowity rząd

Reasumując za czym najbardziej byś tęsknił?

Ad-Monit pierwsza edycja

czerwiec 2nd, 2008

Jakiś czas temu miałem manię aby do monitoringu pasywnego wykorzystywać tylko i wyłącznie SNMP oraz MRTG.
Niestety gdy przybywały kolejne serwery oraz parametry aktualizacja mrtg.cfg stała się koszmarem.
Postanowiłem pomoc sobie i tak powstal Ad-Monit który:

  • w pierwszej edycji tylko i wyłącznie mrtg (rrdtools w następnym wcieleniu)
  • ma tworzyć z prostych plików konfiguracyjnych cały mrtg.cfg oraz proste strony html
  • najpierw proste monitorowanie podstawowych parametrów “ogólnodostępnych” poprzez std. MIB oraz SNMP
  • kolejne edycje obsługa SQUIDa oraz być może innych elementów z natywnym wsparciem dla SNMP
  • podpięcie własnych skryptów monitorujących MySQL, PgSQL, Apache, Nginx, Bind … oraz generowanie odpowiednich rekordów dla tych testów

Jak przetestować? Ściągnąć dokonać edycji plików w katalogu input (każdy plik to jeden katalog), wykonać ./generate_mrtg skopiowac wynik (czyli mrtg.cfg) do odpowiedniej lokalizacji (np. /etc/mrtg/), odczekać jeden cykl cron’a (wskazane śledzenie /var/log/mrtg/mrtg.log aby wychwycić ewentualne błędy) oraz wykonać ./generate_html a w katalogu htdocs powinno być to czego oczekujemy. :)

Komentarze i uwagi mile widziane.

Ad-Net 0.2.4

P.S. poprawiono linka

MRTG + snmp + PLD = yyyy ?

maj 29th, 2008

Postanowiłem zmusić MRTG do raportowania o stanie zajętości partycji.
Dodałem więc w snmpd.conf wpisy
disk / 10%
disk /home 5%

restart serwera snmp i czas zajrzeć w dokumentacje MRTG. A w dokumentacji stoi jak być, że dla tak przygotowanego snmpd można odwoływać sie poprzez
hrStorageSize.1
dla partycji / a dla /home poprzez
hrStorageSize.2
Ale to było zbyt łatwe ;) o oczywiście nie działało jak powinno ponieważ okazało się (niezawodne snmpwalk), że:
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: Memory Buffers
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: Real Memory
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: Swap Space
HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: /
HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: /sys
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: /sys/kernel/security
HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: /dev/cpuset
HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: /home

Czyli … / to 4 a /home to 8 … hmmm …. Ok czyli wystarczy zmiana :) (minus dla dokumentacji mrtg.cfg)
Ale nawet po zmianie informacje o zajętości i rozmiarze były niepoprawne … ponieważ:
HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.8 = INTEGER: 4096 Bytes

Czyli otrzymane wartości trzeba przemnożyć przez 4096 aby otrzymać wynik w bajtach lub przez 4 aby w kilobajtach
Target[mrtg-v101001-hdd_4]: 4 * hrStorageSize.4&hrStorageUsed.4:public@v103211.server.eqax.pl
Uff teraz działa. Nie testowałem z innymi implementacjami snmp czy też innymi distro, ale podejrzewam nieaktualna dokumentacje do MRTG. Co ciekawe w snmpd.conf nie dodawałem nic nt. /proc.
Czy ktoś(TM) ma jakieś sugestie ?

nginx hotlinking

kwiecień 27th, 2008

Dziś kawałek konfiguracji nginx, która ma uniemożliwić ‘hotlinkowanie’ np obrazów.

Wykorzystany zostanie do tego moduł ‘map’

Najpierw sekcja http

http {
map $referer $forbidden {
hostnames;
default 1;
*.eqax.pl 0;
}
...

W ten sposób zdefiniowano, że tylko $http_referer zawierający *.eqax.pl będzie będzie zezwalał na pobieranie poniżej określonej zawartości.

Poniżej w sekcji server

set $referer "";
if ($http_referer ~* '^http://([^:/]+)') {
set $referer $1;
}
...

Pozostało jedynie określić jakie pliki mają być chronione (kryterium to rozszerzenie)
location ~ \.(jpg|jpeg|gif|avi|png|mov|mpg|mpeg|pdf)$ {
if ($forbidden) {
rewrite ^ http://www.eqax.pl/stollen.jpg;
}
expires 1w;
}

Od razu ‘przy okazji’ przekazano dyrektywę odnośnie okresu cache’owania w/w plików.

wtorek

kwiecień 9th, 2008

Niestety wiosenna edycja Forum IBM ominęła mnie, ponieważ pół poniedziałku, cały wtorek i pół środy spędziłem na poznawaniu “Mercury Quality Center”. Nie będę rozpisywał się o narzędziu ponieważ jestem zdegustowany a całą funkcjonalność można opisać jednym zdaniem:

“Wielkie narzędzie do w pełni automatycznego ręcznego przeprowadzania testów … plus raportowanie” super i do tego ‘leciutkie’ (już nieduży klaster wystarcza)

PLD + apache2 + suexec + fcgi + php = działa

kwiecień 2nd, 2008

Oj poświęciłem nieco czasu i nerwów aby zmusić cały komplet software wymieniony w tytule posta do działania.

Continue Reading »

Gdy MySQL wymądrza się

marzec 30th, 2008

Dziś trafiłem na dziwne zachowanie MySQL, próbował zabezpieczyć się przed moimi działaniami na wszystkie sposoby :)

Są dwa pliki z kodem SQL, jeden czysty ‘create’ a drugi to ‘insert’, musiałem rozszerzyć nieco pewne tabele o klucze obce ale nie chciało mi się zmieniać porządku tworzenia ich więc dodałem wymagane kolumny aby potem za pomocą ALTER TABLE dodać klucze obce.

Niespodzianka

ALTER TABLE messages_customer ADD CONSTRAINT messages_customer_key2 FOREIGN KEY (customer_id) REFERENCES user_accounts(id) ON DELETE CASCADE ON UPDATE CASCADE;
ERROR 1452 (23000) at line 778: Cannot add or update a child row: a foreign key constraint fails (`adnet_full/#sql-40d6_d2d8`, CONSTRAINT `messages_customer_key2` FOREIGN KEY (`customer_id`) REFERENCES `user_accounts` (`id`))

Ponieważ w żadnej z tabel nie ma jeszcze danych. Okazuje się, że trzeba “przytępić” nieco wbudowane triggery mysql czyli

SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE messages_customer ADD CONSTRAINT messages_customer_key2 FOREIGN KEY (customer_id) REFERENCES user_accounts(id) ON DELETE CASCADE ON UPDATE CASCADE;

SET FOREIGN_KEY_CHECKS=1;

I już da się rozszerzyć tabelę.

error

marzec 18th, 2008

Błąd przy instalacji poprzez PLD RescueCD

Fatal: Kernel doesn't support initial RAM disks

Okazuje się, że problemem jest brak brak odpowiednich wpisów w /etc/modprobe.conf Wystarczyło cp /etc/modprobe.conf /a/etc/modprobe.conf

[root@rescue /boot]# geninitrd -v /boot/initrd-2.6.16.45-1smp.gz 2.6.16.45-1smp
Using /dev/cciss/c0d0p2 as device for rootfs
Using modules: kernel/drivers/scsi/scsi_mod.ko.gz kernel/drivers/block/cciss.ko.gz kernel/fs/jbd/jbd.ko.gz kernel/fs/mbcache.ko.gz kernel/fs/ext3/ext3.ko.gz
/bin/initrd-busybox -> /tmp/initrd.TzuDmy/bin/initrd-busybox
Loading module [scsi_mod] without options.
Loading module [cciss] without options.
Loading module [jbd] without options.
Loading module [mbcache] without options.
Loading module [ext3] without options.
Adding rootfs finding based on root= option support.

Tada … skleroza nie boli ale stresuje ;)

« Previous - Next »