Интеграция DosGate Collectd c Logstash
DosGate направляет всю свою статистику через Collectd, за счет этого он может нативно отправлять информацию в Logstash для дальнейшего хранения и обработки.
Настройка сервера DosGate
-
Требуется заменить содержимое файла
/etc/collectd/collectd.conf.d/dosgate.conf
. -
Обратите внимание на
graphite_host
иlogstash_host
– эти записи нужно модифицировать в соответствии с вашей конфигурацией на IP-адреса хостов где расположены выбранные сервисы. Также, если требуется измените порты (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, он должен быть идентичен файлу
/etc/collectd/collectd.conf.d/dosgate-types.db
с сервера DosGate. В нашем примере это/etc/logstash/conf.d/dosgate-types.db
, его содержимое:
dgstats packets:COUNTER:0:U bytes:COUNTER:0:U
- Добавьте DosGate в конфигурацию logstash по пути
/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