1. lépés: Adja hozzá a Sensu adattárat
2. lépés: Telepítse a szükséges bővítményeket
3. lépés: Adjon hozzá konfigurációs fájlokat
4. lépés: Adjon engedélyeket a sensu felhasználónak
A " Sensu Monitoring telepítése és konfigurálása CentOS 7 rendszeren " című útmutatóban megtanulta, hogyan kell beállítani egy Sensu-kiszolgálót. Ez az oktatóanyag a második rész, amelyben megtudhatja, hogyan adhat hozzá Sensu klienst. A Sensu kliens egy olyan szerver, amelyet a Sensu figyel.
Feltételezem, hogy a Sensu kliens egy CentOS 7 virtuális gép. Jelentkezzen be az SSH-ba, és kövesse az alábbi lépéseket. Nem kell semmit módosítania a Sensu szerveren. Mindaddig, amíg a Sensu kliens sikeresen hitelesíti a Sensu szervert, az ellenőrzések automatikusan végrehajtásra kerülnek.
Mielőtt elkezdené, győződjön meg arról, hogy a tűzfal megfelelően van konfigurálva. Alapértelmezett beállítás esetén nyissa meg a kimenő TCP-portokat 5671és 5672.
1. lépés: Adja hozzá a Sensu adattárat
A csomag sensu-clientnem található az alapértelmezett CentOS-tárolókban. Adja hozzá a tárat a következő tartalom beillesztésével a fájlba /etc/yum.repos.d/sensu.repo:
[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
gpgcheck=0
enabled=1
Ezután frissítse yumés telepítse sensu-client:
yum update
yum install sensu
A csomag telepítésével minden szolgáltatás ( sensu-server, sensu-clientés sensu-api) telepítésre kerül sensu. Nyugodtan figyelmen kívül hagyhatja az összes szolgáltatást, kivéve azokat, sensu-clientamelyeket használni fogunk. Még ne indítsa el a szolgáltatást.
2. lépés: Telepítse a szükséges bővítményeket
A Sensu modellje az ellenőrzések végrehajtásából és az ellenőrzési eredmények leküldéséből származó terhelés elosztása az ügyfelek között. Ennek eredményeként a Sensu beépülő modulokat magukra az ügyfelekre kell telepítenie, nem pedig a Sensu szerverére. Egyes bővítményeket helyileg fordítanak le, ami azt jelenti, hogy szükségünk lesz a kliensekre építő eszközökre:
yum groupinstall "Development tools"
A következő bővítmények nagyon népszerűek, és számos ellenőrzésre használják. A fejlesztői eszközcsomagok telepítése után hajtsa végre ezeket a parancsokat a bővítmények telepítéséhez. A szerver méretétől függően ez eltarthat egy ideig:
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
3. lépés: Adjon hozzá konfigurációs fájlokat
Négy konfigurációs fájlt fogunk hozzáadni a Sensu klienshez.
/etc/sensu/conf.d/client.json:
Ez a fájl tartalmazza az előfizetéseket, a Sensu kliens IP-címét és az ügyfél nevét. Cserélje ki a ipaddressés hostnameaz értékeket olyan értékekkel, amelyek leírják a hozzáadni kívánt ügyfelet. Ezenkívül adja meg a Sensu szerveren meghatározott előfizetéseket, vagy ha nem rendelkezik ilyennel, távolítsa el a teljes subscriptionsrészt. Ne felejtse el eltávolítani a vesszőt, nameha ezt teszi:
{
"client": {
"address": "-----ipaddress-----",
"environment": "production",
"name": "-----hostname-----",
"subscriptions": [
"linux"
]
}
}
/etc/sensu/conf.d/transport.json:
Ebben a fájlban meghatározzuk a használt szállítást. Alapértelmezés szerint a használt szállítás a RabbitMQ. Illessze be a következő tartalmat a fájlba. Az értékeket nem kell módosítani:
{
"transport": {
"name": "rabbitmq",
"reconnect_on_error": true
}
}
/etc/sensu/conf.d/rabbitmq.json:
A RabbitMQ szerver és a hitelesítési adatok ebben a fájlban vannak megadva. Cserélje hostnamele a DNS-névvel. Alapértelmezés szerint a port 5672a titkosítatlan kapcsolatokra szolgál. A RabbitMQ felhasználót és jelszót is le kell cserélni. Ezek az adatok az egyes Sensu ügyfeleknél eltérőek lehetnek, vagy minden ügyfél esetében azonosak lehetnek. Ez egy gyakorlati döntés, amelyet a felhasználó hozza meg.
Az vhostaz /alapértelmezés, de gyakran változott /sensu. Ha nem biztos benne, hogy melyiket használja, próbálja ki mindkettőt:
{
"rabbitmq": {
"host": "-----hostname-----",
"password": "-----rabbitmq_password-----",
"port": 5672,
"user": "-----username-----",
"vhost": "/sensu"
}
}
/etc/sensu/conf.d/checks.json:
A Sensu kétféle ellenőrzést támogat: az önálló csekket és az előfizetési ellenőrzéseket. Az előfizetések ellenőrzése a Sensu szerveren, az előfizetések pedig client.jsona Sensu kliens fájljában vannak meghatározva . Az önálló ellenőrzések olyan ellenőrzések, amelyeket maguk a Sensu kliensek határoznak meg. Ezek általában olyan ellenőrzések, amelyek csak egy adott szerverre vonatkoznak. Például az előfizetésben szereplő ellenőrzés annak ellenőrzése, hogy a webszerver még mindig fut-e. Az önálló ellenőrzés annak ellenőrzése lehet, hogy az A szerver eléri-e a B szervert. Más kiszolgálónak nincs szüksége erre az ellenőrzésre.
Ebben a fájlban az önálló ellenőrzések vannak meghatározva. Az alábbiakban példát talál egy checks.jsonfájlra néhány példa önálló ellenőrzéssel:
{
"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
}
}
}
Miután befejezte a Sensu kliens konfigurálását, módosítsa a jogokat:
chown -R sensu:sensu /etc/sensu/conf.d
4. lépés: Adjon engedélyeket a sensufelhasználónak
Az ellenőrzéseket felhasználóként hajtják végre sensu. Természetesen ennek a felhasználónak korlátozott jogai vannak. Egyes ellenőrzések rootvégrehajtásához azonban engedélyekre van szükség . Lehetővé tesszük a felhasználónak sensu, hogy bármilyen ellenőrzést végrehajtson, rootde korlátozzuk a többi engedélyét.
Illessze be a következő tartalmat a fájlba /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 *
Az első két sor határozza meg az alapértelmezett elérési utat, amely lehetővé teszi, hogy a teljes elérési út helyett csak a szkript nevét adja meg a check parancsban. Például a parancs egyszerű használata sudo check-process.rb -p mysqldanélkül működik, hogy meg kellene adnia a teljes elérési utat ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).
A többi sor lehetővé teszi a sensufelhasználó számára, hogy bármilyen ellenőrző szkriptet végrehajtson root.
Végül indítsa el a sensu-clientszolgáltatást, és indítsa el automatikusan a rendszerindításkor:
systemctl start sensu-client
systemctl enable sensu-client
Ha telepítve van az Uchiwa, az új kliensnek meg kell jelennie a listában. Ha nem, akkor sensu-clienta naplófájl ellenőrzésével végezze el a hibakeresést/var/log/sensu/sensu-client.log