ELK搭建

  1. 云栖社区>
  2. 博客>
  3. 正文

ELK搭建

sea-boat 2016-11-30 14:15:34 浏览1045
展开阅读全文

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内核设计剖析》

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

网友评论

登录后评论
0/500
评论