参考:

https://www.cnblogs.com/configure/p/7607302.html (kibana登陆认证[借用nginx转发])

https://www.elastic.co/cn/products(官网)

https://zhuanlan.zhihu.com/p/23049700(filebeat)

https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html#plugins-filters-date-match(logstash时间戳转换)

https://blog.csdn.net/wuyinggui10000/article/details/77879016(elk时区问题)

架构简介:

利用filebeat收集日志给logstash,logstash统一格式传递给elasticsearch,再利用kibana图形界面进行展示

系统:全都是centos 6系列版本

1.elasticsearch的安装配置

yum install  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.rpm -y

vi  /etc/elasticsearch/elasticsearch.yml

/etc/init.d/elasticsearch start

/etc/elasticsearch/elasticsearch.yml 配置如下:

cluster.name: lesu-elk

node.name: node-1

path.data: /home/elasticsearch   #保存数据的地方

path.logs: /var/log/elasticsearch

debug:

1.elasticsearch依赖于java,所以有时候会报java相关错,此时 yum install java -y即可

2.切换数据目录是要注意权限,我这里就遇到权限不足,所以需要 chown  -R elasticsearch  /home/elasticsearch

测试:

curl 'http://localhost:9200/?pretty' 显示为:

{

"name" : "node-1",

"cluster_name" : "lesu-elk",

"cluster_uuid" : "goAOXrJpQLuqfoHzl7LJMg",

"version" : {

"number" : "6.3.0",

"build_flavor" : "default",

"build_type" : "rpm",

"build_hash" : "424e937",

"build_date" : "2018-06-11T23:38:03.357887Z",

"build_snapshot" : false,

"lucene_version" : "7.3.1",

"minimum_wire_compatibility_version" : "5.6.0",

"minimum_index_compatibility_version" : "5.0.0"

},

"tagline" : "You Know, for Search"

}

即表示正常

2.logstash的安装配置

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

vi  /etc/yum.repos.d/logstash.repo

yum install logstash  -y

ln -s /usr/local/bin/logstash  /usr/share/logstash/bin/logstash

ln -s  /etc/logstash  /usr/share/logstash/config

#默认logstash可执行文件不在linux PATH变量搜索范围内,第二条则是logstash找不到自己环境变量的配置文件,所以需要这两个软连接

vi /etc/logstash/filebeat.conf

logstash -t  /etc/logstash/filebeat.conf #这个是配置文件测试语句

logstash -f  /etc/logstash/filebeat.conf #这个是启动命令

/etc/yum.repos.d/logstash.repo 内容如下

[logstash-6.x]

name=Elastic repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

logstash的调试配置如下:

input {

stdin{

}

}

filter {

grok {

match => { "message" => "%{ATS}" }

}

date {

match => ["time", "yyyy-MM-dd HH:mm:ss,SSS","UNIX"]

target => "time"

}

ruby {

code => "event.set('time', event.get('time').time.localtime + 8*60*60)"

}

}

output {

stdout{

codec => rubydebug

}

}

#主要在于用stdin和stdout两个插件,用来实时输入和输出

最终的线上配置:

input {

beats {

port => "5044"

}

}

filter {

grok {

match => { "message" => "%{ATS}" }

}

date {

match => ["time", "yyyy-MM-dd HH:mm:ss,SSS","UNIX"]

target => "time"

}

ruby {

code => "event.set('time', event.get('time').time.localtime + 8*60*60)"

}

}

output {

elasticsearch {

hosts => ["127.0.0.1:9200"]

index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"

}

}

线上配置简介:

logstash可以简单看成三段式的流水线处理,输入-->数据处理-->输出

输入就是input这段,可以来自标准输入stdin、redis等等,这里因为跟filebeat结合,所以用beats监听5044端口等待来自filebeat的数据

数据处理是filter段,这里采用grok插件对数据进行分割,我的数据是自定义的squid日志,数据如下

1500047983.032 494 192.168.124.4 TCP_MISS/200 656 359 http://linzb.com/wx_auth/WechatQrcode/694a37e9c2b7616fd53119fcd7120927/2 - DIRECT/6.6.6.6 image/png

