我需要在syslog守护进程生成的日志消息中记录年份.特别是在/ var/log/secure文件中.可能吗?
这是正常系统日志消息的示例:
Feb 16 04:06:58 HOST sshd[28573]: Accepted password for USER from SOURCE port 7269 ssh2
Run Code Online (Sandbox Code Playgroud)
我需要类似的东西:
Feb 16 2011 04:06:58 HOST sshd[28573]: Accepted password for USER from SOURCE port 7269 ssh2
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我安装tutum/ubuntu在本地vm的docker中.
当我登录ubuntu并运行下面的命令.
logger "Test Logging"
Run Code Online (Sandbox Code Playgroud)
我找不到在哪里这个记录在文件中,在我的本地系统,我可以看到system.log或syslog或messages文件/var/log.但是当我检查/var/log容器时,我找不到这样的文件.
root@fbc4ae457ad9:~# ls -al /var/log/
total 316
drwxrwxr-x 6 root syslog 4096 Jun 20 16:49 .
drwxr-xr-x 16 root root 4096 Jun 20 16:42 ..
-rw-r--r-- 1 root root 9174 Mar 17 15:17 alternatives.log
drwxr-xr-x 2 root root 4096 Mar 17 15:17 apt
-rw-r--r-- 1 root root 47816 Mar 15 04:34 bootstrap.log
-rw-rw---- 1 root utmp 768 Jun 20 16:49 btmp …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个Syslog监听器,到目前为止,它很好地通过TCP接受传入消息,但我也希望UDP能够运行.
这是我正在使用的UDP服务器代码,它使用python客户端应用程序.我还有另一个应用程序也可以使用python客户端应用程序.
# Server program
# UDP VERSION
from socket import *
# Set the socket parameters
host = "localhost"
port = 514
buf = 1024
addr = (host,port)
# Create socket and bind to address
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)
# Receive messages
while 1:
data,addr = UDPSock.recvfrom(buf)
if not data:
print "Client has exited!"
break
else:
print "\nReceived message '", data,"'"
# Close socket
UDPSock.close()
Run Code Online (Sandbox Code Playgroud)
使用此代码,我可以发送到服务器并让它显示代码.
# Client program
from socket import *
# Set the socket parameters
host …Run Code Online (Sandbox Code Playgroud) #include<syslog.h>
syslog(LOG_INFO, "Start logging");
Run Code Online (Sandbox Code Playgroud)
以上syslog命令未登录syslog.所以我试过,
openlog("Logs", "", LOG_USER);
syslog(LOG_INFO, "Start logging");
closelog();
Run Code Online (Sandbox Code Playgroud)
这无法记录任何内容,我收到以下错误:
syslog: unknown facility/priority: 8049584
Run Code Online (Sandbox Code Playgroud) Puppet默认将日志记录写入syslog.这是为什么?大多数软件都写入一些单独的日志文件.我检查了文档,并提到您可以写入日志文件,但有人提到"通常不使用它".这是个坏主意吗?
跟踪木偶记录的典型设置是什么?在/ var/log/messages文件中使用grep?
我有一个可以在两种模式下运行的应用程序,可以是CLI,也可以是守护进程.
我正在syslog()用于记录.但是,在CLI模式下运行时,我希望所有日志记录(标记除外)都将LOG_DEBUG消息发送到控制台而不是记录.
我试图使用setlogmask(),但似乎没有重定向到控制台.
做这个的最好方式是什么?
我有点困惑.我正试图拔出syslog date (backfilling the logstash)并替换@timestamp它.我几乎尝试了一切.
这是我的过滤器
filter {
if [type] == "syslog" {
grok {
match => {
"message" => ["%{SYSLOGTIMESTAMP:DATETIME} %{WORD:SERVER} (?<BINARY>(.*?)(php\-cgi|php))\: %{DATA:PHP_ERROR_TYPE}\:\s\s(?<PHP_ERROR_DESC>(.*?)(e\s\d))""]
}
}
date {
match => { "DATETIME" => [ "MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601" ] }
target => "@timestamp"
add_tag => [ "tmatch" ]
}
if !("_grokparsefailure" in [tags]) {
mutate {
replace => [ "@source_host", "%{SERVER}" ]
}
}
mutate {
remove_field => [ "SERVER" ]
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个程序,我需要将一些日志发送到Kiwi Syslog服务器.我在网上寻找c#的指南,但我一无所获.我想对如何做到这一点有一个易于理解的解释.
每当有人点击按钮或执行重要操作时,我只想为其编写日志条目.所以,我真正需要的是一个关于如何将条目发送到Syslog服务器的示例.
我没有任何我已经做过的示例代码,因为我找不到任何可以展示的东西.我希望我不会因为没有显示任何代码而违反本网站的规则.但请相信我,我试着环顾网络.
非常感谢你的帮助!
我想使用客户端协议在rsyslog服务器上发送应用程序的日志:Unix socket.应用程序和rsyslog服务器都在同一台机器上.
我一直在比较不同的日志工具:Log4J,Logback和Log4J2.
Log4J的Syslog appender本身不允许它.解决方案是使用Syslog4J并以这种方式配置我们的Syslog4JAppender:
<appender name="mySyslogAppender" class="org.productivity.java.syslog4j.impl.log4j.Syslog4jAppender">
<param name="protocol" value="unix_socket" />
...
</appender>
Run Code Online (Sandbox Code Playgroud)
与Log4J相同,Logback的Syslog appender本身不允许它.解决方案是使用Syslog4J和logback-syslog4j工具,并以这种方式配置我们的appender:
<appender name="mySyslogAppender" class="com.papertrailapp.logback.Syslog4jAppender">
<syslogConfig class="org.productivity.java.syslog4j.impl.unix.socket.UnixSocketSyslogConfig">
...
</syslogConfig>
</appender>
Run Code Online (Sandbox Code Playgroud)
现在我正在寻找Log4J 2的解决方案,但我没有找到任何解决方案.你知道吗?这些工具是否会包含本机功能?
我已经为rsyslog配置了以下过滤器,将一些SSH消息定向到本地系统上的特定TCP端口5000,以便5000上运行的服务将进一步处理SSH消息.
if $fromhost-ip == '127.0.0.1' and ( ($msg contains 'SSH') and ($msg contains 'Test') ) then @@127.0.0.1:5000
Run Code Online (Sandbox Code Playgroud)
一切似乎都很好,但消息没有重定向到端口5000,如果我们将消息定向到UDP端口,它工作正常.
以下是指向UDP端口的消息的过滤器.
if $fromhost-ip == '127.0.0.1' and ( ($msg contains 'SSH') and ($msg contains 'Test') ) then @127.0.0.1:5000
Run Code Online (Sandbox Code Playgroud)
能不能让我知道,为什么TCP端口不起作用,UDP端口工作.