Springboot集成ELK日志管理

文章目录

    • 效果图
    • 组件
    • 步骤
        • 一、服务配置
            • 1.引入jar
            • 2.配置logback-spring.xml
            • 3.打印日志
        • 二、Logstash安装安装启动
            • 1.下载解压
            • 2.修改 logstash.yml
            • 3.新建 logstash.conf
            • 4.启动Logstash
        • 三、Elasticsearch安装启动
            • 1.下载解压
            • 2.修改elasticsearch.yml
            • 3.启动
            • 4.启动报错解决
        • 四、Kibana安装启动
            • 1.下载解压
            • 2.修改kibana.yml
            • 3.启动
        • 五、日志查看
      • 记录成长,热爱生活!

效果图

Springboot集成ELK日志管理_第1张图片

组件

  • Logstash
    日志采集、转换、输出
  • Elasticsearch
    日志存储、分析、搜索。一款分布式搜索引擎。
  • Kibana
    数据可视化
    Springboot集成ELK日志管理_第2张图片

步骤

一、服务配置

1.引入jar
		<dependency>
            <groupId>net.logstash.logbackgroupId>
            <artifactId>logstash-logback-encoderartifactId>
            <version>5.2version>
        dependency>

支持将日志传输给logstash

2.配置logback-spring.xml
	<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        
        <destination>192.168.159.128:4560destination>
        
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
            
            <customFields>{"appname":"elk_demo"}customFields>
        encoder>
    appender>
3.打印日志
public String outLog(){
        log.info("进入测试日志输出方法");
        String a = "123";
        try {
            int b = a.charAt(10);
        }catch (Exception e){
            log.info("报错:",e);
        }
        log.info("结束测试日志输出方法");
        return "SUCCESS";
    }

二、Logstash安装安装启动

1.下载解压
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.5.tar.gz
tar -zxvf logstash-5.6.5.tar.gz
2.修改 logstash.yml
#节点名(这里是单机,只有一个节点)
 node.name: logstash_node_1
#访问主机名,一般为ip或者域名
 http.host: "192.168.159.128"
 #选用其中第一个可用的端口
 http.port: 9600-9700
 #自动加载配置文件
 config.reload.automatic: true
 #配置文件重载周期
 config.reload.interval: 10

注意冒号后面的空格

3.新建 logstash.conf
input {
    #开启tcp插件的监听
    tcp {
    #和logback里配置的destination一致
    #监听地址需要是本机ip,否则可能无法监听
    host => "192.168.159.128"
    #监听端口号
    port => 4560
    #将日志以json格式输入,便于解析和展示
    codec => json_lines  
  }
}

output {
   #输出打印,这里输出到elasticsearch
   elasticsearch {
        #elasticsearch访问地址和端口号
        hosts => ["192.168.159.128:9200"]
        #项目名作为elasticsearch索引
        index => "%{[appname]}"
        }
}

4.启动Logstash

在bin目录下,并指定配置文件启动

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

Logstash就绪

三、Elasticsearch安装启动

1.下载解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.5.tar.gz
tar -zxvf elasticsearch-5.6.5.tar.gz
2.修改elasticsearch.yml
#集群名称
cluster.name: es_cluster
#节点名称(这里是单节点)
node.name: es_node_1
#数据存储路径
path.data: /home/admin/elasticsearch-7.6.2/data
#日志存储路径
path.logs: /home/admin/elasticsearch-7.6.2/logs
#主机访问地址。0.0.0.0允许其他主机访问
network.host: 0.0.0.0
#端口号
http.port: 9200
#允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

3.启动

bin下启动

./elasticsearch

根据本机ip+端口号访问,返回json信息表明启动成功

[admin@localhost config]$ curl http://192.168.159.128:9200/
{
  "name" : "es_node_1",
  "cluster_name" : "es_cluster",
  "cluster_uuid" : "Rswjd70QTKGf86v--7ImsA",
  "version" : {
    "number" : "5.6.5",
    "build_hash" : "6a37571",
    "build_date" : "2017-12-04T07:50:10.466Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}
4.启动报错解决
  • elasticsearch为了安全,不支持root启动,建议所有操作都用别的用户
  • es 5.* 和java 8兼容
  • max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]。
    修改 /etc/security/limits.conf,增加以下两行
	*               soft    nofile          65536
	*               hard    nofile          65536
  • max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    修改 /etc/sysctl.conf 增加一行
vm.max_map_count=262144

重启配置:sysctl -p

  • max number of threads [3818] for user [es] is too low, increase to at least [4096]
    修改 /etc/security/limits.conf(和1同一个文件),增加两行
	*               soft    nproc           4096
	*               hard    nproc           4096

ES就绪

四、Kibana安装启动

1.下载解压
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.5-linux-x86_64.tar.gz
tar -zxvf kibana-5.6.5-linux-x86_64.tar.gz
2.修改kibana.yml
#地址,允许其他主机访问
server.host: "0.0.0.0"
#端口号
server.port: 5601
#es地址
elasticsearch.url: "http://192.168.159.128:9200"

3.启动

bin目录下

./kibana

浏览器访问:http://192.168.159.128:5601/app/kibana
Springboot集成ELK日志管理_第3张图片
kibana就绪

五、日志查看

启动springboot。
上文中,logback中配置了appname属性为"elk_demo",并在logstash中将其指定为elasticsearch的index,所以我们在kibana中添加index=elk_demo。
Springboot集成ELK日志管理_第4张图片
然后在discover菜单中便可以查看、分析、搜索日志。可以自定义要展示的列元素。
Springboot集成ELK日志管理_第5张图片


记录成长,热爱生活!

你可能感兴趣的:(Springboot集成ELK日志管理)