EFK之Fluentd收集日志到opensearch

Fluentd安装插件

由于 fluentd 不带 opensearch 插件,所以需要安装 fluent-plugin-opensearch 插件。
下载镜像

docker pull bitnami/fluentd:1.17.0

创建 dockerfile

FROM bitnami/fluentd:1.17.0 USER root
RUN gem install fluent-plugin-opensearch

构建一个新的镜像

docker build -t fluentd-elasticsearch .

启动命令

docker run -it -d -p 5140:5140 --name=fluentd -v
/opt/fluentd/fluent.conf:/opt/bitnami/fluentd/conf/fluentd.conf -v
/var/log/secure:/opt/bitnami/fluentd/secure -v
/var/log/command.log:/var/log/command.log fluentd-opensearch
注:secure 日志权限为 600,挂载到 docker 中无法读取,需要修改权限
chmod 604 /var/log/secure

Fluentd字段处理

Fluentd 需要配置输入日志,过滤规则,新增字段等,详细配置如下:

<source>
  @type tail
  path /opt/bitnami/fluentd/secure
  tag secure
  read_from_head false
  <parse>
	@type regexp
	expression /^(?<securetime>[^\]]*) (?<hostname>[^ ]*)  (?<sshd>sshd\[.*\]\:) (?<message>.*)$/
#	time_key securetime
#	time_format %Y-%m-%d %H:%M:%S
	keep_time_key true
  </parse>
</source>

<source>
  @type tail
  path /var/log/command.log
  tag command
  read_from_head false
  <parse>
	@type regexp
	expression 
/(?<cmdid>[^ ]*)\s\s(?<logtime>[^\]]*)\,(?<hosts>[^ ]*)\,(?<remoteip>[
 
^ ]*)\,(?<currentuser>[^ ]*)\,(?<user>[^ ]*)\,(?<cmd>.*)$/
	time_key logtime
	time_format %Y-%m-%d %H:%M:%S
	types cmdid:integer
	keep_time_key true
  </parse>

</source>

<filter command.**>
  @type record_transformer
  <record>
hostip 192. XXX.XXX.11	 typeID 2
  </record>
</filter>

<filter secure.**>
  @type record_transformer
  <record>
	hostip 192.XXX.XXX.11
	typeID 1
  </record>
</filter>

<match command.**>
  @type stdout
</match>
 
<match secure.**>
  @type opensearch
  host 172.XXX.XXX.115
  port 9200
  flush_interval 1s
  index_name secure_%Y.%m.%d
  logstash_format true
  logstash_dateformat %Y.%m.%d
  logstash_prefix secure
  target_index_affinity true
</match>

<match command.**>
  @type opensearch
	host 172.XXX.XXX.115
	port 9200
	flush_interval 1s
	index_name command_%Y.%m.%d
	logstash_format true
	logstash_dateformat %Y.%m.%d
	logstash_prefix command
	target_index_affinity true
</match>

输出到Opensearch
secure 日志
在这里插入图片描述
History 日志
在这里插入图片描述
通过验证,Fluentd实现将日志输出到opensearch中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值