実1:logstashダンプelasticsearchホストによって、その後のRedisにfilebeat収集されたログ
図フレームワーク:
環境を準備します:
ホスト:elasticsearch / kibana IPアドレス:192.168.7.100
Bホスト:logstash IPアドレス:192.168.7.102
Cホスト:filebeat / nginxのIPアドレス:192.168.7.103
Dホスト:RedisのIPアドレス:192.168.7.104
1、filebeat nginxのログ収集システムとホストRedisのへ
1.1、Redisのサービスをインストールして、設定を変更
1、Redisのインストールサービス
#yumをインストールRedisの-y
2は、変更設定ファイルをRedisの、アドレスとパスワードを聞いて修正します
[ルート@ web1と〜]#vimの/etc/redis.conf バインド0.0.0.0 requirepasswd 123456
3、Redisのサービスを開始
#systemctlスタートRedisの
1.2、サーバーのRedis上のログを保持するために、filebeatホスト構成を変更
図1は、サーバのRedisに格納されたログ、filebeatホストプロファイルを改変しました
[ルート@ filebate TMP]#vimの/etc/filebeat/filebeat.yml filebeat.inputs: -タイプ:ログ 有効:真の パス: -の/ var / log / messagesに フィールド: ホスト: "192.168.7.103" タイプの「filebeat- 7-103-syslogの" アプリケーション:" syslogの" -タイプの:ログ 有効:trueに パス: - /var/log/nginx/access.log フィールド: ホスト:" 192.168.7.103 " タイプの" filebeat-nginxの-アクセスログ-7 -103 " アプリケーション:" nginxの" output.redis: ホスト:[" 192.168.7.104 "]#書き込みは、サーバのホストIPアドレスRedisの ポートを:6379#ポート番号を聞いてRedisの パスワードを:" 123456 "#は、パスワードのRedisの キーを"filebeatログ-7-103「#のカスタムキー DBは:0#は、デフォルトのデータベースの選択 タイムアウト:5#長いタイムアウト、あなたはもう一つの大きなポイントを変更することができます
2、重要な情報filebeatの眺め
[ルート@ filebate TMP]#grepの-v "#" /etc/filebeat/filebeat.yml | grep -v "^ $" filebeat.inputs: -タイプ:ログが 有効になって:真の パス: -の/ var / log / messagesには フィールド: ホスト: "192.168.7.103" タイプ: "filebeat-のsyslog-7-103" アプリを: " syslogの」 -タイプ:ログが 有効になって:真 のパス: - /var/log/nginx/access.log フィールド: ホスト: "192.168.7.103" タイプ: "filebeat-nginxの-ACCESSLOG-7-103" アプリ: "nginxの" filebeatを.config.modules: パス:$ {} path.config /modules.d / * YML。 reload.enabled:偽 setup.template.settings: - add_host_metadata:〜 - add_cloud_metadata:〜 output.redis: ホスト:[ "192.168.7.104"] ポート:6379 パスワード: "123456" キー: "filebeatログ-7-103" デシベル:0 タイムアウト:5
3、filebeatサービスを開始
#systemctl再起動filebeat
図2に示すように、ホストテスト検証データRedisの上
1、データを表示するためにクライアントログインをRedisの、そしてあなたは、データがRedisのサーバーに到達できることを示し、対応するキー値に達した見ることができます。
[ルート@ web1と〜]#のRedis-CLI -h 192.168.7.104 192.168.7.104:6379>認証123456 OK 192.168.7.104:6379> KEYS * 1) "filebeatログ-7-103" 192.168.7.104:6379>
3、logstashにログRedisのサーバーを集めます
1、コレクションのRedisを記録、logstash構成ファイルを変更
[@ logstash conf.dルート]#Vimのlogstashツーes.conf INPUT { Redisの{ HOST => "192.168.7.104" #RedisのホストIPアドレス 、ポート=> "6379" #ポート DB => "0" #そしてfilebeatデータベース対応 パスワード=> "123456" #パスワード DATA_TYPE => "リスト" #ログ型 キー=> "filebeat-対数 7から103" # filebeatに対応するキー値 CODEC => "JSON" } } 出力{ IF [フィールド] [APP] == filebeatホストと一致"シスログ"タイプのアプリ#{ elasticsearch { ホスト=> [ "192.168.7.100:9200"]#ログホストelasticsearchの上へ のインデックス=>「logstash-SYSLOG -7-103 - %{+ YYYY.MM.DD} " }} 、同じタイプのアプリなら[フィールド] [APP] == "nginxの" {#のホストとfilebeat elasticsearch { ホスト=> [ "192.168.7.100:9200"] インデックス=> "logstash-nginxの-ACCESSLOG-7から103 - %{+ YYYY.MM.DD}" }} }
問題があるかのようにサービスを開始するには問題がない場合は、文法をチェック
[ルートlogstash conf.d @]#logstash -f logstashツーes.conf -t WARNING:通常$ LS_HOME /設定または/ etc / logstashに位置していますlogstash.ymlが見つかりませんでした。あなたは--path.settingsを使用してパスを指定することができます。デフォルトを使用し続けて パス/usr/share/logstash/config/log4j2.propertiesでlog4j2設定が見つかりませんでした。コンソールにエラーを記録し、デフォルトの設定を使用して 、[WARN] 2020年3月16日10:05:05.487 [LogStash ::ランナー] multilocal -モジュールまたはコマンドラインオプションが指定されているので、「pipelines.yml」ファイルを無視する 設定OKの#检查语法正确 [INFO] 2020年3月16日10:05:16.597 [LogStash ::ランナー]ランナー- config.test_and_exitモードを使用します。コンフィグ検証結果:OK。Logstashを終了
2、サーバーを再起動しlogstash
#systemctl再起動logstash
3、プラグインヘッドのコレクションを表示するには、ログ名、そしてあなたは、ログ情報を参照することができ、抽出
kibanaページにインデックスを作成します。4.
1、nginxのはkibanaページのインデックス、システムログを作成することもできるのと同じ方法を作成するためにログに記録します
2、nginxのを発見ログに抽出されたデータを表示します
3、ビュー収集システムログ
戦闘2:logstash組み合わせfilebeatが収集されたログとダンプelasticsearchホストをRedisの
図フレームワーク:
環境を準備します:
ホストをテストするために、あまりありません、あなたは、スタンドアロンの形態で試験され、生産環境は、上記で展開することができます
ホスト:elasticsearch / kibana IPアドレス:192.168.7.100
ホストB:logstash-A IPアドレス:192.168.7.102
Cホスト:filebeat / nginxのIPアドレス:192.168.7.103
Dホスト:RedisのIPアドレス:192.168.7.104
Eホスト:logstash-B IPアドレス:192.168.7.101
1、ホストfilebeatをインストールおよび構成
1、公式サイトのダウンロードパッケージには、ここで必要なインストールパッケージfilebeat
[ルート@ filebeat-1〜]#yumをインストールfilebeat-6.8.1-x86_64.rpm -y
図2に示すように、複数のホストがある場合filebeat複数のlogstashダンプログ、構成セクションoutput.logstashは異なるホストlogstashを書くことができ、設定ファイルfilebeat、第logstashホストから送信filebeatログを修正しますIPアドレス
[ルート@ filebate〜]#grepの-v "#" /etc/filebeat/filebeat.yml | grep -v "^ $" filebeat.inputs: -タイプ:ログが 有効になって:真の パス: -の/ var / log / messagesには フィールド: ホスト: "192.168.7.103" タイプ: "filebeat-のsyslog-7-103" アプリを: " syslogの" -タイプ:ログが 有効になって:真 のパス: - /var/log/nginx/access.log フィールド: ホスト: "192.168.7.103" #指定本机的IP地址 タイプ:" filebeat-nginxの-ACCESSLOG-7-103を" アプリ: "nginxの" output.logstash: ホスト:[" 192.168.7.101:5044" ]#写到指定的logstash服务器上、 有効:真#1 logstashにサーバーに渡されたかどうかがデフォルトで有効になって 1#仕事:仕事スレッド compression_level:3#の圧縮レベル
3、サービスfilebeatを再起動します
#systemctl再起動filebeat
図2に示すように、ホスト変更logstash-B、サーバのRedisに格納されたログ
1、複数filebeat、logstashとのRedisがある場合、別々の圧力logstashを低減、Redisのホストログを格納することができ、/etc/logstash/conf.d/ディレクトリに格納されたログRedisのプロファイルを作成します
[@ logstashルート-conf.d. 1]#猫のfilebeatツーlogstash.conf INPUT { ビーツ{ HOST => "192.168.7.101" #のlogstashホストのIPアドレス、他のホストが存在する場合Redisのホストlogstashをダンプ、機械に対応する他logstashホストIPアドレスに書き込むことができ、圧力バランスlogstashホスト ポート=> 5044#ポート番号 CODEC => "JSON" } } を出力{ IF [フィールド] [APP] == " syslogの"{ Redisの{ HOST =>" 192.168.7.104 "に保存されている#のRedisサーバアドレス 6379"ポート=> " DB =>" 0 " DATA_TYPE =>"一覧" パスワード=>" 123456 " キー=>"のsyslog-filebeat -7-103「#は別のキーを定義するログ、簡単に区別 コーデック=>」JSON " }} もし[フィールド] [APP] == "nginxの" { Redisの{ ホスト=> "192.168.7.104" ポート=> "6379" DB => "0" DATA_TYPE => "リスト" パスワード=> "123456" キー=> "filebeat-nginxのログ-7-103" #定义不同的キー、方便分析 コーデック=> "JSON" } } }
2、logstashホスト試験
#logstash -f filebeatツーlogstash.conf -t [logstash-1 conf.d @ルート] WARNING:通常$ LS_HOME /設定または/ etc / logstashに位置していますlogstash.ymlが見つかりませんでした。あなたは--path.settingsを使用してパスを指定することができます。デフォルトを使用し続けて パス/usr/share/logstash/config/log4j2.propertiesでlog4j2設定が見つかりませんでした。コンソールにエラーを記録し、デフォルトの設定を使用して 、[WARN] 2020年3月16日11:23:31.687 [LogStash ::ランナー] multilocal -モジュールまたはコマンドラインオプションが指定されているので、「pipelines.yml」ファイルを無視する 設定OKの#测试配置文件正常
再起動logstashサービス
#systemctl再起動logstash
3、今回は2つのキー値のRedisのホスト上で見ることができ、ホストは、ホストのRedisに保存logstashログを説明してきました
[ルート@ web1と〜]#のRedis-CLI -h 192.168.7.104 192.168.7.104:6379>認証123456 OK 192.168.7.104:6379> KEYS * 1) "filebeat-nginxのログ-7-103" 2)「filebeat- syslogの-7-103"
elasticsearchオン3、ログ上に配置された抽出Redisのlogstashホストとホスト・ダンプ
1、Redisのは、ログ抽出にホスト/etc/logstash/conf.dディレクトリlogstashでホストを作成します
[logstash conf.dルート@] logstashツーCAT#のes.confの INPUT { Redisの{ HOST => "192.168.7.104" #RedisのホストIPアドレス 、ポート=> "6379" DB => "0" パスワード=> "123456" DATA_TYPE => "リスト" キー=> filebeat対応するキー値に書き込む"のsyslog-7から103-filebeat" # CODEC => "JSON" } Redisの{ ホスト=> "192.168.7.104" #ホストのRedis IPアドレス 、ポート=> "6379" DB => "0" パスワード=> "123456" DATA_TYPE => "一覧" キー=> "filebeat-nginxのログ-7-103"#書き込まfilebeatのキー値、 CODEC => "JSON" } } の出力{ もし[フィールド] [APP] == "syslogの" {#のホストfilebeatのタイプに対応するアプリ elasticsearch { ホスト=> [ "192.168.7.100:9200"]#1 elasticsearchホストIPアドレス インデックス=>「logstash-syslog- 7から103まで- YYYY.MM.DD%{+} " }} [フィールド] [APP] == IF" nginxの"{#アプリホストfilebeatのタイプに対応 elasticsearch { [192.168.7.100:9200「]ホスト=>" インデックス=> "logstash-nginxの-ACCESSLOG-7から103 - YYYY.MM.DDの%{+}" }} }
2、テストlogstashホスト設定ファイル
[ルートlogstash conf.d @]#logstash -f logstashツーes.conf -t WARNING:通常$ LS_HOME /設定または/ etc / logstashに位置していますlogstash.ymlが見つかりませんでした。あなたは--path.settingsを使用してパスを指定することができます。デフォルトを使用し続けて パス/usr/share/logstash/config/log4j2.propertiesでlog4j2設定が見つかりませんでした。コンソールにエラーを記録し、デフォルトの設定を使用して 、[WARN] 2020年3月16日11:31:30.943 [LogStash ::ランナー] multilocal -モジュールまたはコマンドラインオプションが指定されているので、「pipelines.yml」ファイルを無視する 設定OK
3、再起動logstashホスティングサービス
#systemctl再起動logstash
4.システムログを確認し、nginxのログプラグインの頭を取得します
図4は、インデックスkibanaを作成、収集したログ情報を表示します
1、nginxのは、インデックスを作成し、インデックスシステムログ共感
2、インデックス情報の作成を見ます