MERK-Beat環境構築


MERK-Beat環境構築
elasticsearch , logstash , kibana
Author : Janloong Do_O
  • ElK-Beat環境構築
  • 構成
  • elasticsearh x-pack取付
  • logstash
  • kibana
  • beat
  • 生産環境コマンド構成
  • elk間通信
  • ssl認証
  • をオンにする.
  • ElKアーキテクチャソリューション
  • バックグラウンド起動方式
  • map
  • アップグレード
  • プラグインインストール
  • 問題


  • コンフィギュレーション
       : elk 5.6
    

    Elasticsearh+x-packインストール
    Elasticsearchインストールリファレンス
    bin/elasticsearch-plugin intall x-pack
    
                     
    sudo bin/elasticsearch-plugin install ingest-geoip
    sudo bin/elasticsearch-plugin install ingest-user-agent
    
    elasticsearch/config/jvm.options
    -Xms 2g
    -Xmx 2g
    
     logstash    x-pack                          
                                   
    action.auto_create_index:  .security,.monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*,.*,*
    

    logstash
      
    wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz
    
      
    bin/logstsh -f sample.conf
    
      
    logstash-plugin install x-pack  (       )
    
    
    sample.conf
    input {
        stdin{
            type => "syslog"
        }
    }
    
    filter {
    
      #       
      grok {
        match => { "message" => "%{DATA:timestamp}|%{IP:serverIp}|%{IP:clientIp}|%{DATA:logSource}|%{DATA:userId}|%{DATA:reqUrl}|%{DATA:reqUri}|%{DATA:refer}|%{DATA:device}|%{DATA:textDuring}|%{DATA:duringTime:int}||"}
      }
    
       #        
        date {
          match => [ "timestamp", "yyyy-MM-dd-HH:mm:ss" ]
          locale => "cn"
        }
    
       #      IP     (         )
         geoip {
           source => "clientIp"
         }
    
    }
    
    output {
        elasticsearch {
            hosts => "http://127.0.0.1:9200"
            user => "loong"
            password => "loong"
            index => "logstash-nginx-access-%{+YYYY.MM.dd}"
        }
    
        stdout {
            codec => rubydebug
        }
    }
    

    kibana
      
    
    wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-linux-x86_64.tar.gz
    
    bin/kibana-plugin install x-pack
    
      
    config/kibana.yml
    server.host: "127.0.0.1"
    elasticsearch.url: "http://127.0.0.1:9200"
    
    ##elasticsearch        
    elasticsearch.username: "elastic"
    elasticsearch.password: "changeme"
    
      
    
    bin/kibana
    

    beat Beats
    (1)Packetbeat         
    (2)Topbeat     linux top     
    (3)Filebeat    log     
    (4)WinlogBeat windows   log    
    (5)   beat ,             ,elasticsarch       
      go  ,        beats  ,       ,       ,  ,     
    
    filebeat
      
    curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.6.3-amd64.deb
    sudo dpkg -i filebeat-5.6.3-amd64.deb
    
      
    /etc/filebeat/filebeat.yml
    
    template json output to elasticesearch
          
    output.elasticsearch:
      hosts: ["localhost:9200"]
      template.name: "filebeat"
      template.path: "filebeat.template.json"
      template.overwrite: false
    
    output to logstash
    if disable automatic template loading,need do this:
    
    curl -H 'Content-Type: application/json' -XPUT 'http://localhost:9200/_template/filebeat' -d@/etc/filebeat/filebeat.template.json
    
    sudo /etc/init.d/filebeat start
    
    filebeat              
    tail -f /var/log/filebeat/filebeat
    
    filebeat.sh -h       
    
          
    filebeat.sh -c [file]
    

    本番環境コマンド構成
    elasticパスワードの設定
    curl -XPUT 'localhost:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d'
    {
      "password": "elasticpassword"
    }
    '
    
        kibana.yml
    elasticsearch.password: kibanapassword
    

    kibanaパスワードの設定
    curl -XPUT 'localhost:9200/_xpack/security/user/kibana/_password?pretty' -H 'Content-Type: application/json' -d'
    {
      "password": "kibanapassword"
    }
    '
    

    logstash_の設定システムパスワード
    curl -XPUT 'localhost:9200/_xpack/security/user/logstash_system/_password?pretty' -H 'Content-Type: application/json' -d'
    {
      "password": "logstashpassword"
    }
    '
    
       logstash_system      monitor     elastic   
    logstash.yml
    xpack.monitoring.elasticsearch.password: logstashpassword
    
    
    logstash_system                                  
    curl -XPUT 'localhost:9200/_xpack/security/user/logstash_system/_enable?pretty'
    

    デフォルトの組み込みユーザーのパスワードを変更する場合は、デフォルト設定elasticsearchを変更する必要があります.yml
    xpack.security.authc.accept_default_password false
    

    Elk間通信elasticsearch -> kibana
     kibana.yml     :
    elasticsearch.username: “elastic”
    elasticsearch.password: “changeme”
    
    logstash -> elasticsearch
             sample.conf
    
    elasticsearch {
        user =>""
        password => ""
    }
    

    ssl認証を有効にする
    elasticsearch.yml証明書ファイルはアドレスとパスワードを保存し、証明書アドレスはesのconfigファイルドメインの下に保存しなければならない.
    xpack.ssl.key:                     /home/es/config/x-pack/node01.key
    xpack.ssl.certificate:             /home/es/config/x-pack/node01.crt
    xpack.ssl.certificate_authorities: [ "/home/es/config/x-pack/ca.crt" ]
    

    ネットワーク転送層オープンssl
    xpack.security.transport.ssl.enabled: true
    

    httpレイヤオープンssl
    xpack.security.http.ssl.enabled: true
    

    すべてのelasticノードを再起動
    イベントトラッキングレコードesを開くことができる.yml、ログはes/logs/elasticsearch_access.log
    xpack.security.audit.enabled: true
    

    ELKアーキテクチャソリューション
    1、Filebeat(    )+Elasticsearch(    )+Kibana(  )
    
    2、Filebeat(    )+Logstash(  )+Elasticsearch(    )+Kibana(  )
    
    3、Filebeat(    )+Kafka/Redis/File/Console(    )+    (  ,  ,  )
    
    4、Filebeat(    )+Logstash(  )+Kafka/Redis/File/Console(    )+    (  ,  ,  )
    
     :Redis/File/Console           
    

    バックグラウンド起動方式
    ./elasticsearch &
    ./logshtash -f /confg
    nohup ./kibana &
    

    map
    'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}'
    
    https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer
    

    アップグレード
    5.6  6.1          
    

    プラグインのインストール
    elasticsearch
    x-pack
    

    logstash
    input
        logstash-input-beats
        logstash-input-jdbc
    fillter
        logstash-filter-geoip
    
    output
        logstash-output-elasticsearch
        logstash-output-stdout

    kibana
    x-pack

    に質問
    1.   
    java.lang.IllegalArgumentException: unknown setting [xpack.security.user] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
    
      xpack-transport   
    xpack    Java transportclient       
    PreBuiltXPackTransportClient
    import org.elasticsearch.xpack.client.PreBuiltXPackTransportClient;
    
        xpack  
    

    参考資料
    Elastic公式リファレンスドキュメント
    Elk環境構成