我想将我的apache和tomcat日志转发到我的中央日志服务器。(splunk / graylog)
我有运行syslog-ng的客户端系统。
如何转发日志?
是否有必要解析日志?我不能按原样转发日志吗? 我是否还要编辑apache配置?
我试图在一周内完成它。我创建了另一个有关此问题的问题。但没有找到肝脏。 Forwarding log via syslog-ng 任何人请看这个。
UPDATE1: 这是我最新的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);
};
答案 0 :(得分:0)
将Universal Forwarder安装到您的中央日志服务器(我假设这是与您的Splunk实例不同的框)。然后监视syslog的路径。我不太了解syslog-ng但是应该编写日志,以便它在/var/log/my_host_one/apache/access.log
之类的路径中包含主机名。这样Splunk将使用正确的主机名(请参阅inputs.conf
中的host_segment
)。
另外要测试以确保您的UF正确连接到主Splunk实例(通过outputs.conf
配置),请尝试在UF的内部日志中搜索index=_internal host=your_uf_host
。
答案 1 :(得分:0)
嘿,我建议您检查ansible(https://docs.ansible.com/)。而不是一直手动进行。
- 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
类似的东西可以解决您的问题。