Linux 从syslog ng将日志转发到splunk/graylog

Linux 从syslog ng将日志转发到splunk/graylog,linux,syslog,splunk,syslog-ng,graylog2,Linux,Syslog,Splunk,Syslog Ng,Graylog2,我想将apache和tomcat日志转发到我的中央日志服务器。splunk/graylog 我有运行syslog ng的客户端系统 如何转发日志 是否需要解析日志?我不能按原样转发日志吗? 我是否也必须编辑apache配置 上个星期我想把它做完。关于这一点,我提出了另一个问题。但没有发现hep。 任何人请看这个 更新1: 这是我最新的syslog-ng.conf source s_all { internal(); unix-stream("/dev/log"); file("/pr

我想将apache和tomcat日志转发到我的中央日志服务器。splunk/graylog

我有运行syslog ng的客户端系统

如何转发日志

是否需要解析日志?我不能按原样转发日志吗? 我是否也必须编辑apache配置

上个星期我想把它做完。关于这一点,我提出了另一个问题。但没有发现hep。 任何人请看这个

更新1: 这是我最新的syslog-ng.conf

source s_all {
  internal();
  unix-stream("/dev/log");
  file("/proc/kmsg" program_override("kernel: "));
  file("/var/log/apache/access.log" follow_freq(1) flags(no-parse));
  file("/var/log/apache/error.log" follow_freq(1) flags(no-parse));
};
destination d_splunk {
  udp("ec2-xxx.xxx.xxx.xxx.compute-1.amazonaws.com" port(514));
};
log {
  source(s_all); destination(d_splunk);
};

在您的中央日志服务器上安装一个通用转发器,我假设这与您的Splunk实例不同。然后监视系统日志的路径。我不太了解syslog ng,但是应该编写日志,以便在路径中包含主机名,比如/var/log/my_host\u one/apache/access.log。这样,Splunk将使用正确的主机名,请参阅中的host_段


另外,为了测试以确保您的UF正确连接到通过配置的主Splunk实例,请尝试搜索UF的内部日志,以查找索引=\u internal host=您的\u UF\u host。

嘿,我建议您检查ansible。而不是一直手工操作

    - name: Configure syslog forwarding
  copy:
    content: |
      *.* @localhost:514;RSYSLOG_SyslogProtocol23Format
    dest: /etc/rsyslog.d/30-graylog.conf
    mode: 0644
    owner: root
    group: root
  notify:
    - restart collector
    - restart rsyslog
这样的事情会解决你的问题