Elasticsearch及ELK使用(二):日志数据采集

1 继续安装ELK

上文已经安装了ELK三大件中的两个软件elasticsearch和kibana。 在此基础上,在同一个机器上再安装logstash, 完成三大件的安装。

  1. (非root用户)登录linux,下载最新的logstash安装包 下载地址https://www.elastic.co/cn/downloads/elasticsearch 。然后解压即可

    cd /home/zyplanke/elk
    curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-6.8.3.tar.gz
    tar -xvf logstash-6.8.3.tar.gz
    

2 安装filebeat

filebeat通常与日志源服务器放同一台机器上。因此我们在另一台跑业务(有业务日志)的Linux机器上安装filebeat。

如果是收集业务系统的日志,确保filebeat对日志文件具有读权限。

  1. 登录业务系统(通常可使用业务系统的用户)载最新的filebeat安装包 下载地址https://www.elastic.co/cn/downloads/elasticsearch

    cd /home/zyplanke/elk
    curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.8.3-linux-x86_64.tar.gz
    tar -xvf filebeat-6.8.3-linux-x86_64.tar.gz
    

3 配置日志文件采集

filebeat从日志源采集日志数据,通过网络发给logstash,logstash将数据进行处理后发给elasticsearch。

前面已经将elasticsearch和kibana,下面分别配置filebeat和logstash。

3.1 配置filebeat

编辑filebeat.yml, 内容如下

filebeat.inputs:
- type: log
  enabled: true
  paths: 
   - /var/log/*.log
  fields:
  	logcategory: oslog

#output.elasticsearch:        由于我们filebeat不直接发给elasticsearch,所有注释本配置。
#  hosts: ["localhost:9200"]


output.logstash:
  hosts: ["192.168.43.201:5044"]

上面的filebeat配置:

  • input表示,filebeat从指定的目录和文件作为采集的日志源(路径和文件名支持星号模糊匹配。 注意必须有被采集文件的读权限)。必须enabled为true,否则不生效。 可以配置多个input。
  • 而fields是自己定义的字段(并赋值),方便后续处理。
  • output表示,filebeat将采集的日志(加上fileds、tag及其他属性)后,将起传输到logstash

3.2 配置logstash

在config目录中,以复制logstash-sample.conf样例文件,得到文件logstash_file.conf。

编辑config/logstash_file.conf,内容如下

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://192.168.43.201:9200"]
    index => "%{[fields][logcategory]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

上面logstash_file.conf配置的:

  • input:logstash从filebeat接收数据的本地端口。
  • filter(可选):进行转换改变
  • output:logstash结果传输到哪里(这里定义为传输到elasticsearch,若elasticsearch集群有多个节点则hosts内容应多个)。同时配置了索引名。注意这里使用了filebeat自定义字段。

3.3 启动

  1. 启动logstash。
./logstash -f ../config/logstash_file.conf

启动需要多等一小会。

  1. 启动filebeat。 ./filebeat -e -c 配置文件名 -e输出到标准输出,默认输出到syslog和logs下 -c 指定配置文件
./filebeat -e -c filebeat.yml

默认filebeat会在当前目录创建data目录,里面存放了每个采集文件的名字和坐标(偏移量),这样可以在filebeat重启后支持断点续传。

如果希望filebeat全部重新传输,则可以把filebeat下整个data目录删除(可能在elasticsearch中也要删除。),让filebeat觉得从来都没有传输过。
附:为了便于filebeat的启停管理,写了一个名为:run_filebeat.sh的Shell脚本供使用

##################################################################################
# desc:    FileBeat运行管理脚本
###################################################################################
CURR_PWD=`pwd -P`

Usage()
{
   
	echo "*******************************************************"
	echo " Usage: "
	echo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值