windows下fluentd传输日志到elasticsearch (fluentd elasticsearch https)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下fluentd传输日志到elasticsearch (fluentd elasticsearch https)相关的知识,希望对你有一定的参考价值。

由于许多公司环境已经使用了winlogbeat来收集日志到es。但是日志属于安全部门在管,所以无法查看日志。运维人员需要有一份可以自己查看的日志。 这里推荐可以在windows环境下在安装一个fluentd,通过这个收集日志。实现并行收集日志查看。 linux下也是可以filebeat跟fluentd并行使用。 安装fluentd,官网介绍很详细:https://docs.fluentd.org/installation/install-by-msi 也没什么难度,打开部署就行。

搭建好es和kibana后,按照默认的filebeat配置td-agent.conf就能传输日志到es,官网有参数介绍: https://docs.fluentd.org/output/elasticsearch

<source>
  @type windows_eventlog2
  @id windows_eventlog2
  channels security
# read_from_head true
  read_existing_events false
  tag winevt.log
  rate_limit 200
  <storage>
    @type local
    persistent true
    path C:\\td-agent\\winlog.json
  </storage>
</source>

#<match winevt.adlog>
#  @type stdout
#</match>

###这里可以把一些不需要的key删除掉,根据自己需要定义
<filter winevt.adlog>
  @type record_transformer
  remove_keys ProcessID,ActivityID,RelatedActivityID
</filter>
#这里是关键,就是输出到es的配置内容
<match winevt.log>
  @type elasticsearch
  host 10.1.1.1
  port 9200
  index_name log 
#  with_transporter_log true  #开启传输日志记录,失败原因会记录 
</match>

我安装的es默认启用https了,关闭也不容易,所以研究了一些文章找到配置fluentd修改的内容,如下

<match winevt.adlog>
  @type elasticsearch
  host dsies.shopeeit.com
  port 9200
  index_name adlog 
#  with_transporter_log true  #开启传输日志记录,失败原因会记录
#  @log_level debug
#下面五个参数就是需要添加的,第一个参数将默认的http修改成https,
#第二个参数不验证证书,避免传输失败,是必须填写的参数,不然就要准备es的各种证书,我们没有去拿es的证书,第三个启用tls版本,
#第四第五就是es的账号密码,可以根据你自己创建的账号,
  scheme https
  ssl_verify false  
  ssl_version TLSv1_2
  user es
  password 0b*********
# ca_file /etc/td-agent/certs/es-root-ca.pem 
</match>

以上是关于windows下fluentd传输日志到elasticsearch (fluentd elasticsearch https)的主要内容,如果未能解决你的问题,请参考以下文章

Elastic:Fluentd 在 Elastic Stack 中的运用

Elastic:使用 Fluentd 及 Elastic Stack 进行应用日志采集

Elastic:使用 Fluentd 及 Elastic Stack 进行应用日志采集

如何在 Elastic Beanstalk 多容器 docker 上使用 fluentd 日志驱动程序

是否可以使用 fluentd 的 redis_store 输出插件来处理大量日志?

万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)