Zabbix ja Google Cloud
Juri Kononov A31
Sissejuhatus
Selle kirjatises paneme Zabbix Serveri ja sidume teda kahe kliendiga, kus jooksevad teenusserverid. Serverite platsiks kasutame GoogleCloud VM.
mon.planet.zz - monitoorimisserver (Ubuntu 14.10, f1-micro)
apollo.planet.zz - esimene teenusserver (Debian, g1-small)
bravo.planet.zz - teine server (Ubuntu 12.02, g1-small)
f1-micro
Mälu: 0.60 GB
CPU arv: 1 tk.
f1-micro
Mälu: 1.70 GB
CPU arv: 1 tk.
Zabbix on lihtne mugav ja multifunktsionaalse monitoorimistarkvara mis on ka vabavara. Konkreetse näite põhjal seadistame Zabbixi selleks, et jälgida koormust (CPU, Mälu, Võrk) ja kättesaadavust serveritel.
NB! selles näites reaalne domeini nimi on asendatud planet.zz iga
Google Cloud Serveri ettevalmistus
Projecti maksumuse arvutamiseks võib abiks olla "Google Cloud Platform Pricing Calculator": https://cloud.google.com/products/calculator/
Selleks, et serveriga ühendust saada vajuta serveri vastas oleva SSH märgi peale. Avab uus veebilehitseja aken, kus on SSH session.
Google Cloud DNS Seadistamine ja kirjete lisamine
Kuidas seadistada Google Cloud DNS nullist saate lugeda siin:
Niimodi näeb Google SDK päring meie näite põhjal (P.S. selles näites reaalne domeini nimi on asendatud planet.zz iga) Additions:
[ { "kind": "dns#resourceRecordSet", "name": "planet.zz.", "rrdatas": [ "222.155.6.64" ], "ttl": 86400, "type": "A" }, { "kind": "dns#resourceRecordSet", "name": "planet.zz.", "rrdatas": [ "1 aspmx.l.google.com.", "5 alt1.aspmx.l.google.com.", "5 alt2.aspmx.l.google.com.", "10 alt3.aspmx.l.google.com.", "10 alt4.aspmx.l.google.com." ], "ttl": 86400, "type": "MX" }, { "kind": "dns#resourceRecordSet", "name": "planet.zz.", "rrdatas": [ "ns-cloud-e1.googledomains.com.", "ns-cloud-e2.googledomains.com.", "ns-cloud-e3.googledomains.com.", "ns-cloud-e4.googledomains.com." ], "ttl": 21600, "type": "NS" }, { "kind": "dns#resourceRecordSet", "name": "planet.zz.", "rrdatas": [ "ns-cloud-e1.googledomains.com. dns-admin.google.com. 4 21600 3600 1209600 300" ], "ttl": 21600, "type": "SOA" }, { "kind": "dns#resourceRecordSet", "name": "apollo.planet.zz.", "rrdatas": [ "23.252.162.151" ], "ttl": 86400, "type": "A" }, { "kind": "dns#resourceRecordSet", "name": "bravo.planet.zz.", "rrdatas": [ "230.251.133.15" ], "ttl": 21600, "type": "A" }, { "kind": "dns#resourceRecordSet", "name": "mon.planet.zz.", "rrdatas": [ "144.145.122.245" ], "ttl": 86400, "type": "A" }, { "kind": "dns#resourceRecordSet", "name": "www.planet.zz.", "rrdatas": [ "14.15.6.4" ], "ttl": 86400, "type": "A" } ] [ { "kind": "dns#resourceRecordSet", "name": "planet.zz.", "rrdatas": [ "14.15.6.4" ], "ttl": 86400, "type": "A" }, { "kind": "dns#resourceRecordSet", "name": "planet.zz.", "rrdatas": [ "1 aspmx.l.google.com.", "5 alt1.aspmx.l.google.com.", "5 alt2.aspmx.l.google.com.", "10 alt3.aspmx.l.google.com.", "10 alt4.aspmx.l.google.com." ], "ttl": 86400, "type": "MX" }
Zabbixi Server Paigaldus
Ühendame mon.planet.zz serveriga (SSH nupp paremal pool serverite nimekirjas)
Lisame source.lists faili kirjed:
nano /etc/apt/sources.list
sources.list lõppu:
# Zabbix Application PPA deb http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main deb-src http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main
Lisame PPA võti, et server usaldaks allikat:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C407E17D5F76A32B
Installime Zabbix serveri ja vajalike pakette. NB! Veenduge, et serverisse ei ole varakult installitud Apache2 või MySQL-server pakke, see võib tekkitada probleeme. NB! Instaleerimise käigus sa pead sisestama MySQL-Serveri root kasutaja parooli, kindlaste jätta seda meetde või pane kuhugi kirja:
apt-get update apt-get install zabbix-server-mysql php5-mysql zabbix-frontend-php
Mõndates Google Cloud Nodides ei saa kasutada võõraid PPA servereid. Selleks, et ilma PPA serverita installida teenust kasuta:
apt-get update apt-get install php5-mysql cd /tmp wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_2.4.3-1+trusty_amd64.deb wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_2.4.3-1+trusty_all.deb dpkg -i zabbix-server-mysql_2.4.3-1+trusty_amd64.deb dpkg -i zabbix-frontend-php_2.4.3-1+trusty_all.deb
Kui te installite Zabbix Serveri Debian OS-i siis, selleks hetkeks teil on veateade, mis ütleb, et libc6 on vana versiooni. Selle probleemi lahendamiseks käivitage käsk:
apt-get -f install
Järgmisena, muudame Zabbix serveri settinguid:
nano /etc/zabbix/zabbix_server.conf
zabbix_server.conf-i failis leia järgmised ja vaheta sinu jaoks sobivaks
DBName=zabbix DBUser=zabbix DBPassword=sinu_parool_on_siis
Järgmisena pakkime lahti SQL backupid.
cd /usr/share/zabbix-server-mysql/ gunzip *.gz
Ühendame MySQL Serveriga
mysql -u root -p
JA tekkitame kasutaja ja andmebaasi mida varem kirjeldasime zabbix_server.confis:
create user 'zabbix'@'localhost' identified by 'sinu_parool_on_siis'; create database zabbix; grant all privileges on zabbix.* to 'zabbix'@'localhost'; flush privileges; exit;
Impordime SQL Dumpid:
mysql -u zabbix -p zabbix < schema.sql mysql -u zabbix -p zabbix < images.sql mysql -u zabbix -p zabbix < data.sql
Muudame paar PHP seadet:
nano /etc/php5/apache2/php.ini
php.ini failis leia ja muuda järgmised kirjed:
post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = "Europe/Riga"
Veenduge, et teie serviri TimeZone on sama mis selles konfiguratsiooni failis.
Kopeerime conf faili näidisfailist ja muudame:
cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php nano /etc/zabbix/zabbix.conf.php
zabbix.conf.php
$DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'sinu_parool_on_siis'
Kopeerime Apache config faili apache kausta ja loome alias.
cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf-available/zabbix.conf a2enconf zabbix.conf a2enmod alias service apache2 restart
Muudame failis /etc/default/zabbix-server START=yes -iks
nano /etc/default/zabbix-server
Käivitame server
service zabbix-server start
Zabbixi Agenti Paigaldus
Installime agenti apollo.planet.zz ja bravo.planet.zz serveritesse
Lisame source.lists faili kirjed:
nano /etc/apt/sources.list
sources.list lõppu:
# Zabbix Application PPA deb http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main deb-src http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main
Lisame PPA võti, et server usaldaks allikat:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C407E17D5F76A32B
agenti
apt-get update apt-get install zabbix-agent
Mõndates Google Cloud Nodides ei saa kasutada võõraid PPA servereid. Selleks, et ilma PPA serverita installida teenust kasuta:
apt-get update cd /tmp wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix/zabbix-agent_2.4.3-1+trusty_i386.deb dpkg -i zabbix-agent_2.4.3-1+trusty_i386.deb apt-get -f install
Muudame agenti kofiguratsioone:
nano /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.conf failis leida ja asendada sobivaks:
Server=mon.planet.zz Hostname=siia_pange_õige_masina_hostname_ilma_planet.zz
Agentide Seadistamine Zabbix Serveri veebiliidesses
Kuna kasutame Google Cloude VM, mesinad veel ei ilmu Monitoorimisserveris.
Google Cloud Firewall Settings
Nüüd me peame avama pordid selleks, et tenused saaksid omavahel ühendust.
Agent masinate jaoks (apollo.planet.zz ja bravo.planet.zz):
1. Google Developer Consolis VM Instances nimekirjas klikime vastava serveri võrgu adapteri peale (vaikimise nimi on "default") 2. Firewall rules alla vajutame "Create new" 3. "Name" ja "Discription" paneme Zabbix-Agent "Protocols & Ports": tcp:10050 4. Vajutame "Save". Ühe minuti jooksul avatakse port.
Monitoorimisserveri jaoks (mon.planet.zz):
1. Google Developer Consolis VM Instances nimekirjas klikime vastava serveri võrgu adapteri peale (vaikimise nimi on "default") 2. Firewall rules alla vajutame "Create new" 3. "Name" ja "Discription" paneme Zabbix-Agent "Protocols & Ports": tcp:10051 4. Vajutame "Save". Ühe minuti jooksul avatakse port.
Maksimum viie minuti jooksul agentid saavad ühendust Zabbix serveriga. Saate kontrollida seda veebiliideses: http://mon.planet.zz/zabbix
Kokkuvõte
Zabbix on mugav ja lihtne monitoorimistarkvara väga lihtsa paigaldamisega ja seadistamisega, aga Google Cloud eripärade pärase see protsess võib natuke raskemaks minna. Selles artiklis aga lahendasime enamus neid eripärasid ära.