默认的grok-patterns没有现成的规则可以用,这里我根据需求只分割image/png的部分前面的部分,所以在/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns中添加自定义条目:

ATS %{NUMBER:time}\s+%{NUMBER:duration}\s%{IP:client_address}\s%{WORD:cache_result}/%{POSINT:status_code}\s%{NUMBER:bytes}\s%{NUMBER:bytes_source}\s%{NOTSPACE:url}\s-\s%{WORD:hierarchy_code}/%{IP:source_address}

%{NUMBER:time}: NUMBER是grok-patterns文件中定义好的匹配规则变量,这个语句大意可以理解为,过滤匹配NUMBER规则的数据,保存为time字段,其他依次类推

\s:这里代表一个空格

因为我的数据是UNIX的时间格式(而且NUMBER匹配的是数字,不是时间,所以elasticsearch也没法识别),在elasticsearch中不直观,所以我这里也用了date插件,转换时间格式

match => ["time", "yyyy-MM-dd HH:mm:ss,SSS","UNIX"] 含义是匹配time字段,UNIX代表原来的数据格式是UNIX时间

target => "time" 则表示修改后的数据存储为time字段,这里相当于修改自身了,也可以保存为其他字段,然后用remove_field插件移除原有字段

ruby那段的语句则是为了修改时区,event.set是设置时间字段,event.get是获取时间字段,具体请参考:https://blog.csdn.net/wuyinggui10000/article/details/77879016

output就很简单了,输出数据给elasticsearch,比较关键的是%{[@metadata][beat]},它可以获取来自filebeat传递的变量,这样我们就可以为不同的节点传递不同的索引,用以区分

3.filebeat的安装配置:

yum install https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.0-x86_64.rpm -y

vi /etc/filebeat/filebeat.yml

/etc/init.d/filebeat start

/etc/filebeat/filebeat.yml内容如下:

filebeat.prospectors:

- input_type: log

paths:

- /home/ats_log/squid*

output.logstash:

hosts: ["8.8.8.8:5044"]

index: 192.168.124.127

path:指明要收集哪些日志

index:这个字段就是跟前面logstash的%{[@metadata][beat]}相对应,传递给logstash处理作为elasticsearch的索引

注:filebeat用/var/lib/filebeat/registry记录采取日志的位置,所以要重新读取日志的话,就修改这里面对应日志的offset字段,或者简单点删掉这个文件,不过这时就必须先停掉filebeat

4.kibana的安装配置

yum install  https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-x86_64.rpm  -y

vi /etc/kibana/kibana.yml

/etc/init.d/kibana start

kibana.yml配置很简单,默认就可以主要字段如下:

server.port: 5601

server.host: "127.0.0.1"

elasticsearch.url: "http://localhost:9200"

