一、   关于ELK实时日志分析平台

A.     Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

B.     Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

C.     Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

Filebeat、topbeat、packetbeat用于收集各应用、服务器等日志信息:

A.     Filebeat:自定义需要收集的日志信息;

B.     Topbeat:主要收集主机CPU、Mem、Disk、Process、Load等信息, 周期性的发送指标到elasticsearch。可以通过kibana创建自定义仪表盘如系统负载、服务器概述、内存或cpu使用情况、top进程、每个进程占用cpu或内存比例、磁盘使用情况等等。

C.     Packetbeat:是分布式的,实时的嗅探每个事务的请求与响应,并将相关数据插入到elasticsearch中。packetbeat被动的嗅探网络流量,因此不会干扰应用程序。

二、   ELK安装

1、   下载软件文件

可以到官网(https://www.elastic.co/downloads)下载最新版本rpm包安装

[root@operationelk]# ll

total155472

-rw-r--r--1 root root 27255779 Oct 13 09:11 elasticsearch-2.4.1.rpm

-rw-r--r--1 root root  4210383 Oct  7 05:04 filebeat-1.3.1-x86_64.rpm

-rw-r--r--1 root root 34652108 Sep  6 23:35kibana-4.6.1-x86_64.rpm

-rw-r--r--1 root root 84745974 Oct 13 09:08 logstash-2.4.0.noarch.rpm

-rw-r--r--1 root root  4665910 Oct  7 05:05 packetbeat-1.3.1-x86_64.rpm

-rw-r--r--1 root root  3661571 Oct  7 05:05 topbeat-1.3.1-x86_64.rpm

[root@operationelk]#

2、   安装

离线安装plugins
sudo bin/elasticsearch-plugin install file:///path/to/plugin.zip

yuminstall elasticsearch-2.4.1.rpm filebeat-1.3.1-x86_64.rpmlogstash-2.4.0.noarch.rpm kibana-4.6.1-x86_64.rpm topbeat-1.3.1-x86_64.rpm  -y

可以通过如下命令查看安装信息,由于内容较多,摘取主要信息

rpm -qlelasticsearch

rpm -qllogstash

rpm -qlkibana

rpm -qlfilebeat

rpm -ql topbeat

配置文件

# tree/etc/{elasticsearch,logstash,filebeat,topbeat}

/etc/elasticsearch

|--elasticsearch.yml              ##elasticsearch主配置文件

|--logging.yml                   ##elasticsearch日志配置文件

`--scripts

/etc/logstash

`--conf.d                                                            ##logstash配置目录

`-- filebeat-nginx.conf                           ##logstash会加载conf.d目录下所有.conf配置文件,默认没有需要自己编写配置规则

/etc/filebeat

|--filebeat.default               ##filebeat默认配置

|-- filebeat.template.json         ##topbeat索引模板,导入到elasticsearch

`--filebeat.yml                                        ##filebeat配置文件

/etc/topbeat/

|--topbeat.template.json          ##topbeat索引模板,导入到elasticsearch

`--topbeat.yml                   ##topbeat配置文件

安装主路径

# ls -ld/opt/{logstash,kibana}  /usr/share/elasticsearch/

drwxr-xr-x10 root     root     4096 10月 13 15:50/opt/kibana

drwxr-xr-x  5 logstash logstash 4096 10月 13 15:50/opt/logstash

drwxr-xr-x  6 root    root     4096 10月 13 15:50/usr/share/elasticsearch/

三、   ELK配置

1、   Logstash配置

grok部分可以通过http://grokdebug.herokuapp.com/网站进行匹配成功再往下配置,否则后面没有数据展示;grok正则匹配部分较为严谨,多个或少个空格都匹配不成功。

# cat/etc/logstash/conf.d/filebeat-nginx.conf

input {

beats {

port => 5044

}

}

filter {

grok {

match => {

message =>"%{IPORHOST:remote_addr} , \[%{HTTPDATE:timestamp}\] ,%{IPORHOST:http_host} , \"%{WORD:http_verb}(?:%{PATH:baseurl}\?%{NOTSPACE:params}|%{DATA:raw_http_request})\" ,%{NUMBER:http_status_code} , %{NUMBER:bytes_read} , %{QS:referrer} ,%{QS:agent} , \"%{IPORHOST:client_ip}, %{IPORHOST:proxy_server}\" , -, - , - , %{IPORHOST:server_ip} , %{BASE10NUM:request_duration}"

}

}

}

output {

elasticsearch {

hosts =>["192.168.xxx.157:9200"]

index => "pcgames_access-%{+YYYY.MM.dd}"

document_type => "nginx2"

}

#stdout { codec => rubydebug }

}

Nginx自定义日志格式:

log_format  beats  '$remote_addr, [$time_local] , $host , "$request" , '

'$status , $body_bytes_sent ,"$http_referer" , '

'"$http_user_agent" ,"$http_x_forwarded_for" , '

'$upstream_addr , $upstream_status, $upstream_response_time , '

'$server_addr , $request_time';

Nginx日志内容:

192.168.xxx.21, [27/Oct/2016:00:00:01 +0800] , img0.pcgames.com.cn , "GEThttp://img0.pcgames.com.cn/pcgames/1610/19/3602544_DotaPITS5.jpg HTTP/1.1", 304 , 0 , "http://fight.pcgames.com.cn/dota2/?type=checked" ,"Mozilla/5.0 (Linux; Android 5.1.1; vivo X7Plus Build/LMY47V)AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/38.0.0.0 MobileSafari/537.36" , "125.114.76.241, 192.168.xxx.35" , - , - , - ,192.168.xxx.23 , 0.000

2、   Elasticsearch集群配置

#  cat /etc/elasticsearch/elasticsearch.yml|grep -v '#'

cluster.name:pcgames

node.name:node-1

path.data: /data1/elastic/      ##elasticsearch数据存放路径

path.logs: /data1/elastic/logs   ##elasticsearch日志存放路径

network.host:0.0.0.0

http.port:9200

discovery.zen.ping.unicast.hosts:["192.168.xxx.157:9300", "192.168.xxx.202:9300"]   #es集群

node.master: true           ##将此节点配置为主节点

node.data:true

注:其他节点配置一样,如果只有两台主机集群,为防止脑裂,node.master一个配置为true做为主节点,一个配置false做为从节点

3、   Kibana配置

kibana最主要配置好elasticsearch主机信息,其他保持默认即可!

elasticsearch.url: http://localhost:9200

导入kibana报表模板

# wget http://download.elastic.co/beats/dashboards/beats-dashboards-1.0.0.tar.gz

# tarxzvf beats-dashboards-1.0.0.tar.gz

# cdbeats-dashboards-1.0.0/

./load.sh -url http://192.168.xxx.157:9200

4、   Topbeat

A、配置

cat/etc/topbeat/topbeat.yml |grep -v '#'

input:

period: 10

procs: [".*"]

stats:

system: true

process: true

filesystem: true

cpu_per_core: false

output:

elasticsearch:

hosts: ["192.168.xxx.157:9200"]

shipper:

logging:

files:

topbeat配置elasticsearch地址,其他保持默认即可

B、导入elasticsearch索引模板

# curl-XPUT 'http://localhost:9200/_template/topbeat'-d@/etc/topbeat/topbeat.template.json

{"acknowledged":true}

5、   Filebeat

A、配置

# cat/etc/filebeat/filebeat.yml

filebeat:

prospectors:

-

paths:

- /var/log/nginx.log          ##需要收集的日志

input_type: log

registry_file: /var/lib/filebeat/registry

output:

logstash:

hosts: ["192.168.xxx.157:5044"]     ##这里主机和端口注意要logstash所配置的端口

shipper:

logging:

files:

四、   ELK启动和关闭

1、   ELK启动

ELK启动没有严格意义上的先后顺序,但是Filebeat收集信息上报logstash;logstash需要写入数据到elasticsearch,Topbeat数据写入elasticsearch;kibana需要读取elasticsearch数据实现最终展示。所以一般按如下启动:

# /etc/init.d/elasticsearchstart

# /etc/init.d/logstashstart

# /etc/init.d/filebeatstart

# /etc/init.d/topbeatstart

# /etc/init.d/kibanastart

2、   ELK关闭

#/etc/init.d/kibana stop

#/etc/init.d/filebeat stop

#/etc/init.d/topbeat stop

#/etc/init.d/logstash stop

#/etc/init.d/elasticsearch stop

五、   Kibana使用和展示

启动kibana后,访问http://192.168.xxx.157:5601/出现如下界面,提示创建索引

1、   创建索引Index

2、   定制可视化图形(visualization)

在这里可以创建新的可视化图形或者打开保存的可视化图形:

当我们需要定制自己定义的数据源时,我们需要选择创建新的图形,现在我们来创建一个饼状图形。

选择我们刚刚创建的index数据源

3、   创建仪表盘

附上 百度云盘共享安装包:http://pan.baidu.com/s/1hs2q4tQ

ELK中文指南   http://kibana.logstash.es/content/index.html

grok debug :http://grokdebug.herokuapp.com/

运维生存时间:http://www.ttlsa.com/log-system/elk/

Elk实时日志分析平台搭建相关推荐

  1. 手把手教你搭建 ELK 实时日志分析平台

    来自:武培轩 本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash ...

  2. 手把手教你如何快速搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  3. asp.net core结合NLog搭建ELK实时日志分析平台

    0.整体架构 整体架构目录:ASP.NET Core分布式项目实战-目录 一.介绍ELK 1.说明(此篇ELK采用rpm的方式安装在服务器上)-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp ...

  4. ELK实时日志分析平台环境部署--完整记录

    在日常运维工作中,对于系统和业务日志的处理尤为重要.今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ ==== ...

  5. ELK实时日志分析平台的搭建部署及使用

    一. ELK初步接触 1.1 为什么要用ELK 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以 ...

  6. 大数据主题分享第三期 | 基于ELK的亿级实时日志分析平台实践

    猫友会希望建立更多高质量垂直细分社群,本次是"大数据学习交流付费群"的第三期分享. "大数据学习交流付费群"由猫友会联合,斗鱼数据平台总监吴瑞诚,卷皮BI技术总 ...

  7. 视频教程-【2019精品课】构建ELK海量日志分析平台-ELK

    [2019精品课]构建ELK海量日志分析平台 10年一线开发及项目管理经验,6年以上大数据项目架构.实施.开发与运维经验,骨灰级大数据玩家,对Hadoop.Storm.Spark.Flink.Kyli ...

  8. ELK——ElasticStack日志分析平台

    ElasticStack日志分析平台 ELK日志采集与分析系统概述 重读日志文件 使用Processors(处理器)过滤和增强数据 Logstash Logstash安装 使用Grok过滤器插件解析W ...

  9. ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...

最新文章

  1. SD-WAN — 应用场景
  2. Use Ghidra To Reverse GenyMotion—Suggestion
  3. html长图滚动,Axure教程:长页或长图滚动效果
  4. Node — 第一天
  5. C语言基础总结Part
  6. Perl: print @globbing.\n; 和 print @globbing; 不一样,一个已经转换为数组元素个数了...
  7. 将pdbqt文件转成SMILES文件
  8. TensorFlow 1.9.0正式版来了!新手指南全新改版,支持梯度提升树估计器
  9. python手写数字识别实验报告_机器学习python实战之手写数字识别
  10. vue实现点击图片放大显示功能
  11. Android事件分发机制综述
  12. 5个可以让你事半功倍的Python自动化脚本
  13. 【数仓】数据质量监控
  14. ue4 启用ui_如何实现语音的AI启用ui设计原则
  15. java 大臣的旅费_蓝桥杯2013-java大臣的旅费
  16. 搭建游戏平台用哪里的高防服务器比较好
  17. Xilinx PLL
  18. kaggle 2018 data science bowl 细胞核分割学习笔记
  19. 【图论】计蒜客商汤在线编程挑战赛 D题 白色相簿
  20. 位运算 位运算应用

热门文章

  1. IE,火狐,谷歌之间差异
  2. 关于微信小程序danmu-List所遇到的坑
  3. C++如何获取虚函数表(vtbl)的内容及虚成员函数指针存放原理
  4. 利用SUMIF和OFFSET+MATCH进行多条件求和
  5. 微信公众号(八)——关注时自动回复(文字 图片)
  6. eclipse背景怎么改颜色
  7. Android统一推送联盟成立
  8. iOS goback页面刷新问题
  9. 众盟超级推的“私域营销”,如何实现人人优活的流量十倍增?
  10. 遥感影像基于样本的面向对象分类方法