ELK 使用汇报 & 分享

内容有几个方面:

1、当前的状况

3、期望的改良

当前的情况

SSO & HD

                        日质量/日              日志数/日

SSO           130G                       1y

HD               17G                         x


ngixn的访问日志,550 G/日

林林总总差不多小 1T


【传说】北京-宝哥(976692466) 16:24:45

小伙子啊,你这数据量很需要来培训啊

当前的情况

1T 的意义和作用


业务上,正常、异常

分析正常的,通过数据挖掘来分析出一些东西。比如访问量预测、机器人判断、推荐。

                         分析异常

        减少异常<--↑↓--> 强壮业务代码

                         业务代码


当前的情况

目前的监控系统对 SSO 的作用更大些。

现在能实现的功能:

1、日常的宏观查看

2、邮件报警

当前的情况

问题:


open-falcon 宏观现象,细节无法探及,日志的浪费。

日志格式不统一  -->  微服务化,接口形式。

目前结构的优化[角色转变]。

ELK  简单介绍 (为什么)

ELK = Elasticsearch + Logstash + Kibana

Java、JRuby、NodeJS。

他们的作用和协作如下:


logs  --------↓

logs  --- Logstash → log → Elasticsearch → knowledge → Kibana → 老王

logs  --------↑


 

ELK 试水结构

ELK 试水


 

Aug 7 00:00:00 10.110.92.168 sso[835]: UserActionLog|2016-08-07 00:00:00 login UserActionLog clientLoginError 121.238.39.39&15581079968&mobile_tv&0&1037&&&&64:HL:45:33:K2:66&575359390012569&1&1470499200.0589




Aug 7 00:00:00 10.150.120.21 sso[27468]: UserStatLog|2016-08-07 00:00:00 sso UserStatLog login uid:132624709&action_type:login&account_type:mobile&plat:tv_letvcount&client:app&server:mainland&ip:122.193.239.252

"message" => [

[ 0] "Jul",

[ 1] "31",

[ 2] "00:00:00",

[ 3] "10.183.93.210",

[ 4] "sso[28643]:",

[ 5] "UserActionLog|2016-07-31",

[ 6] "00:00:00",

[ 7] "login",

[ 8] "UserActionLog",

[ 9] "clientLoginError",

[10]"60.13.74.143&15625979037&mobile_tv&0&1037&&&&39:1E:89:51:ZH:26&243995801224226&1&1469894400.001"], 

Logstash 配置示例

input {

    tcp {

        port => 6667

        type => syslog

    }

}


filter {

    mutate {

        split => ["message", " "] 

        add_field =>{

            "data" => "%{[message][-1]}"

        }

    }


    # 登录成功

    if [message][8] == "UserStatLog" and [message][9] == "login" {

        kv {

             source => "data"

             field_split => "&" 

             value_split => ":"

         }

        mutate {

            update => {"action_type" => "login.succ"}

            remove_field => "data"

    }

# 登录失败

    }else if [message][8] == "UserActionLog" and ([message][9] == "clientLoginError" or [message][9] == "loginsubmitError"){

        mutate {

            split => ["data", "&"]

            add_field =>{

                "ip" => "%{[data][0]}"

                "uid" => "%{[data][1]}"

                "action_type" => "login_fail"

                "plat" => "%{[data][2]}"

                "server" => "mainland"

                "errcode" => "%{[data][4]}"

             }

             remove_field => "data"

        }

    }else { drop{} }

}

output {

    elasticsearch {

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

        hosts => ["10.148.16.174","10.110.80.71"]

    }

}  


期望的改良

将来

完成了业务的监控,还要完善硬件系统的监控。

逐渐稳定化,可用化 ELK 监控系统,为大家提供一些有用的知识。

Create a presentation like this one
Share it on social medias
Share it on your own
Share it on social medias
Share it on your own

How to export your presentation

Please use Google Chrome to obtain the best export results.


How to export your presentation

New presentation

by 261337699

43 views

Public - 8/7/16, 3:09 AM