ELK-logstash基本的な使い方

A:logstash紹介
データストレージ、レポーティングおよびクエリログ分析のためのヘラジカシステムにおけるLogstashは、強力なパイプラインのチェーンを作成します。Logstash入力、フィルタ、コーデックと出力成分の多種多様を提供し、logstashは、次の3つの部分から構成され
 
入力データ入力端子は、ソースデータがどこから受信することができます
1:ファイル:ファイルから読み込みます
2:シスログ:ポートログ情報にシステム514を監視し、フォーマットRFC3164を解析します
3:Redisの:でのRedisサーバリストから取得
4:ビート:Filebeatからイベントを受け取ります
 
フィルタデータ転送層主としてフォーマット、データ型の変換、データのフィルタリング、等、主にフィルタとして使用され、修飾された、フィールドを追加します
1:GROK:定期的かつ構造化された解析することによって、任意のテキスト。GROKは現在、分析logstash非構造化および構造化照会データを記録するための最良の方法です。120は、ほとんどの要件を満たすために、logstashパターンマッチングを構築しました。
2:変異する:イベントフィールドでの一般的な変換の実装を。あなたは、名前の変更、削除、交換し、イベントフィールドを変更することができます。
3:ドロップ:、このようなデバッグイベントとして完全に破棄イベント。
4:クローン:フィールドを追加または削除することがありレプリケーション・イベント。
5:geoipの:IPアドレスの位置情報について追加。
 
出力は、ほとんどのアプリケーションとの互換性が、指定された場所に出力データを担当して、最終段logstash作品です
1:elasticsearch:elasticsearchするイベント・データを送信し、照会しやすく、分析、マッピング。
2:ファイル:イベント・データをディスク・ファイルに書き込まれます。
3:MongoDBの:イベントデータを永続ストレージ、クエリ、分析、大規模なデータスライスを容易にするために、高性能のNoSQLのMongoDBに送られます。
4:Redisの:、中間層に使用される一時バッファ・サーバをRedisのデータを送信します。
5:グラファイト:イベント・データを送信するために、黒鉛
6:statsd:statsdにイベントデータを送信します。
 
二:logstash启动方式
logstash分别由-e和-f两种启动方式
-e:用来快速测试不用修改配置文件,一般用来调试!
-f :指定配置文件启动,需要把基本配置写入文件中启动,这里比较内容比较复杂,涉及到如何采集、过滤以及输出
 
1:下面进行-e启动方式演示
[root@localhost ~]# logstash -e  "input {stdin {} } output {stdout {}  }"
hell ghs     //输入字符信息
 
Sending Logstash's logs to /usr/local/elk/logstash/logs which is now configured via log4j2.properties
The stdin plugin is now waiting for input:
[2017-11-24T19:15:06,655][INFO ][logstash.agent           ] Pipelines running {:count=>1, :pipelines=>["main"]}
2017-11-24T11:15:06.704Z localhost.localdomain hell ghs     //这里显示的上面输入的字符串
 
##stdin {} :表示标准输入,stdout {} :表示标准输出
 
2:-f 配置文件启动方式
编辑一个配置文件,指定输入输出
[root@localhost ~]# vim ceshi.conf
input {
   stdin {}
 }
output{
    stdout {
        codec => rubydebug {}
}
}
 
## codec
 
执行配置文件
[root@localhost ~]# logstash -f test.conf
hell ghs          //输入字符串
{
      "@version" => "1",
          "host" => "localhost.localdomain",
    "@timestamp" => 2017-11-24T12:16:43.086Z,
       "message" => "hell ghs"
}
 
 
1:编写一个过滤系统日志的配置文件
[root@localhost ~]# vim messages.conf
input {
     file{
        path => "/var/log/messages"
        type => "syslog"
      }
 }
output {
    stdout { codec => rubydebug }
}
##path指定的是过滤日志的文件路径,type指定类型,自定义,主要做区分!
 
2:执行文件,显示过滤的日志结果
[root@localhost ~]# logstash -f messages.conf
{
      "@version" => "1",
          "host" => "localhost.localdomain",
          "path" => "/var/log/messages",
    "@timestamp" => 2017-11-24T11:01:02.189Z,
       "message" => "Nov 24 19:01:01 localhost systemd: Starting Session 11 of user root.",
          "type" => "syslog"
}
 
三:输出到elasticsearch,在kibana形成WEB图形方式
1:编写一个配置文件,让日志输出到elasticsearch通过kibana生成WEB图形!
[root@localhost ~]# vim  test.conf    ##配置文件名字自定义
input {
 file {
       path => "/var/log/messages"     //定义日志文件路径
       type => "test"                             //定义日志类型
       stat_interval => 1
       start_position => "beginning"
}
}
 
output{
     elasticsearch {
        hosts => ["192.168.1.200:9200"]       //定义需要输出到elasticsearch的ip和端口
        index => "test-%{+YYYY.MM.dd}"    //定义索引的名字,名字为test
}
}
 
2:执行配置文件
[root@localhost ~]# logstash -f test.conf -d
执行之后,在kibana的WEB页面Index pattern添加索引的名称,就可以Discover会形成以下日志输出的信息

 

 

 

 

おすすめ

転載: www.cnblogs.com/douyi/p/11573866.html