elkのインストールと構成の手順

1. es
1. esユーザーを作成します:useradd es
2. elasticsearchディレクトリの所有権を変更します:chown es:es elk / -R     3.elasticsearch
インストールパッケージを解凍し
ます
4.elasticsearch.yml構成ファイルを変更します:node.name :マスターノード名
    network.host:192.168.100.3 access ip Discovery.seed_hosts:
    ["192.168.100.3"] node ip
    cluster.initial_master_nodes:["master"]ノード名

 
5. jvm.options構成ファイルを変更します。-Xms128m初期化ヒープメモリ
                -Xmx128m最大ヒープメモリ
elasticsearch.ymlアクセスアドレスが変更されているため、本番環境と見なされますが、テスト環境であるため、jvmヒープメモリが1ポイント削減され
ます6。最大数のメモリマップを作成します(注:rootユーザーを使用します):vim /etc/sysctl.conf 
                    構成:vm.max_map_count = 655360
                            sysctl -p #configurationが有効になります
7.開始:。 / bin / elasticsearchまたは./bin/elasticsearch -d(バックグラウンドで開始)

起動時と解決策で報告されたエラー:
質問1:[1]:elasticsearchプロセスの最大ファイル記述子[4096]が低すぎるため、少なくとも[65535]に増やしてください
解決策:rootユーザーに切り替えます:
    vim / etc / security / limits。 confで
    limits.confを編集し、次のコンテンツ追加します。
    * soft nofile 65535
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
注:ここで*は、すべてのユーザーが特定のユーザーも指定できることを意味します。このファイルを変更した後、ユーザーは再度ログインして有効にするには、ログイン後にulimit -Sn / ulimit-Hnを使用して表示します。

问题2:[2]:デフォルトの検出設定は実稼働での使用には適していません。[discovery.seed_hosts、discovery.seed_providers、cluster.initial_master_nodes]の少なくとも1つを構成する必要があります

elasticsearch.yml構成ファイルを変更します:discovery.seed_hosts:["192.168.100.3"]

2. kibana 1.kibana
のセキュリティキャプチャパッケージを解凍し
ます。2。kibana.yml構成ファイルを変更します     。server.port:
    5601
server.host: "192.168.100.3" elasticsearch.hosts
    :["http://192.168.100.3 :9200 "]
3.開始:./ bin / kibana

3. Filebeat
1.filebeatインストールパッケージを解凍します;
2。filebeat.yml構成ファイルを変更します:-type
    :log Log type
               enabled:true入力
               fields.under.rootを許可するかどうか:trueカスタムフィールド情報はルートパスの下に配置され
               ます:
                          -/ opt / elk / logs / *                                    。logコレクションファイルのパス
               フィールド:
タイプ:test_logカスタムフィールド情報
    output.logstash:logstash出力構成
          ホスト:["192.168.100.3:5044"]logstashが出力されるホストIP

3、启动:./filebeat -e -c my_filebeat.yml

4. logstash 1.logstash
のインストールパッケージを解凍します。2 。解凍した
ファイルのconfigフォルダーに
* .confファイルを作成します。3。logstashの構成ファイルである* .confファイルを書き込みます。
基本構成:
    input {                            beats {                     ポート=> 5044                      コーデック=>プレーン{                                       文字セット=> "ISO-8859-1"                             }                       }     }






    output {                        elasticsearch {                     hosts => ["192.168.100.3:9200"]                     index => "land _%{type}-%{+ YYYY.MM.dd}"                        }                        stdout {                                    codec => ruby​​debug                            }                 }







4.開始:./ bin / logstash -f * .conf

5.メッセージキュー関連の構成としてredisを使用します。
入力構成:
input {     redis {       data_type => "list"       db => 1       host => "mini03"       port => 6379      key => "apache-access-log"    }  }







出力構成:
output {    redis {      data_type => "list"      #実稼働環境には計画が必要      db => 1      host => "mini03"      port => 6379      key => "redis_test"    }  }








6.メッセージキューとしてkafkaを使用します。
入力構成:
 kafka {         bootstrap_servers => "192.168.37.147:9092,192.168.37.148:9092,192.168.37.149:9092"         topics => ["system_log"]         codec => "json"  }




7つ目は、他の
ファイアウォールが特定のポートアクセスを開く
[root @ localhost〜]#firewall-cmd --zone = public --add-port = 5601 / tcp --permanent 
success
[root @ localhost〜] #systemctl restart Firewalld.service
[ root @ localhost〜]# 
8、elkの一般的なメッセージキューの比較:
1。redis:メモリベースのアプリケーション、メッセージはメモリに保存され、書き込み速度は高速ですが、メモリによって制限されるため、メモリがいっぱいになるのは簡単です。
2. Kafka:配信をサポートする分散処理プラットフォーム。メッセージのサブスクリプションと消費の場所は、コンシューマーオフセットによって決定され、以前のメッセージの再消費に配置することもできます。トピックを複数のノードで消費して、負荷分散を実現し、単一ノードのプレッシャーを軽減できます。ただし、消費者が消費している場合、このキューが他の消費者によって消費されないようにするにはどうすればよいですか?解決策はzookeeperを使用することです。解決するためにロックします。
3. Rabbitmq:ポーリングメカニズムを介してワーカーにメッセージを公開し、負荷分散を実現します。そのコアの1つは、メッセージをさまざまなキューにルーティングできる交換です。たとえば、印刷して永続化したい場合は、に直接ルーティングできます。 2つのキュー。
 

おすすめ

転載: blog.csdn.net/D_J1224/article/details/107975977