Archive for sierpień, 2008

Collectd at FreeBSD 7 HowTo

czwartek, 28 sierpnia, 2008

   Collectd jest małym niezwykle użytecznym programem do monitorowania serwerów Linux/Unix. Jest to wygodne narzędzie dla pojedynczych maszyn – wszędzie tam gdzie nie ma sensu instalować takich kombajnów jak cacti. Potrafi on wygenerować wykresy użycia procesora, pamięci, zajętości dysku, ruchu na interfejsach sieciowych oraz wiele innych, podobnych do tych które możemy zobaczyć w większości urządzeń sieciowych. Posiada on około 50 dodatkowych pluginów, które potrafią monitorować różne usługi oraz urządzenia np. UPSy. Pełną listę pluginów można znaleźć na stronie domowej projektu – http://collectd.org.

   Collectd jest dostępny w portach FreeBSD 7 i wymaga on do poprawnej pracy serwera http z obsługą cgi.

   Poniżej znajduję się procedura instalacji w systemie FreeBSD 7

Aby zainstalować pakiet przechodzimy do:

 cd /usr/ports/net-mgmt/collectd/

Następnie wydajemy komendy

 sudo make install clean

Po poprawnej kompilacji pakiet jest zainstalowany w /usr/local/www/collectd/.

Aby można było oglądać statystki przez www musimy skopiować plik collection.cgi do katalogu w którym są umieszczone pliki dla serwera http.

W moim przypadku wydajemy komendę:

sudo cp /usr/local/www/collectd/collection.cgi /usr/local/www/data/

Domyślnie we FreeBSD 7 perl nie zawiera modułu HTML/Entities.pm. Należy go doinstalować za pomocą shell cpan.

Aby uruchomić shell wpisujemy komendę:

sudo perl -MCPAN -e 'shell'

A następnie

install HTML/Entities

Aby Collectd uruchamiał się automatycznie przy starcie systemu w pliku /etc/rc.conf dopisujemy

collectd_enable="yes"

   

Aby uzyskać wykresy musimy edytować plik collectd.conf znajdujący się w katalogu /usr/local/etc/konfiguracją collectd

sudo joe /usr/local/etc/collectd.conf

Następnie ustawiamy dane podstawowe:

Hostname    "nasz serwer"
BaseDir     "/var/db/collectd"
PIDFile     "/var/run/collectd.pid"
PluginDir   "/usr/local/lib/collectd"
TypesDB     "/usr/local/lib/collectd/types.db"
Interval     10
ReadThreads  5

oraz usuwamy # znajdujący się przy modułach które nas interesują np. LoadPlugin interface i przechodzimy do sekcji w której konfigurujemy dany moduł.
np.

#<Plugin interface> 
#        Interface "eth0"
#        IgnoreSelected false
#</Plugin> 

Usuwamy # i wpisujemy poprawny interfejs który chcemy monitorować.

<Plugin interface> 
        Interface "fxp0"
        IgnoreSelected false
</Plugin> 

Następnie uruchamiamy collectd.

/usr/local/etc/collectd start

   
Jeśli skrypt nie zgłosił nam ,żadnych błędów otwieramy przeglądarkę i wpisujemy adres:

http://<adres server>/collection.cgi

Miłej Zabawy 🙂