Narzędzia użytkownika

Narzędzia witryny


wiki:nagios

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)
  • 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\"
        }
    ]
}
"


źródło: https://documenter.getpostman.com/view/29959/mantis-bug-tracker-rest-api/7Lt6zkP

wiki/nagios.txt · ostatnio zmienione: 2026/10/18 05:39 przez 127.0.0.1

Wszystkie treści w tym wiki, którym nie przyporządkowano licencji, podlegają licencji: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki