• ELK的简单安装使用


    ELK
    ELK是什么?
    Elasticsearch
    LogStash
    Kibana
     
     
    1,简单的安装
    我采用的是本地window环境;
    下载的包如下:
     
    首先安装的是jdk8,安装完成之后,设置路径,
     
    增加一个系统变量 JAVA_HOME 值为安装的jdk目录;
    编辑系统变量 PATH 在值的末尾添加 ;%JAVA_HOME%/bin
     
    打开命令行窗口,输入 java -version; 看看是否安装成功;
     
    输入输出的版本号是1.8开头的,则jdk8环境安装完成;
     
    elk的最新版本都是依赖的jdk1.8
     
     
    然后安装的是elasticResearch;
    直接解压到某个目录
     
     
    elasticSearch 是一个分布式的,支持REST风格的搜索和分析工具。
     
     
    这次什么配置都不用更改,使用它的默认配置,
    打开命令行窗口,把bin目录下的 elasticsearch.bat 拖拽到命令行窗口,即可启动;
     
    从命令行输出可以看到,已经成功的启动了,开启了两个端口 9200,9300
    9200是 httpserver,可以通过浏览器直接访问到。
    9300是 TransportService, clusterService ,是交换服务和集群服务,集群节点编号0;
     
    可以看到这个 elasticSearch的集群信息;
     
    先不去详细研究,把基础环境搭建起来再看。
    接下来,安装kibana;
     
    这是一个把数据边的可视化,并且提供一个导航查询的工具。看里面的文档结构,基于nodejs写得;
    配置kibana;英文注释写的很清楚;
    打开命令行窗口,把bin下面的 kibana.bat 的拽到命令行窗口下,即可运行kibana;并且链接上了elastic;
    打开 127.0.0.1:5601之后会要先配置索引,选择默认的即可;
    然后即可查询;
     
    最后安装的是logstash
    这是一个日志收集工具, 分成四步,收集,过滤,转换,输出;
     
    首先需要配置好 logstash
    input { stdin { } }
     
    filter {
    grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
    date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
    }
    }
     
    output {
    elasticsearch { hosts => ["localhost:9200"] }
    stdout { codec => rubydebug }
    }
     
     
    主要配置了一个message的格式,和时间戳的格式;
     
    使用脚本启动 D:logstash-5.1.1inlogstash.bat -f D:logstash-5.1.1configl
    ogstash.conf
     
    即可把在命令行中输入的数据,传输到 elasticSearch ;
     
    然后在kibana中展示出来;
     
     
    最后一个简单的应用,把tomcat的异常日志和错误日志使用logstash,传输到 elasticSearch
     
    配置文件:
    input {
    file { 
    path => "D:/tomcat/apache-tomcat-7.0.62/logs/localhost_access_log*.txt" 
    type => "apache_access_log"
    add_field => {"tomcatip" => "172.27.42.22"}

    }

    filter{
    if [type] == "apache_access_log" {
    grok{
    match => { "message" => "%{IPORHOST:clientip} %{USER:ident} %{USER:auth} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{URIPATHPARAM:request}(?: HTTP/%{NUMBER:httpversion})?|-)" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{NUMBER:responsetime} "(?:%{URI:referrer}|-)" %{QS:agent}" }
    }
    date{
    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
    target => ["writetime"]
    }
    mutate {
    convert => { 
    "response" => "integer" 
    "bytes" => "integer" 
    "responsetime" => "integer" 
    }
    }
    }
    }

    output {
    if [type] == "apache_access_log" {
    elasticsearch {
    hosts => "127.0.0.1:9200"
    index => "logstash-apacheaccesslog-%{+YYYY.MM.dd}"
    }
    }
    }
    然后在kibana中可以看到tomcat的访问日志数据,并可以对它的访问情况定制仪表盘,得到BI报表;
     
    直接使用filebeat抓取tomcat的日志
    修改配置文件:
     
     
    使用命令启动:
    然后可以在kibana中查找到收集过来的数据;
     
  • 相关阅读:
    神策Loagent数据收集 windows部署的坑
    hive算法报错..
    检查SQL语句是否合法
    This operation is not available unless admin mode is enabled: FLUSHDB
    关于scrollLeft的获取在不同浏览器或相同浏览器的不同版本下的获取
    Vue-cli创建项目从单页面到多页面4
    Vue-cli创建项目从单页面到多页面3-关于将打包后的项目文件不放在根目录下
    Vue-cli创建项目从单页面到多页面2-history模式
    Vue-cli创建项目从单页面到多页面
    关于网络硬件配置出现问题,无法上网问题的解决
  • 原文地址:https://www.cnblogs.com/snidget/p/6269383.html
Copyright © 2020-2023  润新知