zoukankan      html  css  js  c++  java
  • 谁说运维用ELK没用?我就说很有用,只是你之前不会用【转】

    1.安装JDK

    1)登陆ORACLE官网 (http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html )下载JDK

    2)将jdk包放到目录/home/app下,执行解压命令

    tar -xvf jdk-8u101-linux-i586.tar.gz

    3)添加java环境变量

    export JAVA_HOME=/home/app/java/jdk1.8.0_101

    export PATH=$JAVA_HOME/bin:$PATH

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

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    4)java配置生效

    source /etc/profile

    5)查看jdk是否安装成功

    java -version

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    2.安装配置Logstash

    1)上传logstash-2.4.0.zip到 /home/app目录下

    2)解压logstash-2.4.0.zip

    unzip logstash-2.4.0.zip

    3)查看logstash 是否可以正常运行

    进入/home/bin/logstash-2.4.0/bin 目录,执行命令 ./logstash -v,返回信息:

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    输入 hello logstash,查看返回结果

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    4)新建patterns 目录,添加gork配置文件hirecar_log_pattern(定义gork信息)

    ANYTHING .+

    BROWSER [a-zA-Z0-9.@-+_%]+/[0-9]+.[0-9]+

    NGUSERNAME [a-zA-Z.@-+_%]+

    NGUSER %{NGUSERNAME}

    NGINXACCESS %{IPORHOST:clientip} %{NGUSER:ident} %{NGUSER:auth} [%{HTTPDATE:timestamp}] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer}) %{QS:agent} %{QS:xforwardedfor} %{IPORHOST:host} %{BASE10NUM:request_duration}

    5)新建ifo_confs目录,添加hirecarlog文件(定义输入,输出,过滤器)

    input {

    file {

    path => "/home/app/hirecarlog/*"

    start_position => beginning

    }

    }

    filter {

    grok {

    patterns_dir => "/home/app/logstash-2.4.0/dir"

    match => {

    "message" => "%{IPORHOST:clientip} %{NGUSER:ident} "%{NGUSER:ident2}" %{NGUSER:ident3} [%{HTTPDATE:timestamp}] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) "(%{URI:referrer}|-)" %{ANYTHING:anything}"

    }

    }

    grok {

    patterns_dir => "/home/app/logstash-2.4.0/dir"

    match => {

    "clientip" => "%{NUMBER:xx}"

    }

    remove_field => ["message","host","ident","ident2","ident3","httpversion","bytes","xx","anything"]

    }

    date{

    match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]

    }

    }

    output {

    stdout {

    codec => rubydebug

    }

    elasticsearch{

    hosts => ["localhost:9200"]

    }

    }

    3 安装Elasticsearch

    1)解压 elasticsearch-1.5.0.zip

    2)/home/app/elasticsearch-1.5.0/config目录下 修改文件 elasticsearch.yml

    修改cluster.name 为 hirecar

    注释信息:

    network.bind_host

    network.publish_host

    network.host

    注:elasticsearch 2.4.0 需要指定IP:即修改network.host属性值。

    3)安装插件 head

    elasticsearch/bin/plugin -install mobz/elasticsearch-head

    4)后台启动elasticsearch ./elaticsearch -d

    5) 查看elasticsearch运行状态:host:9200/ ,返回elasticsearch基础信息

    {

    "status" : 200,

    "name" : "50 hirecar",

    "cluster_name" : "hirecar",

    "version" : {

    "number" : "1.5.0",

    "build_hash" : "544816042d40151d3ce4ba4f95399d7860dc2e92",

    "build_timestamp" : "2015-03-23T14:30:58Z",

    "build_snapshot" : false,

    "lucene_version" : "4.10.4"

    },

    "tagline" : "You Know, for Search"

    }

    6)通过head插件查看elasticsearch运行详细信息:访问:host:9200/plugin/_head

    4.安装kibana

    1)解压kibana-4.1.11-linux-x64.zip

    2)定义kibana访问的elasticsearch地址属性:elasticsearch_url

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    3)注释服务绑定地址属性: host

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    4)$Kibana_HOME/bin 目录下,启动kibana服务 ./kibana

    5)验证kibana是否启动正常,访问链接: http://host:5601/

    5.kibana简单应用 -创建一个饼状图

    1) 访问Visulize选型,选择创建饼状统计分析图

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    2)点击创建一个新查询条件

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    3)选择时间,定义统计指标,定义统计分区

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    4)点击执行按钮后,返回指定时间范围内排名前20的IP访问地址

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    6 运维使用ELK效果展示

    上述的内容仅是简单介绍了ELK的部署,但是很多人会问,我能用ELK来做什么?如果你是一个开发,那么你可以用ELK来进行大数据分析和自定义图标,制作报表等;如果你是一个运维,那么你可以用ELK来收集你各个系统的系统日志、安全日志、用户操作记录等等,当然你也可以收集程序日志,但是前提是你的程序日志不是debug模式,不然ELK收集的日志会让你怀疑人生(因为实在是太多太多的日志输出了)。

    下面我来展示下运维使用ELK的简单例子,也是我们公司目前在用的一个审计手段:

    1)操作系统用户操作记录审计功能

    该功能可以实现,任何用户任何时间只要在操作系统上进行了操作,他的操作指令就会立即传输到ELK中的Elasticsearch中,即使用户在操作系统上清除了操作记录也没用,依然是可以记录到。该功能可以为操作审计提供一大助力。

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    2)记录安全日志

    该功能可以统计系统上用户登录次数等,过滤关键字可以查看时间段内是否有人包里破解系统,这个功能可以作为日常巡检中的一项,提高系统安全性。

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    3)查看系统日志,判断系统是否出现异常情况

    通过过滤Error或Warn等关键字眼,可以巡查是否有服务器出现了系统异常。该功能也可以作为日常巡检工作之一,确保服务器能够正常运作。

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    4)进行绘图,自定义控制面板查看重要信息

    例如我想看下我的操作系统每天都有多少次登录信息、或者说是否有人在服务器上进行了危险操作,或者系统是否出现了异常输出等等,均可以自定义控制面板。点击向上按钮可以查看面板图中的相关信息。

    谁说运维用ELK没用?我就说很有用,只是你之前不会用

    转自

    谁说运维用ELK没用?我就说很有用,只是你之前不会用
    http://www.toutiao.com/i6445042259703366157/

  • 相关阅读:
    Spring 多数据源 @Transactional 注解事务管理
    Spring 多数据源 @Transactional 注解事务管理
    Spring 与 SpringMVC 容器父子关系引出的相应问题
    Spring 与 SpringMVC 容器父子关系引出的相应问题
    Mongodb 备份 还原 导出 导入 等批量操作
    Mongodb 备份 还原 导出 导入 等批量操作
    关于WEB-INF目录不提供外部访问及JSP引用 js,css 文件路径问题
    关于WEB-INF目录不提供外部访问及JSP引用 js,css 文件路径问题
    svn工具的使用问题总结
    svn工具的使用问题总结
  • 原文地址:https://www.cnblogs.com/paul8339/p/7324195.html
Copyright © 2011-2022 走看看