我遇到了困难,得到了一个非常基本的rsyslog动作。我希望它能抓取一个文件并使用elasticsearch模块转发它。不幸的是,我无法弄清楚如何通过规则集将操作与操作绑定。
module(load="imfile" PollingInterval="10")
module(load="omelasticsearch")
template(name="logstash-index"
type="list") {
constant(value="logstash-")
property(name="timereported" dateFormat="rfc3339" position.from="1" position.to="4")
constant(value=".")
property(name="timereported" dateFormat="rfc3339" position.from="6" position.to="7")
constant(value=".")
property(name="timereported" dateFormat="rfc3339" position.from="9" position.to="10")
}
template(name="plain-syslog"
type="list") {
constant(value="{")
constant(value="\"@timestamp\":\"") property(name="timereported" dateFormat="rfc3339")
constant(value="\",\"host\":\"") property(name="hostname")
constant(value="\",\"severity\":\"") property(name="syslogseverity-text")
constant(value="\",\"facility\":\"") property(name="syslogfacility-text")
constant(value="\",\"tag\":\"") property(name="syslogtag" format="json")
constant(value="\",\"message\":\"") property(name="msg" format="json")
constant(value="\"}")
}
ruleset (name="somename") {
action(type="omelasticsearch"
template="plain-syslog"
searchIndex="logstash-index"
server="10.10.10.5"
serverport="9200"
bulkmode="on"
queue.type="linkedlist"
queue.size="5000"
queue.dequeuebatchsize="300"
action.resumeretrycount="-1"
dynSearchIndex="on")
}
input(type="imfile"
File="/var/log/haproxy.log"
Tag="haproxy"
StateFile="state-haproxy"
Severity="notice"
escapelf="on"
readMode="2"
Facility="local7"
ruleset="somename")
知识渊博的人可以修复我的代码尝试(并且可能会显示同时转发多个文件的示例吗?)
PS。我让它工作的一种方法是指导一个服务(haproxy)登录到local7(例如),然后将rsyslog动作绑定到local7。*,但这只是一个临时的解决方法,因为我需要能够转发文件..