====== Nagios ====== Różne rzeczy. ==== Nrpe i SeLinux ==== SeLinux lubi zablokować odczyt dla różnych plików tymczasowych oraz pomocniczych. Nrpe nie może ich wówczas odczytać. Na przykładzie pliku /var/local/check_dnf_updates, używanego przez skromny wrapper, należy zrobić tak: semanage fcontext -a -t nrpe_etc_t '/var/local/check_dnf_updates' restorecon -v /var/local/check_dnf_updates Logi można znaleźć w journalu i będą wyglądały mniej więcej tak: SELinux is preventing /usr/bin/cat from read access on the file check_dnf_updates. Ewentualnie można zezwolić nrpe oraz nagiosowi na buszowanie po systemie: semanage permissive -a nrpe_t semanage permissive -a nagios_unconfined_plugin_t Po rozwiązaniu problemu można zmienić politykę na domyślną: semanage permissive -d nrpe_t semanage permissive -d nagios_unconfined_plugin_t ==== Czujki na bazie nrpe ===== Różne pomysły na pliki w /etc/nrpe.d: command[check_load]=/usr/lib64/nagios/plugins/check_load -w "$(($(nproc --all)))" -c "$(($(nproc --all)+1))" command[check_disk]=/usr/lib64/nagios/plugins/check_disk / -w 20% -c 10% command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 30% -c 10% -n ok command[check_cron]=/usr/lib64/nagios/plugins/check_file_age -w 70 -c 140 -W 0 -C 0 -f /var/local/check_cron command[check_proc]=/usr/lib64/nagios/plugins/check_procs -w 135 -c 145 Cron roota dla check_file_age: # Plik do monitorowania CRON-a * * * * * /usr/bin/touch /var/local/check_cron ===== aNag ===== Konfiguracja aplikacji aNag. [[https://play.google.com/store/apps/details?id=info.degois.damien.android.aNag&hl=pl&gl=US]] Manage monitoring instances: * name: (wedłud uznania) * Instance type: Icinga/Nagios (HTML) * URL: https://[domena.com]/nagios/cgi-bin/ * Username: [nazwa użytkownika] * Password: [hasło] * Client certificate (PKCS12): None * Allow insecure certifiacte: zaznaczone * Quick basic auth: zaznaczone * Enabled: zaznaczone * Author name: [puste] * ostgroup: [puste] * Servicegroup: [puste] Po kliknięciu przycisku „Test” powien pojawić się komunikat zawierający „OK Everything looks good”. Po cofnięciu się do ekranu startowego aplikacji będzie widać nazwę wpisaną w pole name w konfiguracji. ===== Nagios i Mantis ===== * Automatyczne wrzucanie alertów z Nagiosa na system zgłoszeń Mantis. * Trzeba utworzyć na Mantisie nowego użytkownika z uprawnieniem //zgłaszający//. Potem na tym użytkowniku trzeba utworzyć klucz API. Na poniższym przykładzie został on zastąpiony literami //T//. * Zamienić nazwę projektu //standardowy// na utworzony w Mantisie. W pliku commands.cfg dopisać: define command { command_name notify-host-by-mantis command_line /usr/local/bin/utworz_zgloszenie.sh "$NOTIFICATIONTYPE$ $SERVICEDESC$ $HOSTALIAS$" "$HOSTADDRESS$ $SERVICESTATE$ $LONGDATETIME$" "$SERVICEOUTPUT$" } define command { command_name notify-service-by-mantis command_line /usr/local/bin/utworz_zgloszenie.sh "$NOTIFICATIONTYPE$ $SERVICEDESC$ $HOSTALIAS$" "$HOSTADDRESS$ $SERVICESTATE$ $LONGDATETIME$" "$SERVICEOUTPUT$" } Plik /usr/local/bin/utworz_zgloszenie.sh # ls -al /usr/local/bin/utworz_zgloszenie.sh -rwxr-x---. 1 root nagios 1039 Oct 18 04:30 /usr/local/bin/utworz_zgloszenie.sh # cat /usr/local/bin/utworz_zgloszenie.sh #!/usr/bin/bash url='https://mantis.ping.local' token='TTTTTTTTTTTTTTTTTTTTTTT' summary=$1 description=$2 additional_information=$3 if [[ ${summary} == *'RECOVERY'* ]] ; then exit 0 ; fi if [[ ${summary} == *'ACKNOWLEDGEMENT'* ]] ; then exit 0 ; fi curl --insecure --location -g "${url}/api/rest/issues" \ --header "Authorization: ${token}" \ --header "Content-Type: application/json" \ --data "{ \"summary\": \"${summary}\", \"description\": \"${description}\", \"additional_information\": \"${additional_information}\", \"project\": { \"id\": 1, \"name\": \"standardowy\" }, \"category\": { \"id\": 1, \"name\": \"alarmy\" }, \"handler\": { \"name\": \"\" }, \"view_state\": { \"id\": 10, \"name\": \"public\" }, \"priority\": { \"name\": \"normal\" }, \"severity\": { \"name\": \"trivial\" }, \"reproducibility\": { \"name\": \"always\" }, \"sticky\": false, \"tags\": [ { \"name\": \"alarmy\" } ] } " {{:wiki:nagios_mantis_01.jpg?400|}} {{:wiki:nagios_mantis_02.jpg?400|}} ---- źródło: https://documenter.getpostman.com/view/29959/mantis-bug-tracker-rest-api/7Lt6zkP