Hapi 1: Shtoni depon e Sensu
Hapi 2: Instaloni shtojcat e nevojshme
Hapi 3: Shtoni skedarë konfigurimi
Hapi 4: Jepni leje përdoruesit sensu
Në udhëzuesin " Si të instaloni dhe konfiguroni monitorimin e Sensu në CentOS 7 ", mësuat se si të konfiguroni një server Sensu. Ky tutorial është pjesa e dytë, ku do të mësoni se si të shtoni një klient Sensu. Një klient Sensu është një server që Sensu monitoron.
Unë supozoj se klienti Sensu është një makinë virtuale CentOS 7. Hyni në SSH dhe ndiqni hapat e mëposhtëm. Nuk do t'ju duhet të ndryshoni asgjë në serverin Sensu. Për sa kohë që klienti Sensu vërtetohet me sukses me serverin Sensu, kontrollet do të ekzekutohen automatikisht.
Përpara se të fillojmë, sigurohuni që muri juaj i zjarrit të jetë konfiguruar saktë. Me një konfigurim të paracaktuar, hapni portet dalëse TCP 5671dhe 5672.
Hapi 1: Shtoni depon e Sensu
Paketa sensu-clientnuk është në magazinat e paracaktuar të CentOS. Shtoni depon duke ngjitur përmbajtjen e mëposhtme në skedar /etc/yum.repos.d/sensu.repo:
[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
gpgcheck=0
enabled=1
Më pas, përditësoni yumdhe instaloni sensu-client:
yum update
yum install sensu
Të gjitha shërbimet ( sensu-server, sensu-clientdhe sensu-api) do të instalohen duke instaluar sensupaketën. Ju mund t'i injoroni me siguri të gjitha shërbimet, përveç atyre sensu-clientqë ne do të përdorim. Mos e nisni ende shërbimin.
Hapi 2: Instaloni shtojcat e nevojshme
Modeli i Sensu-së është të shpërndajë ngarkesën mbi klientët që rezulton nga ekzekutimi i kontrolleve dhe shtytja e rezultateve të kontrollit. Si rezultat, ju duhet të instaloni shtojcat Sensu në vetë klientët dhe jo në serverin Sensu. Disa shtojca janë përpiluar në nivel lokal, që do të thotë se do të na duhen mjete ndërtimi për klientët:
yum groupinstall "Development tools"
Shtojcat e mëposhtme janë shumë të njohura dhe përdoren për shumë kontrolle. Ekzekutoni secilën nga këto komanda për të instaluar shtojcat pasi të jenë instaluar paketat e mjeteve të zhvillimit. Në varësi të madhësisë së serverit tuaj, kjo mund të marrë pak kohë:
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
Hapi 3: Shtoni skedarë konfigurimi
Ne do të shtojmë katër skedarë konfigurimi te klienti Sensu.
/etc/sensu/conf.d/client.json:
Ky skedar përmban abonime, adresën IP për klientin Sensu dhe emrin e klientit. Zëvendësoni vlerat ipaddressdhe hostnameme vlerat që përshkruajnë klientin që po shtoni. Gjithashtu, specifikoni abonimet e përcaktuara në serverin Sensu ose, nëse nuk keni, hiqni të gjithë subscriptionsseksionin. Mos harroni të hiqni presjen pasi nametë bëni:
{
"client": {
"address": "-----ipaddress-----",
"environment": "production",
"name": "-----hostname-----",
"subscriptions": [
"linux"
]
}
}
/etc/sensu/conf.d/transport.json:
Në këtë skedar, ne përcaktojmë transportin e përdorur. Si parazgjedhje, transporti i përdorur është RabbitMQ. Ngjitni përmbajtjen e mëposhtme në skedar. Asnjë vlerë nuk duhet të ndryshohet:
{
"transport": {
"name": "rabbitmq",
"reconnect_on_error": true
}
}
/etc/sensu/conf.d/rabbitmq.json:
Serveri RabbitMQ dhe kredencialet janë të specifikuara në këtë skedar. Zëvendësojeni hostnameme emrin DNS. Si parazgjedhje, porti është 5672për lidhje të pakriptuara. Përdoruesi dhe fjalëkalimi i RabbitMQ duhet të zëvendësohen gjithashtu. Këto detaje mund të ndryshojnë për çdo klient Sensu ose të jenë të njëjta për të gjithë klientët. Ky është një vendim praktik që merret nga përdoruesi.
vhostËshtë /nga default, por ajo është ndryshuar shpesh /sensu. Nëse nuk jeni të sigurt se cilin të përdorni, provoni të dyja:
{
"rabbitmq": {
"host": "-----hostname-----",
"password": "-----rabbitmq_password-----",
"port": 5672,
"user": "-----username-----",
"vhost": "/sensu"
}
}
/etc/sensu/conf.d/checks.json:
Sensu mbështet dy lloje kontrollesh: kontrolle të pavarura dhe kontrolle të abonimit. Kontrollet e abonimit përcaktohen në serverin Sensu dhe abonimet përcaktohen në client.jsonskedarin e një klienti Sensu. Kontrollet e pavarura janë kontrolle që përcaktohen në vetë klientët e Sensu. Këto janë zakonisht kontrolle që zbatohen vetëm për një server specifik. Për shembull, një kontroll që do të ishte në një abonim është një kontroll për të parë nëse serveri i uebit po funksionon ende. Një kontroll i pavarur mund të jetë një kontroll për të parë nëse serveri A mund të arrijë serverin B. Asnjë server tjetër nuk ka nevojë për atë kontroll.
Kontrollet e pavarura janë përcaktuar në këtë skedar. Më poshtë do të gjeni një shembull të një checks.jsonskedari me disa shembuj kontrollesh të pavarura:
{
"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
}
}
}
Pasi të keni përfunduar konfigurimin e klientit Sensu, ndryshoni të drejtat:
chown -R sensu:sensu /etc/sensu/conf.d
Hapi 4: Jepni lejet sensupërdoruesit
Kontrollet kryhen si përdorues sensu. Natyrisht, ky përdorues ka të drejta të kufizuara. Megjithatë, disa kontrolle kanë nevojë rootpër leje për t'u ekzekutuar. Ne do ta lejojmë përdoruesin sensutë kryejë çdo kontroll, rootpor të kufizojë lejet e tjera të tij.
Ngjitni përmbajtjen e mëposhtme në skedar /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 *
Dy rreshtat e parë përcaktojnë shtegun e paracaktuar që ju lejon të specifikoni vetëm emrin e skriptit në komandën e kontrollit dhe jo të gjithë shtegun. Për shembull, thjesht përdorimi i komandës sudo check-process.rb -p mysqlddo të funksionojë pa pasur nevojë të specifikoni të gjithë shtegun ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).
Linjat e tjera lejojnë sensupërdoruesin të ekzekutojë çdo skript kontrolli si root.
Më në fund, filloni sensu-clientshërbimin dhe filloni automatikisht në nisje:
systemctl start sensu-client
systemctl enable sensu-client
Nëse keni të instaluar Uchiwa, klienti i ri duhet të shfaqet në listë. Nëse jo, korrigjoni gabimet sensu-clientduke inspektuar skedarin e regjistrit/var/log/sensu/sensu-client.log