Dziś pojawiła się potrzeba monitorowania zmian w określonych plikach na serwerze; istnieje wiele różnych sposobów, na przykład , ale ponieważ niedawno zacząłem korzystać z , postanowiłem monitorować pliki za pomocą Elastica, jednym z jego .
Nie będę opisywał instalacji Elastics stack i Auditbeat, wszystko znajdziesz w instrukcjach; jedyne, co musisz zrobić po instalacji, to edytować plik auditbeat.yml, w module file_integrity dodaj ścieżkę do monitorowanego pliku.
Po skonfigurowaniu i uruchomieniu w Kibana pojawi się indeks auditbeat-*

Następnie tworzymy monitorowanie, określając nazwę monitorowania, interwał sprawdzania oraz typ monitorowania i plik indeksu:

do Zdefiniuj zapytanie wyodrębniania piszemy następująco:
Zdefiniuj zapytanie wyodrębniania
{
"query": {
"bool": {
"must": [
{
"match_phrase": {
"file.path": {
"query": ""
}
}
}
],
"filter": [
{
"term": {
"event.action": {
"value": "attributes_modified" #zmiany atrybutów, może też być created lub deleted
}
}
},
{
"range": {
"@timestamp": {
"from": "now-1m" #okres, w którym monitorujemy zmiany
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
}Następnie naciskamy przycisk Run i sprawdzamy zapytanie; powinno pojawić się coś takiego:

Spróbuj zmienić docelowy plik i ponownie uruchomić zapytanie:

jak widać hits zmienił się na 2; naciskamy update i tworzymy trigger na zmianę wartości:

Zostawiamy wszystko, jak na obrazku.
Następnie można ustawić powiadomienia w Slacku lub innym komunikatorze.
Źródło: habr.com
