• elk7.2+filebeat


    ELK (Elasticsearch + Logstash + Kibana),是一个开源的日志收集平台,用于收集各种客户端日志文件在同一个平台上面做数据分析。

    ELK组件:

    • Elasticsearch:负责日志检索和储存
    • Logstash:负责日志的收集和分析、处理
    • Kibana:负责日志的可视化
    • 这三款软件都是开源软件,通常是配合使用,而且又先后归于Elastic.co公司名下,故被简称为ELK

    ELK安装:

    一:环境

    说明:安装包版本均使用7.2.0,同时客户端使用Firebeat采集日志数据,建议提前下好安装包上传至服务器

    如果是压缩包安装需添加elk用户,Elasticsearch用root启动会报错

    groupadd  elk
    useradd -g elk elk 
    passwd elk

    安装java8:

    yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

    二:安装 Elasticsearch:  这里使用rpm包安装

     

    rpm -ivh elasticsearch-7.2.0-x86_64.rpm
    rpm -ivh kibana-7.2.0-x86_64.rpm
    rpm -ivh logstash-7.2.0.rpm

     rpm 安装后会自东生成system服务

    启动  systemctl start elasticearch

    启动后默认监听端口

    修改配置文件

    vim /etc/elasticsearch/elasticsearch.yml

    cluster.name: my-application
    node.name: es1
    path.data: /var/lib/elasticsearch
    path.logs: /var/log/elasticsearch
    network.host: "0.0.0.0"
    http.port: 9200
    cluster.initial_master_nodes: ["es1"]

    验证  curl  127.0.0.1:9200 (备注:单机默认配置无需修改,如需配置network-host等配置,必须设置

    cluster.initial_master_nodes: ["es1"],否者启动会报错)

     

    rpm安装的安装包配置文件默认均在/etc/相关目录下

    三: kibana配置(rpm包上面已经安装,直接修改配置文件)

    vim  /etc/kibana/kibana.yml

    server.port: 5601
    server.host: "0.0.0.0"
    server.name: "es1"
    elasticsearch.hosts: ["http://127.0.0.1:9200"]
    kibana.index: ".kibana"

    systemctl start kibana

    修改yml文件注意格式,key和vlaue必须有空格

    kibana默认监听5601端口

    访问http://192.168.18.144:5601

     四:logstash配置

    vim /etc/logstash/logstash.yml

    path.data: /var/lib/logstash
    path.config: "/etc/logtash/conf.d"
    path.logs: /var/log/logstash

     这里加入了一个include的目录

    同时链接到软件目录下方便后面修改

     ln -s /etc/logstash /usr/share/logstash/config

    编辑一个测试文件

    vim /usr/share/logstash/config/conf.d/test.conf

    input{
      file{
        path => ["/var/log/elasticsearch"]
        type => "elasticsearch-log"
        start_position => "beginning"
      }
    }
    
    filter{
    
    }
    
    output{
      elasticsearch{
        hosts => ["127.0.0.1:9200"]
        index => "system-log-%{+YYYY.MM.dd}"
      }
    }

    关闭system启动方式

    system disabled logstash

    启动:/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/test.conf

    启动后就可以在kibana上看到信息了(这种启动方式当你关闭终端,或者ctrl+c时logstash就会退出。建议使用supervisord守护进程,详细会在后续文章放出)

    创建之后就可以在仪表盘看到日志信息了

     五:安装filebeat

    Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放

    rpm -ivh filebeat-7.2.0-x86_64.rpm

     更改配置文件(备份原来的配置文件新建一份)

        vim /etc/filebeat/filebeat.yml  (7.2版本   filebeat.prospectors参数废弃)

    filebeat.inputs:
    - input_type: log
    enabeld: true
    paths:
    - /var/log/elasticsearch/*.log

    output.logstash:
    hosts: ["127.0.0.1:5044"]

    日志输出到logstash,所以对应要修改logstash的启动配置文件,设置logstash监听在5044端口

    input{
      beats{
        port => "5044"    
      }
    }
     
    filter{
     }
     
    output{
      elasticsearch{
        hosts => ["127.0.0.1:9200"]
        index => "system-log-%{+YYYY.MM.dd}"
      }
    }

      启动 systemctl  start  filebeat

    六:nginx反向代理kibana并设置登录验证

    Kibana的登录验证插件是收费功能,这里我们使用nginx来反向代理并设置登录验证。
    用来安装nginx的服务器IP是192.168.18.154
    nginx安装过程不在赘述
    需要安装httpd的密码文件工具
    yum -y install httpd-tools
    htpasswd -c -b /etc/nginx/passwd/kibana.passwd kibana kibana123(注意创建目录)

     编辑nginx配置文件

    vim /etc/nginx/conf.d/kibana.conf

    server
    {
     listen 80;
       server_name kibana.shiji.com;
       access_log /var/log/nginx/kibana/kinaba_access.log main;
       error_log /var/log/nginx/kibana/kinaba_error.log;
    
       auth_basic "Kibana Auth";
       auth_basic_user_file /etc/nginx/passwd/kibana.passwd;
    
     location / {
        proxy_pass http://192.168.18.144:5601;
        proxy_redirect off;
       }
    
    }

     最后效果

     

    ES查询索引相关操作

    查询 curl 'localhost:9200/_cat/indices?v'
    删除 curl -XDELETE 'localhost:9200/windows*'

    查询安装logstash插件
    /usr/share/logstash/bin/logstash-plugin list
    /usr/share/logstash/bin/logstash-plugin install logstash-filter-multiline

    删除索引
    curl '10.16.10.9:9200/_cat/indices?v'
    curl -XDELETE '10.16.10.9:9200/order_center_2019'

    查询删除模板
    curl -XGET 10.16.10.9:9200/_template/template_1
    curl -XDELETE 10.16.10.9:9200/_template/order_center_indextpl

  • 相关阅读:
    Groovy新手教程
    cocos2d-x v3.2 FlappyBird 各个类对象详细代码分析(6)
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    病毒木马查杀第002篇:熊猫烧香之手动查杀
    Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)
    白话经典算法系列之六 高速排序 高速搞定
    UVA580-Critical Mass
    FPGA 时序问题
    SVD神秘值分解
    Java中Integer类的方法
  • 原文地址:https://www.cnblogs.com/shiji888/p/11122173.html
Copyright © 2020-2023  润新知