Stackdriver Logging 是否能够通过 syslog 协议接收日志?
我正在使用开源 Heroku Logplex 路由器来收集日志。Logplex 允许您设置一个排出器来发送聚合日志,但我认为它使用 syslog 格式发送它。
我想使用 Stackdriver Logging,但我无法弄清楚要发送到哪个 syslog URL。
我有以下 docker-compose 配置:
version: '3'
services:
worker:
image: // image
logging:
driver: syslog
options:
syslog-address: "udp://XXX.papertrailapp.com:XXXX"
tag: "{{.Name}}/{{.ID}}"
Run Code Online (Sandbox Code Playgroud)
当我将其部署到 Ubuntu 下的 DigitalOcean 时,我可以成功运行命令,docker-compose up
如下所示:
docker-compose -f docker-compose.yml up
Run Code Online (Sandbox Code Playgroud)
当该命令运行时,我可以看到以下输出:
worker_2_844fc7675414 | WARNING: no logs are available with the 'syslog' log driver
worker_1_5c91a3426046 | WARNING: no logs are available with the 'syslog' log driver
Run Code Online (Sandbox Code Playgroud)
看来 syslog 已正确配置为docker-compose up
要运行的命令,但 syslog 驱动程序可能不可用?
我能找到的有关在 docker 中使用 syslog 的所有说明均参考docker run
命令。但是如何让 syslog 与 docker-compose 一起工作呢?
请帮助我,如何将python脚本日志发送到syslog服务器(syslog-ng产品),我已经尝试过以下方法..它有两种方法。一个是“SysLogHandler”,另一个是“SocketHandler”
import logging
import logging.handlers
import socket
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)
handler = logging.handlers.SysLogHandler(address=('10.10.11.11', 611), socktype=socket.SOCK_STREAM)
#handler = logging.handlers.SocketHandler('10.10.11.11', 611)
my_logger.addHandler(handler)
my_logger.debug('this is debug')
my_logger.critical('this is critical')
Run Code Online (Sandbox Code Playgroud)
结果:SysLogHandler
[ansible@localhost ~]$ python test.py
Traceback (most recent call last):
File "test.py", line 8, in <module>
handler = logging.handlers.SysLogHandler(address=('10.10.11.11', 611), socktype=socket.SOCK_STREAM)
File "/usr/lib64/python3.6/logging/handlers.py", line 847, in __init__
raise err
File "/usr/lib64/python3.6/logging/handlers.py", line 840, in __init__
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused #THIS IS OK for me since server unreachable.
Error in atexit._run_exitfuncs:
Traceback …
Run Code Online (Sandbox Code Playgroud) 简单来说,Log4j SyslogAppender是否支持MDC和NDC,因为输出是结构化数据,即使用协议的结构化数据功能?
此外,对于可以放入MDC并成功附加到日志中的内容是否有任何限制?
是否可以让一个应用程序同时写入多个syslog工具?
我有一个用C/C++编写的应用程序,我想写一些消息给local0和其他消息给local1.我不希望local0的消息出现在local1中,反之亦然.
http://www.syslog.cc/ietf/drafts/draft-ietf-syslog-protocol-23.txt
6.2.3.1.实施例在上面的链接提供了不同的时间戳甲酸盐的实例.
我该如何解析这些时间戳C
?
在运行中,任何类型的消息都可以到达,我希望能够解析它.
在以前的Jboss版本中,我能够在jboss-log4j.xml中使用以下配置配置SYSLOG appender:
<appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Facility" value="LOCAL7"/>
<param name="FacilityPrinting" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
现在我已升级到Jboss AS 7,看起来应该进入,$JBOSS_HOME/standalone/configuration/standalone.xml
但语法不同.
我的问题是:如何配置Jboss AS 7以使用SYSLOG appender?
我需要安装Syslogd才能查看iPhone/iPad日志.
我正在通过Cydia在Jailbroken设备上尝试这个.
我搜索了几个论坛.很多人告诉我,如果我安装了崩溃记者,那么将安装Syslogd.那么,如何激活或启动Syslogd?
Fedora 20(在我上周升级之前也在Fedora 19上发生),谷歌Chrome(稳定)包google-chrome-stable-37.0.2062.120-1.x86_64
.
我的/var/log/messages
文件充满了大量这种格式的消息:
Sep 17 11:21:38 xxxxxx /etc/gdm/Xsession[15691]: [14334:14836:0917/112138:ERROR:value_store_frontend.cc(62)] Error while writing pkehgijcmpdhfbdbbnkijodmdjhbjlgp.browser_action to /home/user/.config/google-chrome/Default/Extension State
Run Code Online (Sandbox Code Playgroud)
该目录如下所示:
$ ls -la '/home/user/.config/google-chrome/Default/Extension State'
total 37236
drwxrwx---. 2 user user 4096 Sep 17 11:25 .
drwx------. 18 user user 4096 Sep 17 11:25 ..
-rwxrwx---. 1 user user 2422 May 7 2013 000473.sst
-rwxrwx---. 1 user user 383609 May 9 2013 000475.sst
-rwxrwx---. 1 user user 452513 May 10 2013 000478.sst
-rwxrwx---. 1 user user 611630 May …
Run Code Online (Sandbox Code Playgroud) 我正在使用perror()来打印错误消息,例如:
pid = fork();
if (pid < 0) {
perror("couldn't fork");
exit(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用errno/perror()
设施,但将生成的消息定向到系统日志(/var/log/syslog
)?
我在一个可以在守护进程和非守护进程模式下运行的程序的上下文中询问这个问题.在守护程序模式下,perror()
消息不会出现在syslog上.