syslog测量未出现在influxdb中

2024-06-11 13:33:13 发布

您现在位置:Python中文网/ 问答频道 /正文

TL;DR无法在influxdb中查看syslog日志

环境:

OS: mac os mojave
telegraf version: 1.8
influxdb version: 1.6.4

所以我想查看chronograf中的日志,并从telegraf提供的input plugins集合中找出使用syslog插件的方法。在

我遵循了here的说明,但是为了便于阅读,这里也添加了一些步骤。在

我通过homebrew安装了rsyslog,如下所示:

^{pr2}$

/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

我配置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"

重新启动telegraf如下:

$ brew services restart telegraf

但我的期望是在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:

因此,我使用rsyslogd -N1命令对rsyslog进行了故障排除,发现了一些问题:

  • 配置文件必须在/etc/rsyslog.conf中。在
  • 找不到配置文件工作目录,即;/tmp/rsyslog,因此创建了一个。在
  • 中存在一些错误rsyslog.conf文件文件(可在该问题的编辑中看到)

在完成上述所有操作之后,我重新启动了rsyslog,同时还inflexdb和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


Tags: localhostisonportversionmyloggingconf