zoukankan      html  css  js  c++  java
  • elk的安装部署

    Elk日志安装文档

     

    需要用到有三个软件包 和redis

     

    分布式部署:已上图就是分布式部署的架构图

    Logstash :    是部署在前台的应用上,收集数据的

                  和部署在redis和elasticsearch中间充当索引

    Elasticsearch: 部署在logstash之后的,将logsstash收集的数据存储

    Kibana     : 部署在最后,经elasticsearch收集的数据通过页面展现出来(默认端口号:5601)

    我这里部署的logstash  elasticsearch   kibana   在一台服务器上,但是应用的服务器还是要不是logstash的

    开始部署:

    Server端:(logstash  clasticsearch   kibana的部署)需要jdk环境

    将软件包上传的要安装的目录,我安装目录是/picclife (注:要用普通用户暗转,不然不安全)

    我有的是app_admin用户

    安装jdk环境我安装在/picclife

    编辑app_admin 用户的jdk变量

    vim  /home/app_admin/.bash_protfile

    PATH=/picclife/jdk1.8.0_65/bin/:$PATH:$HOME/bin

    export PATH

    export JAVA_HOME=/picclife/jdk1.8.0_65/

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

    申明变量:source  /home/app_admin/.bash_protfile

    查看java  -version

    安装logstash:

    tar -zxf logstash-5.3.0.tar.gz

    在/picclife/logstash-5.3.0/config 创建一个logstash.conf  .conf结尾的文件

    编辑vim  logsstach.conf

    input{

            redis{

                    batch_count => 1

                    data_type => "list"

                    key => "logstash-uap-list"    #logstach应用的服务器上一样就可以

                    host => "10.135.100.86"  #redis的ip

                    port => 6379               #redis的端口好

                    password => "nick123"       #redis的密码

                    db => 2  #redis的索引(可以在redis上查看一下如没人用就可以最下面有截图)

                    threads => 1

            }

    }

    output{

            elasticsearch{

                    hosts => ["10.135.33.129"]   #elasticsearch的ip

                    index => "uap-log"

            }

            stdout{

                    codec => rubydebug{}

            }

    }

    编辑启动脚本在/picclife/logstach-5.3.0

    vim logstash_start.sh

    nohup /picclife/logstash-5.3.0/bin/logstash -f /picclife/logstash-5.3.0/config/logstash.conf  >> /picclife/logstash-5.3.0/logs/logstash-start.log 2>&1 &  #nohup后台运行 将启动的程序追加到logstash-start.log文件里 可以到这个文件查看启动报不报错

    在/picclife/logstach-5.3.0创建logs目录

    mkdir  logs

    执行脚本启动

    sh logstash_start.sh

    关闭是: ps -ef |grep logstash  kill  查到的进程

    安装elasticsearch 

    tar -zxf elasticsearch-5.3.0.tar.gz

    编辑启动脚本在/picclife/elasticsearch-5.3.0

    vim elasticesarch_start.sh

    nohup /picclife/elasticsearch-5.3.0/bin/elasticsearch  >> /picclife/elasticsearch-5.3.0/logs/elasticsearch-start.log 2>&1 &

    在/picclife/elasticsearch-5.3.0 下创建logs目录

    mkdir  logs

    启动 sh  elasticseart_start.sh

    关闭  ps  -ef|grep elasticseart  kill  查到的进程

     

    安装 kibana  

    tar -zxf kibana-5.3.0-linux-x86_64.tar.gz

    /picclife/kibana-5.3.0/config 编辑

    vi kibana.yml 指向elasticsearch的ip

     

    /picclife/kibana-5.3.0/创建启动脚本

    vi kibana_start.sh

    nohup /picclife/kibana-5.3.0/bin/kibana  >> /picclife/kibana5.3.0/logs/kibana-start.log 2>&1 &

    kibana-5.3.0创建logs目录

    mkdir  logs

    启动是 sh  kebana_start.sh

    关闭是ps  -ef|grep node   kill  查到的进程 (kibana是不需要jdk环境的)

    Redis 查看一显现是可以

     

    服务器基本安装完成开始安装客户端:(jdk环境)

    解压:

    tar -zxf logstash-5.3.0.tar

    在/picclife/logstash-5.3.0/config创建logstash.conf 的文件

    Vim logstash.conf

    input{

            file{

                    path => ["/picclife/apache-tomcat-8.0.30/logs/catalina.out"] #监听的日志

                    type => "uap-log-all"

                    start_position => "beginning"

            }

    }

    filter{

        grok {

            patterns_dir => "/picclife/logstash-5.3.0/config/patternsutils"  #需要创建这个文件有日志格式的这则

            match => {

                "message" =>

                    [

                        "%{TIMESTAMP_ISO8601:RequestTime}%{SPACE}%{MATCHSTR:RequestName}%{SPACE}>>>%{SPACE}%{USERNAME:RequestId}%{SPACE}>>>%{SPACE}%{ROUTEID:RdID}%{SPACE}<<<%{SPACE}SystemNo:%{ZW:SystemNo}\,%{SPACE}InterfaceNo:%{ZW:InterfaceNo}\,%{SPACE}InterfaceName:%{ZW:InterfaceName}\,%{SPACE}Flag:%{ZW:Flag}\,%{SPACE}CostTime:%{INT:CostTime}%{SPACE}%{ZW:other}"

                    ] #日志格式

                }

            remove_field => [ "message","other"]

        }

        ##过滤日志(过滤掉requestName!=camlelog的记录)

        if [RequestName]!="camellog" and [RequestName]!="gatherlog"{

            drop{}

        }

        date {

            match => ["RequestTime", "MMM dd YYY HH:mm:ss", "MMM  d YYY HH:mm:ss", "ISO8601"]

            locale => "en"

            #timezone => "+00:00"

            remove_field => [ "RequestTime" ]

        }

        mutate {

            convert => { "CostTime" => "integer" }

        }

    }

    output{

            redis{

                    data_type => "list"

                    key => "logstash-uap-list"

                    host => "10.135.100.86" #redis  ip

                    port => 6379           #redis端口

                    password => "nick123"   #redis的密码

                    db => 2                #redis的索引和上面的一样

            }

        stdout{

            codec => rubydebug{}

        }

    }

    /picclife/logstash-5.3.0/config/下穿件patternsutils文件

    Vim patternsutils

    ZW (.*)

    SPSTR (([sS]*))

    ###匹配{....}格式的字符串

    DKH ({.*})

    ###匹配字母

    MATCHSTR ([A-Za-z]*)

    ###java 时间格式  2017-05-26 08:01:03

    JAVA_DATE %{DATE_EU} %{TIME}

    ###匹配XXX{....}、XXX[...]以及XX字符

    DKHBODY ((.*{.*})|(.*[.*])|(.*))

    ###匹配(

    LEFTBRACKET (()

    ###匹配)

    RIGHTBRACKET ())

    ###匹配括号里的routeid

    ROUTEID (.{5,9})

    /picclife/logstash-5.3.0 创建启动脚本

    vim  logstash_start.sh

    nohup /picclife/logstash-5.3.0/bin/logstash -f /picclife/logstash-5.3.0/config/logstash.conf  >> /picclife/logstash-5.3.0/logs/logstash-start.log 2>&1 &

    /picclife/logstash-5.3.0/创建logs

    mkdir  logs

    关闭: ps -ef |grep logstash  kill  查到的进程

    到此elk的安装完成

    有道云笔记的参考

    http://note.youdao.com/noteshare?id=a6bce94ea32d5fce9a2b1705d6a272aa

  • 相关阅读:
    学习H5一周随笔
    vue项目中vux的使用
    git操作常用命令
    vue2.0 实现全选和全不选
    鼠标事件以及clientX、offsetX、screenX、pageX、x的区别
    js编写当天简单日历
    UIView.frame的骗局
    设计模式笔记感悟
    实用图像处理入门
    实用图像处理入门
  • 原文地址:https://www.cnblogs.com/houchaoying/p/8469149.html
Copyright © 2011-2022 走看看