5.为kibana添加认证功能(这里为了防止链接失效,所以直接摘抄自:https://www.cnblogs.com/configure/p/7607302.html)

vi  /etc/yum.repos.d/nginx.repo

yum -y install nginx httpd-tools

mkdir -p /etc/nginx/passwd

htpasswd -c -b /etc/nginx/passwd/kibana.passwd user ******

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.backup

vim /etc/nginx/conf.d/default.conf

service nginx restart

/etc/yum.repos.d/nginx.repo 内容如下:

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/6/$basearch/

gpgcheck=0

enabled=1

/etc/nginx/conf.d/default.conf 内容如下:

server {

listen 80;

auth_basic "Kibana Auth";

auth_basic_user_file /etc/nginx/passwd/kibana.passwd;

location / {

proxy_pass http://127.0.0.1:5601;

proxy_redirect off;

}

}

转载于:https://blog.51cto.com/linzb/2135687

filebeat+elk简单搭配相关推荐

  1. 简单搭配(Collocation)隐私声明

    为什么访问网络? 简单搭配(Collocation)是一款方便生活的工具类应用,需要访问互联网资源,从而将用户的图片共享至用户指定的地点. 访问网络是否安全? 简单搭配(Collocation)只会严 ...

  2. 【分布式应用】ELFK集群部署(Filebeat+ELK)Logstash的过滤模块

    一.ELFK集群部署(Filebeat+ELK) ELFK= ES + logstash+filebeat+kibana 实验环境 服务器类型 系统和IP地址 需要安装的组件 硬件方面 node1节点 ...

  3. 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...

  4. Filebeat+Kafka+ELK日志采集(一)

    一.日志采集架构图: 二.模块功能说明: 2.1.filebeat Filebeat实现日志采集,采集指定路径的日志文件,并对日志格式.内容.字段等信息进行处理,发送至消息中间件.或发送至Logsta ...

  5. elk 第二篇 , 为elk加入redis, 替换下beats(个人感觉不错2)

    为elk加入redis, 替换下beats 这是elk的第二篇文章 编译安装日志分析平台 elk + filebeat elk支持多种输入输出方法 ,本文章主要描述通过redis做队列中间件 ,缓解e ...

  6. 一步一步搭建ELK日志处理集群(自己做过测试)

    下面的linux版本用的是centos 7的,用centos 6.5有可能出现问题. ELK集群搭建手册 一.   环境准备: 三台Linux服务器,ip地址分别为: 192.168.25.30 19 ...

  7. ELK 企业级日志分析系统

    文章目录 一. ELK日志分析系统简介 二. 使用ELK的原因 三. 完整日志系统基本特征 四. ELK的工作原理 五.ELK日志分析系统集群部署 5.1 ELK Elasticsearch 集群部署 ...

  8. Logback+ELK+SpringBoot搭建日志收集服务器

    前言 本文重点介绍Logback和ELK和SpringBoot是怎么整合收集日志的 关于ELK的说明和安装可以点击查看ELK(Elasticsearch.Logstash.Kibana)安装, htt ...

  9. 做这么多年程序员了,才把ELK和springboot的日志解决方案弄明白

    日志监控方案 日志对我们进行系统故障定位具有关键的作用.我们的框架代码.系统环境及业务逻辑中一般都会产出一些日志,我们通常会把这些日志记录后统一收集起来,方便在需要的时候进行查询检索.ELK是目前开源 ...

最新文章

  1. 如何使用 Arthas 定位 Spring Boot 接口超时
  2. flirtlib 测试过程
  3. Zabbix的架构配置选项
  4. qt 一个线程接收数据 主线程更新界面 会造成界面退出 怎么解决_打造一个好产品...
  5. HttpReports 2.0 发布了 !!!
  6. Terminal中输入一行命令快速移动光标至行首行尾
  7. Java多线程(1)--基本概念:程序、进程、线程
  8. 使用NSURLProtocol实现离线缓存
  9. matlab 合成生物学,合成生物学原理
  10. 线上每课时20元 北京上海义务教育阶段学科类校外培训指导价公布
  11. PB中实现备份数据库/还原数据库
  12. java map传入参数_JAVA中map中参数的添加修改
  13. Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》
  14. 高德地图两点间距离计算函数
  15. ICM-20602 IMU ACCEL/GYRO/TEMP I2C/SPI LGA
  16. openvpn部署和迁移
  17. 怎么开通企业邮箱客户端授权密码功能?
  18. python画笛卡尔心形线_伊对:学霸如何谈恋爱?揭秘不同专业的学霸表白方式
  19. 最新出炉的2018中国十大IT教育培训排行榜
  20. chromedriver 下载与安装方法[转]

热门文章

  1. C#和Java的代码转换工具(开源)CSharpJavaMerger Framework
  2. ASP.NET定时调用WebService 运行后台代码
  3. 请交一个关于域的问题
  4. csh for循环_shell中的for循环用法详解_linux shell
  5. 临床科研设计的主要内容
  6. spring日志报错提醒_使用爬虫框架htmlunit整合springboot出现的一个不兼容问题
  7. 箱线图怎么判断异常值_箱形图(Box-plot)识别异常值,是否有数据依据?还是经验法则?...
  8. 阿里云centos服务器rdp远程桌面规则_阿里云服务器使用教程 新手用户的好帮手...
  9. ISE简介及其下载 安装 和谐 与 卸载
  10. Quartus II 15.0详细安装步骤