Корак 1: Додајте Сенсу спремиште
Корак 2: Инсталирајте потребне додатке
Корак 3: Додајте конфигурационе датотеке
Корак 4: Дајте дозволе кориснику сенсу
У водичу „ Како да инсталирате и конфигуришете Сенсу надгледање на ЦентОС 7 “, научили сте како да подесите Сенсу сервер. Овај водич је други део, где ћете научити како да додате Сенсу клијента. Сенсу клијент је сервер који Сенсу надгледа.
Претпостављам да је Сенсу клијент ЦентОС 7 виртуелна машина. Пријавите се на ССХ и следите доле наведене кораке. Нећете морати ништа да мењате на Сенсу серверу. Све док се Сенсу клијент успешно аутентификује са Сенсу сервером, провере ће се аутоматски извршавати.
Пре него што почнемо, уверите се да је ваш заштитни зид исправно конфигурисан. Са подразумеваним подешавањем, отворите одлазне ТЦП портове 5671и 5672.
Корак 1: Додајте Сенсу спремиште
Пакет sensu-clientсе не налази у подразумеваним ЦентОС репозиторијумима. Додајте спремиште тако што ћете налепити следећи садржај у датотеку /etc/yum.repos.d/sensu.repo:
[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
gpgcheck=0
enabled=1
Затим ажурирајте yumи инсталирајте sensu-client:
yum update
yum install sensu
Све услуге ( sensu-server, sensu-clientи sensu-api) биће инсталиране инсталирањем sensuпакета. Можете безбедно да игноришете све услуге осим оних sensu-clientкоје ћемо користити. Немојте још покретати услугу.
Корак 2: Инсталирајте потребне додатке
Сенсуов модел је да дистрибуира оптерећење на клијенте које је резултат извршавања провера и гурања резултата провера. Као резултат тога, морате да инсталирате Сенсу додатке на саме клијенте, а не на Сенсу сервер. Неки додаци се компајлирају локално, што значи да ће нам бити потребни алати за прављење на клијентима:
yum groupinstall "Development tools"
Следећи додаци су веома популарни и користе се за многе провере. Извршите сваку од ових команди да бисте инсталирали додатке након што се инсталирају пакети развојних алата. У зависности од величине вашег сервера, ово може потрајати:
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: Додајте конфигурационе датотеке
Додаћемо четири конфигурационе датотеке Сенсу клијенту.
/etc/sensu/conf.d/client.json:
Ова датотека садржи претплате, ИП адресу за Сенсу клијента и име клијента. Замените вредности ipaddressи hostnameвредностима које описују клијента којег додајете. Такође, наведите претплате дефинисане на Сенсу серверу или, ако их немате, уклоните цео subscriptionsодељак. Не заборавите да уклоните зарез након name:
{
"client": {
"address": "-----ipaddress-----",
"environment": "production",
"name": "-----hostname-----",
"subscriptions": [
"linux"
]
}
}
/etc/sensu/conf.d/transport.json:
У овој датотеци дефинишемо транспорт који се користи. Подразумевано, транспорт који се користи је РаббитМК. Налепите следећи садржај у датотеку. Вредности не морају да се мењају:
{
"transport": {
"name": "rabbitmq",
"reconnect_on_error": true
}
}
/etc/sensu/conf.d/rabbitmq.json:
РаббитМК сервер и акредитиви су наведени у овој датотеци. Замените hostnameДНС именом. Подразумевано, порт је 5672за нешифроване везе. РаббитМК корисника и лозинку такође треба заменити. Ови детаљи се могу разликовати за сваког Сенсу клијента или бити исти за све клијенте. Ово је практична одлука коју доноси корисник.
vhostЈе /подразумевано, али се често мења у /sensu. Ако нисте сигурни шта да користите, пробајте обоје:
{
"rabbitmq": {
"host": "-----hostname-----",
"password": "-----rabbitmq_password-----",
"port": 5672,
"user": "-----username-----",
"vhost": "/sensu"
}
}
/etc/sensu/conf.d/checks.json:
Сенсу подржава две врсте провера: самосталне провере и провере претплате. Провере претплате су дефинисане на Сенсу серверу, а претплате су дефинисане у client.jsonдатотеци на Сенсу клијенту. Самосталне провере су провере које су дефинисане на самим Сенсу клијентима. То су обично провере које се примењују само на један одређени сервер. На пример, провера која би била у претплати је провера да се види да ли веб сервер још увек ради. Самостална провера би могла да буде провера да ли сервер А може да дође до сервера Б. Ниједном другом серверу није потребна та провера.
Самосталне провере су дефинисане у овој датотеци. Испод ћете пронаћи пример checks.jsonдатотеке са неким примерима самосталних провера:
{
"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
}
}
}
Након што завршите конфигурацију Сенсу клијента, промените права:
chown -R sensu:sensu /etc/sensu/conf.d
Корак 4: Дајте дозволе sensuкориснику
Провере се извршавају као корисник sensu. Наравно, овај корисник има ограничена права. Међутим, rootза извршавање неких провера потребна је дозвола. Дозволићемо кориснику sensuда изврши било коју проверу, rootали ограничићемо његове друге дозволе.
Налепите следећи садржај у датотеку /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 *
Прва два реда дефинишу подразумевану путању која вам омогућава да наведете само име скрипте у команди провере, а не целу путању. На пример, једноставно коришћење команде sudo check-process.rb -p mysqldће функционисати без потребе да наведете целу путању ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).
Друге линије омогућавају sensuкориснику да изврши било коју скрипту за проверу као root.
Коначно, покрените sensu-clientуслугу и аутоматски је покрените при покретању:
systemctl start sensu-client
systemctl enable sensu-client
Ако имате инсталирану Уцхива, нови клијент би требало да се појави на листи. Ако није, отклоните грешке тако што sensu-clientћете прегледати датотеку евиденције/var/log/sensu/sensu-client.log