В този урок ще ви преведем през процеса на стартиране на Logstash в Docker контейнер с основна конфигурация.
Изисквания:
Преди да започнем с урока, уверете се, че имате следното:
- Инсталиран Docker на вашата хост машина (препоръчва се версия 23 и по-нова)
- Инсталиран Docker Compose на вашата машина
Когато дадените изисквания са изпълнени, можем да продължим с урока.
Настройте конфигурационния файл на Logstash
Logstash използва конфигурационните файлове, за да определи как данните се приемат, филтрират и изпращат към изхода. Има различни опции, които можете да конфигурирате, както можете да направите справка в официалната документация.
За нашия пример ние се фокусираме върху основната конфигурация, която поглъща данните от лог файл, филтрира го за съответстващите записи и извежда данните във файл.
Създайте файл, наречен “logstash.conf” и добавете конфигурацията, както следва:
вход {файл {
път => '/var/log/apache/access.log'
начална_позиция => 'начало'
откакто db_path => '/dev/null'
ignore_start => 0
}
}
филтър {
ако [съобщение] =~ 'ГРЕШКА' {
grok {
мач => { 'съобщение' => „%{COMBINEDAPACHELOG}“ }
}
}
}
изход {
файл {
път => '/var/log/apache/error_logs.log'
}
}
Предишният файл дефинира конфигурацията, както е показано по-долу:
- Секция за въвеждане – Секцията за въвеждане използва приставката за въвеждане на файл, за да прочете регистрационния файл на Apache, намиращ се в /var/log/apache/access.log.
- След това задаваме началната позиция в началото, което позволява на Logstash да прочете целия файл от началото.
- Sincedb_path – Този параметър ни позволява да деактивираме проследяването на Sincedb на Logstash, като зададем стойността на /dev/null. Това гарантира, че Logstash винаги чете от началото на файла.
- Ignore_older – Задаването на стойността на този параметър на 0 позволява на Logstash да обработва всички записи в регистрационния файл.
- Секция за филтриране – В секцията за филтриране ние дефинираме модела на филтъра, за да проверим дали съобщението в журнала съдържа думата ГРЕШКА. Можете да коригирате условията за филтърните блокове, за да филтрирате за по-точни съвпадения във файла.
- Ако условието е изпълнено, ние използваме филтъра grok, за да анализираме реда на регистрационния файл на Apache, като използваме модела COMBINEDAPACHELOG, който е вграден шаблон в Logstash за анализиране на регистрационните файлове на Apache.
- Изходен раздел – Този раздел ни позволява да дефинираме изходния формат за съвпадащите записи.
- В нашия случай ги записваме във файла /var/log/apache/error_logs.log, като използваме параметъра path.
Това трябва да ни предостави основна конфигурация на Logstash, която ни позволява да демонстрираме някои основни работи на Logstash.
Моля, вижте повече относно създаването и конфигурирането на тръбопроводите на Logstash в следния предоставен документационен ресурс:
https://www.elastic.co/guide/en/logstash/current/configuration.html
Създайте Docker файла
След като дефинираме конфигурациите на Logstash, можем да продължим и да научим как да стартираме контейнера. В същата директория като файла „logstash.conf“ създайте нов файл, наречен „Dockerfile“.
Редактирайте този файл и добавете записите, както следва:
ОТ docker.elastic.co/logstash/logstash:8.9.2КОПИРАНЕ logstash.conf /usr/share/logstash/pipeline/logstash.conf
В дадения пример ние дефинираме базовото изображение като официално изображение на Logstash, използвайки версия 8.9.2.
След това копираме файла „logstash.conf“, който създадохме, в /usr/share/logstash/pipeline/logstash.conf в изображението.
Изградете изображението на Docker
След това отидете до директорията, която съдържа конфигурационния файл Dockerfile и Logstash. Изпълнете следната команда, за да създадете изображението:
$ изграждане на докер -T custom-logstash-image.
Стартирайте контейнера Logstash
След като създадохме изображението на Docker, можем да стартираме контейнер Logstash, като използваме командата „run“ на Docker, както следва:
$ докер изпълнение -д -- име logstash-сървър персонализирано-logstash-изображениеТова трябва да стартира контейнера Logstash, използвайки изображението, което създадохме в предишната стъпка.
Проверете регистрационните файлове на контейнера Logstash
За да проверите дали Logstash работи правилно, можете да проверите регистрационните файлове на контейнера, като използвате следната команда:
$ докерски дневници < име_на_контейнера >Изход:
Заключение
В този урок научихте как можете бързо да настроите сървър Logstash, който работи като Docker, като използвате персонализиран конфигурационен файл. Препоръчваме да проверите документацията за параметрите на изображението и опциите за конфигурация.