Интеграция DosGate Collectd c Logstash
DosGate собирает статистику с помощью Collectd и может направлять эти данные в Logstash для дальнейшего хранения и обработки. Процесс интеграции включает настройку как на стороне DosGate, так и на стороне Logstash.
Настройка сервера DosGate
Для настройки сервера DosGate необходимо изменить содержимое конфигурационного файла Collectd.
Открыть файл конфигурации /etc/collectd/collectd.conf.d/dosgate.conf.
Обратить внимание на параметры graphite_host и logstash_host. Эти значения должны быть заменены на IP-адреса соответствующих серверов, на которых размещены службы Graphite и Logstash. Также при необходимости изменить порты, используемые сервисами (по умолчанию 2003 для Graphite и 25826 для Logstash).
Пример конфигурации:
Hostname "dosgate"
LoadPlugin write_graphite
<Plugin write_graphite>
<Node "localhost">
Host "graphite_host"
Port "2003"
Protocol "tcp"
</Node>
</Plugin>
LoadPlugin unixsock
<Plugin unixsock>
SocketFile "/var/run/collectd-unixsock"
SocketPerms "0660"
DeleteSocket false
</Plugin>
LoadPlugin network
<Plugin network>
Server "logstash_host" "25826"
</Plugin>
TypesDB "/etc/collectd/collectd.conf.d/dosgate-types.db"
Перезапустите сервис Collectd для применения изменений. Для проверки успешной загрузки плагинов, в статусе должна отображаться строка:
plugin_load: plugin "network" successfully loaded
Команды для перезапуска и проверки статуса:
sudo systemctl restart collectd
sudo systemctl status collectd
Настройка сервера logstash
- Создать файл с
typesdb
на сервере Logstash. Этот файл должен быть идентичен файлу /etc/collectd/collectd.conf.d/dosgate-types.db на сервере DosGate. Пример содержимого файла:
dgstats packets:COUNTER:0:U bytes:COUNTER:0:U
Внесите изменения в конфигурацию Logstash, добавив конфигурацию для приема данных от DosGate. Конфигурация должна быть добавлена в файл /etc/logstash/conf.d/*.conf. В параметре source_ip_fieldname
указать название для сервера DosGate.
Пример конфигурации:
input {
udp {
port => 25826
buffer_size => 1452
codec => collectd {
typesdb => ['/etc/logstash/conf.d/dosgate-types.db']
}
type => collectd
source_ip_fieldname => "dosgate"
}
}
Перезапустить сервис Logstash и проверить логи для подтверждения корректности работы:
sudo systemctl restart logstash
sudo tail -500 /var/log/logstash/logstash-plain.log