Интеграция 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