Logstash設定+ElasticSearch配備

2944 ワード

Logstash
Logstashとは:軽量レベルのログ収集処理フレームワークであり、分散した多様なログを容易に収集し、カスタム処理を行い、サーバや価格などの指定された場所に転送することができます.
用途:データベースデータをインデックス・ライブラリに同期します.
使用方法:
ステップ1:cmdを使用してソフトウェアディレクトリのbinフォルダの下に入ります.
ステップ2:命令logstash-e(直接書き込み実行命令を表し、-fは私が実行するファイルを表す)'input{stdin{キーボード入力内容を受信する}}output{stdout{出力キーボード受信内容を表す}'を実行します.無用.-fコマンド・モードの使用:パラメータに従って、文字列の構成またはフルパス・ファイル名またはフルパス(例:/etc/logstash/、このディレクトリの下のすべての*.confのファイルを自動的に読み取り、自分のメモリに完全な大きなプロファイルに接続して実行します)
ステップ3:データベースデータをLogstashのプロファイル1に同期するように設定し、Logstashディレクトリの下にフォルダmysqletc(または他の名前)を作成します.2、中にmysql.confファイルを新規作成し、設定を行います.
  input {
  jdbc {
      # mysql jdbc connection string to our backup databse       
      jdbc_connection_string => ""            
      # the user we wish to excute our statement as            
      jdbc_user => ""
      jdbc_password => ""
      # the path to our downloaded jdbc driver           
      jdbc_driver_library => ""
      # the name of the driver class for mysql                    
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => ""
      jdbc_page_size => ""
      #         sql     。
      #statement_filepath => ""              sql
      statement => ""                
      #          (    ) 、 、 、 、 ,   *           (    ,         )
      schedule => "* * * * *"            
  }
}

output {
  elasticsearch {
      #ESIP     
      hosts => ""
      #ES    (     )
      index => ""
      #  ID  
      document_id => "%{id}"
      document_type => ""
  }
  stdout {
      # JSON    
      codec => json_lines
  }
}

データベース内のデータは物理的に削除するのではなく、削除マークフィールドを使用して削除ステータスを表します.データベースデータが物理的に削除されると、インデックスは削除されません.データベース・データが変更されると、インデックス・ライブラリが更新されます.
ステップ4:サーバのElasticSearchの導入.1、9200ポートが使用可能で、9300ポートが使用できない.2.コンテナのプロファイルを変更します.(コンテナは起動状態である必要があります)①docker exec-itコンテナ名/bin/bashを実行
②コンテナへのパス実行lsに入り、configフォルダに入ってlsを実行し、elasticsearch.ymlファイルを見つけます(コンテナ内はviで編集できません).
③このファイルをコピーし、コピーしたelasticsearch.ymlに対してviを実行して修正します.transport.host前の#を削除します.
④既存の容器を停止して削除します.
⑤新しいコンテナを起動し、コピーしたプロファイルelasticsearch.ymlをマウントします.(起動に失敗したのは、設定を変更した後、アドレスを開発したため、ソフト・ハードウェア・リソースを追加して起動を許可する必要があるため)、システム・チューニングが必要です.
⑥システムチューニング修正/etc/security/limits.conf.*soft nofile 65536*hard nofile 65536 nofileは、単一プロセスで開くことができる最大ファイル数を表し、softはソフト制限を表し、hardはハード制限を表します.
/etc/sysctl.confファイルを変更します.vm.max_を追加します.map_count=655360は、プロセスが所有できるVMA(仮想メモリ領域)の数を制限します.
次に、sysctl-pコマンドを実行して、変更をすぐに有効にします.
⑦仮想マシンを再起動し、コンテナを再起動します.
ステップ5:IK分詞器をサーバに配備します.1、ik分詞器を仮想マシンに転送する.2、docker cp ik(ik分詞器のディレクトリ)を使用するコンテナ名:コンテナパスの下のpluginsディレクトリの下.3、ElasticSearchを再起動する.
ステップ6:Headプラグインを配備します.1、前のコピーしたelasticsearch.ymlを設定します.ElasticSearchがドメイン間でアクセスできるようにします.http.cors.enabled:true http.cors.allow-origin:"*"の2行を追加