OS: Linux Debian Squeeze.
Aplicație: Zabbix Server 2.0.5.
Instalăm și configuram cea mai recentă versiune stabilă disponibilă a serverului proiectului de monitorizare Zabbix.
Aproape peste tot continuăm să instalăm versiuni ale bibliotecilor de sisteme "pentru dezvoltatori", deoarece serverul Zabbix este mai orientat spre software decât cel disponibil pe platforma noastră.
Vom lucra cu PostgreSQL; Monitorizarea complexă a cel puțin 700-800 de gazde este planificată pentru 10-15 parametri pe fiecare dintre ele, este posibil ca PostgreSQL să facă față volumelor mai mari decât MySQL.
Instalăm serverul PostgreSQL înaintea lui Zabbix, astfel încât programul de instalare Zabbix să poată configura conexiunea la baza de date în timpul procesului de instalare:
# aptitude instalează postgresql libpq-dev
Am setat serviciul SNMP astfel încât Zabbix să poată lucra cu echipamentul în conformitate cu protocolul corespunzător:
# aptitude instalează snmp snmpd libsnmp-dev
Instalați programe și biblioteci suplimentare necesare pentru compilarea corectă a serverului Zabbix:
# aptitude instala fring libcurl4-dev
Instalăm utilitatea care va asambla un pachet gata pentru instalare în sistem:
# aptitude install install-essential face checkinstall
Instalați serverul Zabbix, colectându-l din codul sursă de pe site-ul dezvoltatorului.
Despachetați arhiva. Mergem la directorul rădăcină cu codul sursă:
# cd / usr / src
# tar -xvf zabbix-2.0.5.tar.gz
# cd ./zabbix-2.0.5
Ne uităm la ce dezvoltatorii noi au venit în ceea ce privește preconfigurarea aplicației colectate:
# ./configure --no-create --help
Verificăm dacă sistemul nostru răspunde dependențelor software-ului instalat:
# ./configure --no-crea --prefix = / usr / local --enable-server --disable-agent --disable-java --disable---without-mysql ipv6 --with --with-postgresql -net-snmp -cu-libcurl
Ca urmare a unei configurații de succes, ar trebui să obținem un raport care să conțină cel puțin ceva de genul:
Instalați calea: / usr / local
Arhivă de compilare: linux
.
Activați serverul: da
Cu baza de date: PostgreSQL
Monitorizarea WEB prin: cURL
Nativ Jabber: nu
SNMP: net-snmp
IPMI: nu
SSH: Nu
ODBC: nu
Activați proxy-ul: nu
Activează agentul: nu
Activați gateway-ul Java: nu
Suport LDAP: nu
Suport IPv6: nu
Unele poziții, cum ar fi suportul pentru IPMI, LDAP și IPv6, vor fi inactive, însă într-un ansamblu simplificat pentru a monitoriza numai rețeaua pe mia de unități de echipamente active, nu au nevoie de noi.
Pornim din nou configurația, eliminând de această dată tasta "--no-crea". Înainte de aceasta am verificat satisfacția față de dependență și acum facem o configurație reală a pachetului.
Compilam produsul preconfigurat:
# CheclInstall D --install = nu --pkggroup = Zabbix --pkgname = zabbix-server-postgresql --pkgversion = 2.0.5 --pkgrelease = 0,1 --pkgsource = zabbix.com --maintainer = e-mail @ exemplu. net face instala
La ieșirea utilitarului obținem un pachet gata, ambalat în directorul sursă, dacă nu există alte instrucțiuni pe calea de salvare. Instalați pachetul primit:
# dpkg -i ./zabbix-server-postgresql_2.0.5-0.1_amd64.deb
Deci, serverul Zabbix este construit din codul sursă și este instalat în sistemul de fișiere. Acum, să creăm condițiile pentru lansarea sa.
Configurarea utilizatorul în numele serverul de lucru Zabbix a cărui (atunci când rulează în numele „root“ aplicație zabbix se va schimba pentru a lucra în mediul de predefinite de utilizator „zabbix“, dacă este disponibil, desigur - nu mai departe de acțiune pentru ca aceasta să facă nu este necesar):
# groupadd zabbix
# useradd - home-dir / var / lib / zabbix - shell / bin / false - gid zabbix zabbix
Creați directoare pentru utilizatorul zabbix și pentru fișierele jurnal de evenimente:
# mkdir -p / var / lib / zabbix
# mkdir -p / var / log / zabbix
Copiem scriptul de pornire al serverului Zabbix din colecția de scenarii pregătite, de exemplu, în arhiva codului sursă și îl corectăm în conformitate cu realitățile noastre:
# cp ./misc/init.d/debian/zabbix-server /etc/init.d/
Sau creem scriptul nostru executabil cu următorul conținut:
# touch /etc/init.d/zabbix-server
# chmod ugo + x /etc/init.d/zabbix-server
### INIȚI INIȚIA INFO
# Oferă: zabbix-server
# Required-Start: $ local_fs $ rețea
# Required-Stop: $ local_fs
# Default-Start: S
# Default-Stop: 0 6
# Short-Description: Porniți daemonul zabbix-server
### END INIT INFO
DAEMON = "/ usr / local / sbin / zabbix_server"
NAME = "zabbix_server"
DESC = "daemon de server Zabbix"
PID = "/ tmp / $ (NAME) .pid"
# Verificați fișierul executabil pentru pornirea serviciului
test -f $ DAEMON || ieșire 0
exportul PATH = "$ / usr / local / sbin: / usr / sbin: / sbin"
caz "$ 1" în
începe)
rm -f "$ PID"
echo "Pornind $ DESC"
start-stop-daemon -oknodo -start -pidfile "$ PID" --exec "$ DAEMON"> / dev / null 2> 1
;;
oprire)
ecou "Oprire $ DESC"
start-stop-daemon -oknodo -stop -pidfile "$ PID" --exec "$ DAEMON"
;;
reporniți | forța-reîncărcați)
Oprire de 0 $
dormi 2
Începeți $ 0
;;
*)
echo "Utilizare: $ 0"> 2
ieșirea 1
;;
ESAC
Ne prescriim scenariul pentru nivelurile de performanță necesare în sistem:
# update-rc.d pornirea serverului zabbix 10 2 3 4 5. oprirea 10 0 1 6.
Specificăm calea către directorul fișierelor din fișierul de configurare:
LogFile = / var / log / zabbix / zabbix_server.log
.
# Dimensiunea maximă a fișierului de jurnal în MB (rotație automată a jurnalului)
LogFileSize = 10
Specificăm în fișierul de configurare locația utilitarului fping:
Trebuie să setați fișierul executabil fping "suid" bit, astfel încât utilizatorii neprituviți pot folosi:
# chmod u + s / usr / bin / fping
alias fping = # 'fping -Sx.x.x.x #'
.
În acest stadiu, putem presupune că instalarea părții executabile a serverului de monitorizare ca atare a avut succes. Este încă prematur să porniți serverul, deoarece DBMS-ul în care vor fi stocate datele nu este pregătit.
Să configuram DBMS-ul din care va funcționa serverul Zabbix:
Mai întâi, specificăm setările de conectare pentru DBMS în serverul Zabbix (în fișierul de configurare zabbix_server.conf):
Să verificăm dacă serverele PostgreSQL rulează:
Dacă serverul nu funcționează, rulați-l:
În primul rând, "îmblânzim" DBMS-ul și îl aducem într-un singur sistem de autentificare. Aceasta este o soluție temporară, pentru accesul simplificat la configurația DBMS - câteva proceduri și vom ridica din nou bara de autentificare.
Setați utilizatorul la "postgres" (la nivelul sistemului de operare - se utilizează în același mod ca DBMS) parola dorită:
Să schimbăm metoda de autentificare a utilizatorului bazei de date "postgres" la "trust" în fișierul de configurare "/etc/postgres/8.4/main/pg_hba.conf". După aceasta, utilizatorul "postgres" poate intra fără o parolă. Reporniți DBMS-ul.
Introducem consola PostgreSQL în numele utilizatorului "postgres":
# psql -U postgres
Schimbăm / setăm utilizatorul "postgres" o parolă arbitrară folosind utilitarul consolei interactive:
# postgres = # modifica utilizatorul postgres cu parola # '***** #';
# postgres = # \ q
Setați pentru utilizator „postgres“ (și pentru toate celelalte opțiuni de intrare) în fișierul de configurare „/etc/postgres/8.4/main/pg_hba.conf“ metoda de autentificare „MD5“. Reporniți DBMS-ul.
Creați un utilizator în numele căruia serverul Zabbix va contacta DBMS-ul. Utilizatorul poate crea noi scheme (-d), nu va rădăcină, nu (-S) va avea posibilitatea de a schimba rolurile și drepturile utilizatorilor (-R) și nu va avea capacitatea de a schimba parolele de utilizator (-P):
# createuser - nume de utilizator postgres --pwprompt -d -S -R -P zabbix
Introduceți parola pentru un nou rol: *****
Introduceți-l din nou: *****
Parola: *****
Este clar că mai întâi introducem de două ori parola pentru noul cont DBMS și pentru a treia oară menționăm parola utilizatorului "postgres", în numele căruia efectuăm operațiile necesare.
Dacă mai târziu ne dăm seama că parola utilizatorului nu ne este potrivită, atunci în consolă psql va fi posibilă modificarea acesteia utilizând utilitarul interactiv CLI DBMS:
# psql -U postgres
# postgres = # \ parola zabbix
# postgres = # \ q
Acum, că am stabilit o relație de monitorizare server și utilizatorii bazei de date, de a crea o schemă (baze de date), care, în viitor, vom lucra cu o indicație pozitivă a codificării dorit:
# createdb - numele de utilizator zabbix -E UTF8 zabbix
Folosind următoarea comandă, vom putea verifica dacă schema dorită cu parametrii necesari este creată pentru un anumit utilizator:
# psql -U postgres -l
Concluzia, după cum urmează, va arăta că schema este creată cu succes:
Lista de baze de date
Nume | Proprietar | Codare
----------+----------+----------
postgres | postgres | UTF8
.
zabbix | zabbix | UTF8
Dacă instalarea este primară, trebuie să creați un set de tabele cu un set de date care descriu schema de monitorizare "implicit". Pentru a umple "baza de date" creată anterior în setul de distribuție, există scripturi cu seturile corespunzătoare de comenzi ale limbajului SQL - executându-le, vom umple baza de date creată cu următoarele informații:
# cd /usr/src/zabbix-2.0.5
# cat ./database/postgresql/data.sql | psql - numele de utilizator zabbix zabbix
# cat ./database/postgresql/images.sql | psql - numele de utilizator zabbix zabbix
# cat ./database/postgresql/schema.sql | psql - numele de utilizator zabbix zabbix
Dacă actualizăm un server de monitorizare deja funcțional și avem o cantitate mare de informații în baza de date, atunci trebuie să trecem prin etapele de ajustare a structurii de date pentru a se potrivi noii sale versiuni a sistemului de monitorizare. Acest lucru vă sugerez să citiți într-o altă notă: Zabbix 1.8 => 2.0.
Sistemul de monitorizare a bazelor de date este actualizat continuu, foarte activ - se creează o mulțime de înregistrări, se elimină mai puțină masă, se lasă "goluri" în fișierele DBMS, fragmentându-le foarte mult; „Implicite“ setări în șase luni blochează scădere semnificativă în baza de date de performanță în ansamblul său, însoțit, în plus, un consum irațional de spațiu în sistemul de fișiere al serverului. Pentru a compensa aceste probleme în PostgreSQL, există un subsistem de "evacuare", pe care îl puteți citi despre instalarea aici: Zabbix + Housekeeper.
Acum, după crearea unei structuri de date pentru un sistem de monitorizare nou instalat sau după transformarea datelor existente într-un format nou, puteți porni sau reporni serverul Zabbix (dacă a fost oprit anterior):
Puteți verifica corectitudinea pornirii serverului Zabbix în jurnalul "/var/log/zabbix/zabbix_server.log".
Nu vreau să extind configurația ulterioară a lui Zabbix, deja de pe interfața web. Acest subiect este voluminos, vreau să fac totul pentru ea timp de trei ani, dar se pare că timpul nu va veni niciodată. Voi menționa doar câteva puncte preliminare ale înființării site-ului "Zabbix".
Dacă vrem să avem un server Zabbix actualizat cu panoul de control web corespunzător, atunci luăm unul din setul de distribuție cu codurile sursă - este în directorul "frontends":
Copiem conținutul directorului "./frontends/php/" în locul în care va fi localizat site-ul nostru - panoul de gestionare Zabbix web.
Am atribuit configurația acestui "site" serverului web pe care îl folosim (Apache, Nginx). Oferim suport pentru executarea scripturilor PHP.
Oferim suport în rețeaua de nume de domeniu corespunzător.
Vă recomandăm să rulați panoul web Zabbix sub serverul web Nginx. Știu că dezvoltatorii descriu configurația pentru Apache în ghidul de instalare, dar în practica mea Ngix + FastCGI arată performanțe semnificativ mai bune, cu un consum redus de resurse. Puteți citi despre el aici: Zabbix + Nginx.
După ce vom folosi browserul web pentru a accesa panoul de control Zabbix, configuratorul va porni automat (desigur, acest lucru se va întâmpla dacă panoul de control nu este deja configurat). Imediat trebuie să setați setările interpretului PHP (php.ini) la valoarea parametrului "timezone" (luăm din fișierul de sistem / etc / timezone) și timpul maxim de execuție a script-urilor este de cel puțin 300 (trei sute) secunde. Ne satisfacem cererile, deoarece mai puțin Zabbix este de acord:
date.timezone = Țară / Oraș
max_execution_time = 300
.
Reporniți serverul web. Verificăm conectarea la DBMS.
Configuratorul ne va cere să introduceți numele serverului și portul pe care va accepta conexiunile clientului. Nu fi inteligent și faceți confuzie - lăsați numărul de port sugerat de dezvoltatori: "10051".
Asta e tot. Setarea inițială a fost finalizată. Numele utilizatorului administrativ pentru login-ul implicit este "Admin", parola este goală sau "zabbix".
În cele din urmă, protejăm resursele serverului de utilizatori neprofitabili:
# chown zabbix: zabbix /usr/local/etc/zabbix_server.conf
# chmod o-rwx /usr/local/etc/zabbix_server.conf
# chown -R zabbix: zabbix / var / lib / zabbix
# chmod -Ro-rwx / var / lib / zabbix
# chown -R zabbix: zabbix / var / log / zabbix
# chmod -Ro-rwx / var / log / zabbix
[a fost deja vizitat: 14851] [cota: • • • • •]