Korak 1: Dodajte Sensu spremište
Korak 2: Instalirajte potrebne dodatke
Korak 3: Dodajte konfiguracijske datoteke
Korak 4: Dajte dopuštenja sensu korisniku
U vodiču " Kako instalirati i konfigurirati Sensu Monitoring na CentOS 7 ", naučili ste kako postaviti Sensu poslužitelj. Ovaj vodič je drugi dio, gdje ćete naučiti kako dodati Sensu klijenta. Sensu klijent je poslužitelj koji Sensu nadzire.
Pretpostavljam da je Sensu klijent virtualni stroj CentOS 7. Prijavite se na SSH i slijedite dolje navedene korake. Nećete morati ništa mijenjati na poslužitelju Sensu. Sve dok se Sensu klijent uspješno autentifikuje sa Sensu poslužiteljem, provjere će se automatski izvršavati.
Prije nego što počnemo, provjerite je li vaš vatrozid ispravno konfiguriran. Uz zadano postavljanje, otvorite odlazne TCP portove 5671i 5672.
Korak 1: Dodajte Sensu spremište
Paket sensu-clientse ne nalazi u zadanim CentOS spremištima. Dodajte spremište lijepljenjem sljedećeg sadržaja u datoteku /etc/yum.repos.d/sensu.repo:
[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
gpgcheck=0
enabled=1
Zatim ažurirajte yumi instalirajte sensu-client:
yum update
yum install sensu
Sve usluge ( sensu-server, sensu-clienti sensu-api) bit će instalirane instalacijom sensupaketa. Možete sa sigurnošću zanemariti sve usluge osim onih sensu-clientkoje ćemo koristiti. Nemojte još pokretati uslugu.
Korak 2: Instalirajte potrebne dodatke
Sensuov model je raspodijeliti opterećenje na klijente koje proizlazi iz izvršavanja provjera i guranja rezultata provjere. Kao rezultat toga, morate instalirati Sensu dodatke na same klijente, a ne na Sensu poslužitelj. Neki dodaci se kompiliraju lokalno, što znači da će nam trebati alati za izgradnju na klijentima:
yum groupinstall "Development tools"
Sljedeći dodaci su vrlo popularni i koriste se za mnoge provjere. Izvršite svaku od ovih naredbi za instalaciju dodataka nakon što se instaliraju paketi razvojnih alata. Ovisno o veličini vašeg poslužitelja, ovo može potrajati:
sensu-install -p uptime-checks
sensu-install -p process-checks
sensu-install -p http
sensu-install -p filesystem-checks
sensu-install -p cpu-checks
sensu-install -p memory-checks
sensu-install -p disk-checks
sensu-install -p load-checks
sensu-install -p network-checks
Korak 3: Dodajte konfiguracijske datoteke
Sensu klijentu ćemo dodati četiri konfiguracijske datoteke.
/etc/sensu/conf.d/client.json:
Ova datoteka sadrži pretplate, IP adresu za Sensu klijenta i ime klijenta. Zamijenite vrijednosti ipaddressi hostnamevrijednostima koje opisuju klijenta kojeg dodajete. Također navedite pretplate definirane na poslužitelju Sensu ili, ako ih nemate, uklonite cijeli subscriptionsodjeljak. Nemojte zaboraviti ukloniti zarez nakon name:
{
"client": {
"address": "-----ipaddress-----",
"environment": "production",
"name": "-----hostname-----",
"subscriptions": [
"linux"
]
}
}
/etc/sensu/conf.d/transport.json:
U ovoj datoteci definiramo korišteni transport. Prema zadanim postavkama, korišteni transport je RabbitMQ. Zalijepite sljedeći sadržaj u datoteku. Vrijednosti se ne moraju mijenjati:
{
"transport": {
"name": "rabbitmq",
"reconnect_on_error": true
}
}
/etc/sensu/conf.d/rabbitmq.json:
RabbitMQ poslužitelj i vjerodajnice navedeni su u ovoj datoteci. Zamijenite hostnameDNS imenom. Prema zadanim postavkama, port je 5672za nešifrirane veze. RabbitMQ korisnika i lozinku također treba zamijeniti. Ovi se detalji mogu razlikovati za svakog Sensu klijenta ili biti isti za sve klijente. Ovo je praktična odluka koju donosi korisnik.
vhostJe /po defaultu, ali često se mijenja u /sensu. Ako niste sigurni što koristiti, pokušajte oboje:
{
"rabbitmq": {
"host": "-----hostname-----",
"password": "-----rabbitmq_password-----",
"port": 5672,
"user": "-----username-----",
"vhost": "/sensu"
}
}
/etc/sensu/conf.d/checks.json:
Sensu podržava dvije vrste provjera: samostalne provjere i provjere pretplate. Provjere pretplate definirane su na poslužitelju Sensu, a pretplate su definirane u client.jsondatoteci na Sensu klijentu. Samostalne provjere su provjere koje su definirane na samim Sensu klijentima. To su obično provjere koje se odnose samo na jedan određeni poslužitelj. Na primjer, provjera koja bi bila u pretplati je provjera da se vidi radi li web poslužitelj još uvijek. Samostalna provjera mogla bi biti provjera može li poslužitelj A doprijeti do poslužitelja B. Nijedan drugi poslužitelj ne treba tu provjeru.
Samostalne provjere definirane su u ovoj datoteci. U nastavku ćete pronaći primjer checks.jsondatoteke s nekim primjerima samostalnih provjera:
{
"checks": {
"httpd": {
"command": "sudo check-process.rb -p httpd",
"handlers": [
"default",
"pushover"
],
"interval": 180,
"occurences": 3,
"refresh": "1800",
"standalone": true,
"ttl": 1200
},
"mysqld": {
"command": "sudo check-process.rb -p mysqld",
"handlers": [
"default",
"pushover"
],
"interval": 180,
"occurences": 3,
"refresh": "1800",
"standalone": true,
"ttl": 1200
}
}
}
Nakon što završite konfiguraciju Sensu klijenta, promijenite prava:
chown -R sensu:sensu /etc/sensu/conf.d
Korak 4: Dajte dopuštenja sensukorisniku
Provjere se izvršavaju kao korisnik sensu. Naravno, ovaj korisnik ima ograničena prava. Međutim, neke provjere trebaju rootdopuštenja za izvršenje. Dopustit ćemo korisniku sensuda izvrši bilo kakvu provjeru, rootali ograničit ćemo njegova druga dopuštenja.
Zalijepite sljedeći sadržaj u datoteku /etc/sudoers.d/sensu:
Defaults:sensu
secure_path=/opt/sensu/embedded/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
sensu ALL=(ALL) NOPASSWD: /opt/sensu/embedded/bin/check*.rb *
sensu ALL=(ALL) NOPASSWD: /opt/sensu/embedded/bin/metrics*.rb *
Prva dva retka definiraju zadani put koji vam omogućuje da u naredbi provjere navedete samo naziv skripte, a ne cijeli put. Na primjer, jednostavno korištenje naredbe sudo check-process.rb -p mysqldfunkcionirat će bez navođenja cijele staze ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).
Ostali redovi omogućuju sensukorisniku da izvrši bilo koju skriptu provjere kao root.
Konačno, pokrenite sensu-clientuslugu i automatski je pokrenite pri pokretanju:
systemctl start sensu-client
systemctl enable sensu-client
Ako imate instaliranu Uchiwa, novi klijent bi se trebao pojaviti na popisu. Ako nije, otklonite pogreške sensu-clientpregledom datoteke dnevnika/var/log/sensu/sensu-client.log