docker安裝ELK 及springboot 配置

docker安裝ELK
sudo docker run -m 2000M -p 5601:5601 -p 9200:9200 -p 5044:5044 -d -it --name elk sebp/elk
sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -d -it --name elk sebp/elk

進入容器
docker exec -it elk bash
修改
cd /etc/logstash/conf.d/
vim 02-beats-input.conf

input {
  tcp {
      port => 5044
      codec => json_lines
  }
}

output {
  elasticsearch {
      action => "index"
      index => "%{[appname]}-%{+YYYY.MM.dd}"
      hosts => ["localhost:9200"]
      ilm_enabled => true
      ilm_policy => "del"
  }
}

刪除多余out文件
rm 30-output.conf

Index Management中添加

  "index_patterns": [
    "logstash-*",
    "tillo*"
  ],
  "settings": {
    "index": {
      "lifecycle": {
        "name": "del"
      },
      "number_of_shards": "1",
      "refresh_interval": "5s"
    }
  }

重啟logstash配置將生效
service logstash restart

elk可能出現的報錯解決:
sysctl -w vm.max_map_count=262144

spring boot 配置

log配置

    <appender name="LOGSTASH"
              class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>172.31.20.141:5044</destination>
        <!-- encoder必須配置,有多種可選 -->
        <encoder charset="UTF-8"
                 class="net.logstash.logback.encoder.LogstashEncoder">
            <!-- "appname":"xxx" 的作用是指定創建索引的名字時用,并且在生成的文檔中會多了這個字段  -->
            <customFields>{"appname":"tillo_approvice_service_prod"}</customFields>
        </encoder>
    </appender>

    <logger name="org.apache.zookeeper.ClientCnxn" level="ERROR"/>
    <logger name="org.springframework.core.env.PropertySourcesPropertyResolver" level="INFO"/>

    <root level="ERROR">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="logfile"/>
        <appender-ref ref="LOGSTASH"/>
    </root>

maven 配置

        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.3</version>
        </dependency>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容