ELK搭建

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: ELK安装elasticsearch安装 * 下载elasticsearch-5.0.0.tar.gz,并解压。

ELK安装

elasticsearch安装
* 下载elasticsearch-5.0.0.tar.gz,并解压。

  • 通过elasticsearch.yml可设置host和port。
vim config/elasticsearch.yml 
network.host: 192.168.33.10

http.port: 9200
  • 通过jvm.options可设置jvm相关参数。
vim config/jvm.options
  • 后台方式启动elasticsearch。
./bin/elasticsearch -d
  • 验证是否安装成功,通过http://192.168.33.10:9200/?pretty返回类似下面的json格式即安装成功。
curl 'http://192.168.33.10:9200/?pretty'
{
  "name" : "Y88DRRb",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "-WVdXX65Rw6dpo7Ne8WX0A",
  "version" : {
    "number" : "5.0.0",
    "build_hash" : "253032b",
    "build_date" : "2016-10-26T04:37:51.531Z",
    "build_snapshot" : false,
    "lucene_version" : "6.2.0"
  },
  "tagline" : "You Know, for Search"
}

logstash安装
* 下载logstash-5.0.2.tar.gz并解压。
* 验证是否安装成功,通过./bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}',然后输入hello。返回类似如下信息则安装成功。

{
       "message" => "hello",
      "@version" => "1",
    "@timestamp" => "2016-11-30T02:40:16.043Z",
          "host" => "hb-localhost"
}

kibana安装
* 下载kibana-5.0.1-linux-x86_64.tar.gz并解压。
* 通过kibana.yml可设置kibana主机和端口,及elasticsearch服务地址。

vim config/kibana.yml
server.port: 5601

server.host: "192.168.33.10"

elasticsearch.url: "http://192.168.33.10:9200"
  • 启动kibana。
./bin/kibana
  • 浏览器输入http://192.168.33.10:5601/即可进入kibana。

应用日志输出格式

  • 为方便logstash处理,尽量让日志以json格式输出,比如下面格式:
{"sql":"select * from product","time":"22","exception":"nullpointException","timeConsuming":"1231ms"}
  • 日志文件名可以以天分割,比如db-2016-11-29.log。

logstash处理日志

  • 创建logstash的配置文件logstash.conf,内容如下。input用于声明日志文件位置及处理相关配置。logstash会匹配db-xxx.log日志并从头开始处理,以json格式解析。output用于声明处理后的输出,将以common-sql-%{+YYYY.MM.dd}索引名输出到192.168.33.10:9200的es上。
input {
     file {
        path => "/home/vagrant/logstash/db-logs/db-*.log"
        start_position => "beginning"
        type => "sql"
        codec => json {
            charset => "UTF-8"
        }        
     }
}
output { 
    if "_grokparsefailure" in [tags] {
    }else{
        if [type] == "sql"{
                elasticsearch { 
                         hosts => ["http://192.168.33.10:9200"]
                         index => "common-sql-%{+YYYY.MM.dd}"
                }
       }
    }   
}

kibana展示

  • logstash处理后输出到es后即有日志了。

  • 浏览器输入http://192.168.33.10:5601/进入主界面。

这里写图片描述

  • 创建新的索引匹配 : Management -> Index Patterns -> Add New -> 输入common-sql-* -> Create

这里写图片描述

  • 查看写入到es的日志记录,Discover -> 选择 common-sql-* -> 右上角选择时间 -> 搜索。

这里写图片描述

  • 创建一个可视化,Visualize -> Line chart -> common-sql-* -> X-Axis -> Aggregation 选择 Terms -> Field 选择 time.keyword -> Apply changes

这里写图片描述

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
消息中间件 监控 数据可视化
一口气完成ELK 日志平台的搭建,我感觉我又行了!
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
|
消息中间件 数据采集 监控
ELK搭建(五):linux系统日志监控平台搭建
现在的生产系统多使用linux系统,在实际生产过程中我们除了需要监控一些业务日志之外,有时也需要监控linux系统本身的日志,来帮助我们进行一些排错和判断。那么这一期,我们就针对linux系统日志监控平台的搭建来进行讲解 与往期一样,我们针对实际搭建教程更多是快速搭建为主,不做过多的原理性讲解,这一类讲解我们放到后期单独开几期博客来探讨。
772 0
ELK搭建(五):linux系统日志监控平台搭建
|
消息中间件 数据采集 监控
ELK搭建(四):监控mysql慢查询、错误日志日志
因为mysql免费、稳定以及还不错的性能,是当前市面上多数公司的数据库选择。在实际的生产环境中我们更需要及时知道数据库中的报错日志、慢日志等信息,来帮助我们进行排错和优化。 普通的到服务器上去查看日志的方式并不方便,特别是涉及到分布式部署时,因此我们需要一个统一的监控平台来实时、方便的查看这些日志数据。
745 0
ELK搭建(四):监控mysql慢查询、错误日志日志
|
消息中间件 监控 NoSQL
ELK搭建(十三):搭建Nginx资源访问率、丢包率、读写率等运行性能监控平台
Nginx是一款轻量级、高性能的流量分发和反向代理的web服务。随着市场业务量的增加,普通的web容器,如tomcat的并发量已经远不能满足我们的业务量,同时随着分布式架构的普及,我们需要一款反向代理服务的支持,于是Nginx应运而生。 Nginx已经在大多数业务中普遍使用,因此针对Nginx的性能监控十分必要,这样我们才能实时掌握服务器请求情况和运行效率 所以今天,我们的目标就是搭建一个Nginx运行性能监控平台
396 0
ELK搭建(十三):搭建Nginx资源访问率、丢包率、读写率等运行性能监控平台
|
消息中间件 数据采集 监控
ELK搭建(十二):搭建Nginx访问、错误日志监控平台
Nginx是一款轻量级、高性能的流量分发和反向代理的web服务。随着市场业务量的增加,普通的web容器,如tomcat的并发量已经远不能满足我们的业务量,同时随着分布式架构的普及,我们需要一款反向代理服务的支持,于是Nginx应运而生。 Nginx已经在大多数业务中普遍使用,因此针对Nginx的流量监控,错误日志监控极其必要,这样才能让我们能够及时了解系统运行情况。 那么今天,我们就来看看如何搭建Nginx访问记录、错误日志监控平台
340 0
ELK搭建(十二):搭建Nginx访问、错误日志监控平台
|
消息中间件 存储 JSON
不得不学!从零到一搭建ELK日志,在Docker环境下部署 logstash 工具
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
|
监控 数据可视化 Go
不得不学!从零到一搭建ELK日志,在Docker环境下部署 Filebeat 日志收集工具
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
|
数据可视化 数据挖掘 定位技术
不得不学!从零到一搭建ELK日志,在Docker环境下部署 Kibana 可视化工具
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
|
自然语言处理 运维 监控
不能不学!从零到一搭建ELK日志,在Docker环境下部署 Elasticsearch 数据库
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
|
存储 运维 监控
ELK搭建(十一):搭建MongoDB运行情况监控平台
mongoDB作为基于磁盘的非关系型数据库,JSON格式数据存储方式,具有优秀的查询效率。越来越多的场景使用到了MongoDB。在生产运维中,更需要我们能够实时的掌握mongo的运行情况,以方便我们数据库运行问题做出及时的调整和补救。
269 0
ELK搭建(十一):搭建MongoDB运行情况监控平台