Измерение системного журнала не отображается в
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
перезапустил rsyslog:
$ sudo brew services restart rsyslog
Я настроил телеграф следующим образом:
# # 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
, - Конфигурационный файл рабочий каталог т.е.
/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: связанный пост: https://community.influxdata.com/t/syslog-plugin-from-remote-server/6610/11