Windows7はELKをローカルにビルドして、プロジェクトの操作ログを収集します

ELKの紹介

ELKはElasticsearch + Logstash + Kibanaの略語です。

Elasticsearchは、全文検索、構造化検索、および分析に使用できる分散型の検索および分析エンジンであり、3つを組み合わせることができます。ElasticsearchはLuceneに基づいており、現在最も広く使用されているオープンソース検索エンジンの1つです。

Logstashは、リアルタイムのデータ送信機能を備えた単なるパイプラインです。パイプラインの入力端から出力端にデータ情報を送信する役割を果たします。同時に、このパイプラインでは、フィルタリングを追加することもできます。 Logstashは、さまざまなアプリケーションシナリオに対応するために、多くの強力なフィルターを提供します。

Kibanaは、Elasticsearchで使用するために設計されたオープンソースの分析および視覚化プラットフォームです。kibanaを使用すると、Elasticsearchインデックスに保存されているデータを検索、表示、操作できます。さまざまなアイコン、テーブル、マップなどを使用して、kibanaで高度なデータ分析と視覚化を簡単に表示できます。

ELKのダウンロードとインストール

公式ウェブサイトのダウンロードセンターにアクセスして、ダウンロードしてインストールできます。https//elasticsearch.cn/download/(ここで6.2.2をダウンロードし、logstashでzipバージョンをダウンロードします)
JDK1.8を事前にインストールする必要があります。

ELK解凍インストール

3つの圧縮パッケージを解凍します

開始es..elasticsearch-6.2.2 \ bin \ディレクトリでelasticsearch.batを開始すると、ブラウザは次のように要求します:http:// localhost:9200 /

Kibanaの起動構成を変更せずに、.. kibana-6.2.2-windows-x86_64 \ bin \ディレクトリでkibana.batを起動します。ブラウザはhttp:// localhost:5601 /にアクセスします

logstashを解凍し、configディレクトリにlogstash.confファイルを作成します

input {
  tcp {
    #模式选择为server
    mode => "server"
    #ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination
    host => "localhost"
    port => 4560
    #格式json
    codec => json_lines
  }
}
filter {
  #过滤器,根据需要填写
}
output {
  elasticsearch {
    action => "index"
    #这里是es的地址,多个es要写成数组的形式
    hosts  => "localhost:9200"
    #用于kibana过滤,可以填项目名称
    index  => "applog"
  }
}

cmdコマンドウィンドウを開いて、binディレクトリで実行します

logstash.bat -f ../config/logstash.conf

エラーを報告する 

解決策:logstash-6.2.2 \ binディレクトリのlogstash.bat行52を開き、%CLASSPATH%に二重引用符を追加します。

再起動 

エラーが報告されない場合、起動は成功しています。このようにして、ELKログ収集システムがセットアップされます。

springbootプロジェクトをビルドし、logback.xmlを変更して追加します


    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>localhost:4560</destination>
        <!-- encoder必须配置,有多种可选 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="TRACE">
        <appender-ref ref="stash" />
    </root>

注:宛先は、前の構成ファイルと同じである必要があります。

pom.xmlに依存関係を追加します

<dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.1</version>
        </dependency>

 


    @ApiOperation(value = "查看举报列表", notes = "根据用户code 获取举报列表 reportStatus 不需要传值")
    @PostMapping(value = "/list")
    public Wrapper reportList(@RequestBody ReportInfoBaseListDto listDto) {
        log.info("查看举报列表,参数:==>>" + listDto);

        try {
            List<Map<String, Object>> list = reportInfoService.queryListByUserInstitutionCode(listDto);

            PageInfo pageInfo = new PageInfo(list);
            return WrapMapper.wrap(Wrapper.SUCCESS_CODE, Wrapper.SUCCESS_MESSAGE, pageInfo);
        } catch (Exception e) {
            e.printStackTrace();
            return WrapMapper.wrap(Wrapper.ERROR_CODE, e.getMessage());
        }
    }

ここでは、lombokコントローラーを使用して@Logzhuアノテーションを追加します

プロジェクトを開始して、このインターフェースを要求します。

テストケースを実行した後、kibanaインターフェースの[管理]-> [インデックスパターン]に戻り、Logstash構成にインデックス値を入力します。これがapplogです。

 

ステップ2ここで、「@ timestamp」を選択します

発見に戻る

このようにして、ログが収集されます。

 

 

おすすめ

転載: blog.csdn.net/qq_27828675/article/details/105248305