我有一台 Ubuntu 服务器 16.04,我在其中安装了 observium 来监控服务器本身,并且这部分运行良好,我可以看到事件日志。
之后我按照有关如何添加系统日志的说明进行操作:http://docs.observium.org/syslog/ 但是当我在服务器上打开系统日志时出现错误消息:
"No syslog entries found!".
我还需要做什么吗(除了上面的 Observium 网页说明之外)?
谢谢
更新 1:
rsyslogd 版本 8.16.0
当我尝试使用直接记录时,它运行良好。
以下是配置文件:
#---------------------------------------------------------
#send remote logs to observium
template(name="observium"
type="string"
string="%fromhost%||%syslogfacility%||%syslogpriority%||%syslogseverity%||%syslogtag%||%$year%-%$month%-%$day% %timereported:8:25%||%msg%||%programname%\n")
$ModLoad omprog
# rsyslog Input Modules
input(type="imudp"
port="514"
ruleset="observium")
# rsyslog RuleSets
ruleset(name="observium") {
action(type="omprog"
binary="/opt/observium/syslog.php"
template="observium")
}
*.* stop
#---------------------------------------------------------
相反,我没有使用规则集:
#---------------------------------------------------------
#send remote logs to observium
#ceph-mon.=notice; ~
template(name="observium"
type="string"
string="%fromhost%||%syslogfacility%||%syslogpriority%||%syslogseverity%||%syslogtag%||%$year%-%$month%-%$day% %timereported:8:25%||%msg%||%programname%\n")
$ModLoad omprog
action(type="omprog"
binary="/opt/observium/syslog.php"
template="observium")
*.* stop
#---------------------------------------------------------
有用 :)
所以还有另一个问题。我需要使用吗ruleset
?如果是这样,有没有其他人遇到过相同/类似的问题,你是如何解决的?
谢谢你!
答案1
是的,我也看到了这个问题。
我错误地在 rsyslogd.conf 和 30-observium.conf 中启用了“input(type="imudp" port="514")”。您需要在 rsyslogd.conf 中启用 imudp 模块,并在 30-observium.conf 中为其启用 input->ruleset 操作
/etc/rsyslog.conf;
provides UDP syslog reception
module(load="imudp")
#input(type="imudp" port="514")
/etc/rsyslog.d/30-observium.conf 应该是;
#---------------------------------------------------------
#send remote logs to observium
template(name="observium"
type="string"
string="%fromhost-ip%||%syslogfacility%||%syslogpriority%||%syslogseverity%||%syslogtag%||%$year%-%$month%-%$day% %timereported:8:25%||%msg%||%programname%\n")
$ModLoad omprog
# rsyslog Input Modules
input(type="imudp"
port="514"
ruleset="observium")
# rsyslog RuleSets
ruleset(name="observium") {
action(type="omprog"
binary="/opt/observium/syslog.php"
template="observium")
}
#& stop
#---------------------------------------------------------
我还必须注释掉最后一行,因为它导致 rsyslog 悄然失败。
PS;每次对 syslog 过滤器进行更改时,都需要重新启动 rsyslog,因为它会在启动时缓存生成的 syslog.php 脚本。