TL; DR Невозможно увидеть журналы системного журнала в influenxdb
Среда:
OS: mac os mojave
telegraf version: 1.8
influxdb version: 1.6.4
Поэтому я хотел просмотреть журналы в chronograf
и выяснилиз набора входных плагинов , предлагаемых в telegraf для использования плагина syslog
.
Я следовал инструкциям здесь , но добавил и здесь шаги для удобства чтения.
Я установил rsyslog через homebrew
следующим образом:
$ brew install rsyslog
В /usr/local/etc/rsyslog.conf
добавлено следующее:
$WorkDirectory /tmp/rsyslog # temporary directory for storing data
$ActionQueueType LinkedList # use asynchronous processing
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
$ModLoad imudp #loads the udp module
#listen for messages on udp localhost:514
$UDPServerAddress localhost
$UDPServerRun 514
*.* @@(o)127.0.0.1:6514;RSYSLOG_SyslogProtocol23Format
restartted rsyslog:
$ sudo brew services restart rsyslog
Я настроил telegraf следующим образом:
# # Accepts syslog messages per RFC5425
[[inputs.syslog]]
# ## Specify an ip or hostname with port - eg., tcp://localhost:6514, tcp://10.0.0.1:6514
# ## Protocol, address and port to host the syslog receiver.
# ## If no host is specified, then localhost is used.
# ## If no port is specified, 6514 is used (RFC5425#section-4.1).
server = "tcp://localhost:6514"
иперезапустил телеграф следующим образом:
$ brew services restart telegraf
Но я ожидал увидеть syslog
измерение внутри telegraf
базы данных
Я написал следующий скрипт Python для входа в систему syslog
, надеясь, чтоон появится в базе данных:
import logging
import logging.handlers
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)
handler = logging.handlers.SysLogHandler(address='/var/run/syslog')
my_logger.addHandler(handler)
my_logger.debug('this is debug')
my_logger.critical('this is critical')
, но безрезультатно.
Что здесь может быть не так?Если есть, есть ли файл журнала, который я мог бы проверить?
РЕДАКТИРОВАТЬ 1:
Поэтому я решил проблему с rsyslog с помощью команды rsyslogd -N1
и обнаружил некоторые проблемы:
- Файл конфигурации должен находиться в
/etc/rsyslog.conf
. - Рабочий каталог файла конфигурации ie;
/tmp/rsyslog
не был найден, поэтому создал его. - Произошли некоторые ошибки в файле rsyslog.conf (это можно увидеть в редактировании этого вопроса)
После выполнения всего вышеперечисленногоЯ перезапустил rsyslog, а также influenxdb и telegraf и снова проверил, были ли какие-либо ошибки, запустив команду rsyslogd -N1
, и выдается следующее:
rsyslogd: version 8.37.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
Тем не менее проблема остается.
РЕДАКТИРОВАТЬ 2: похожие сообщения: syslog-plugin-from-remote-server