栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三)

graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三)

graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三)

问题背景

graylog+kafka+zookeeper(单机测试及源码),graylog组件部署,查找问题分析(一)graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二)graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三) graylog暴露收集端口步骤编程步骤问题总结Lyric: 那幸福在深秋

问题背景

前两个篇章介绍了graylog+kafka+zookeeper的单机安装部署,这个篇章做一个简单的 graylog 测试用例,可以复制文章里的代码自己创建工程,可以直接下载源码链接

graylog+kafka+zookeeper(单机测试及源码),graylog组件部署,查找问题分析(一) graylog+kafka+zookeeper(单机测试及源码),kafka+zookeeper组件部署(二) graylog+kafka+zookeeper(单机测试及源码),graylog测试用例及源码(三) graylog暴露收集端口步骤

1 在第一篇文章中安装部署了graylog,记住关闭防火墙,登录网页,因为我有端口冲突所以更改了端口号,初始账号为:admin,我的密码为:123456

10.10.195.199:9022


2 登录的界面是这样的

3 暴露日志打印接收端口


4 选择GELF UDP,还有很多种方式,可以根据官网文档进行查找自己需要的格式

5 红框必填项,其他默认即可

6 启动之后可以看到,运行状态为RUNNING

编程步骤

1 引入pom依赖,我测试过docker安装,所以有docker插件,你们可以把这个依赖删除掉,直接运行就可以



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.2
         
    
    com.yg
    
    springbootgraylog
    0.0.1-SNAPSHOT
    springbootGraylog
    springbootGraylog
    
        1.8
        
        dockertest
    
    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            de.siegmar
            logback-gelf
            2.0.0
        
        
            org.projectlombok
            lombok
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            

            
                com.spotify
                docker-maven-plugin
				
                
                    
                    http://192.168.207.128:2375
                    
                    ${docker.image.prefix}/${project.artifactId}
                    src/main/docker
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            

        
    

2 springboot启动类

package com.yg.springbootgraylog;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootGraylogApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootGraylogApplication.class, args);
    }
}

3 application.yml初试设置

server:
  port: 8081

graylog:
  host: 10.10.195.199  #graylog的ip地址
  port: 12201   #graylog开放的端口号
  name: suolong   #graylog app-name的名字,搜索时使用

4 logback-spring.xm日志配置文件,使用spring因为只有在springboot才使用这个配置文件


    
    
    

    
    
        
            
            
                
                    %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{20}.%M(%L): %msg%n
                
            
        
    

    
        
        ${graylogHost}
        
        ${graylogPort}
        
        508
        
        true
        
            
            false
            true
            true
            false
            false
            
            true
            
                %m%nopex
            
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{20}.%M(%L): %msg%n
            
            
            app_name:${graylogName}
        
    

    
        
        
    


使用标签进行application.yml属性值映射打印:日期 日志等级 线程名 类路径 方法名 行号 日志内容 换行会设置graplog的IP、端口和app-name名字使用属性GELF和de.siegmar.logbackgelf.GelfUdpAppender类,和创建开放端口时对应

5 写一个测试日志打印controller

package com.yg.springbootgraylog.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;


import javax.annotation.PostConstruct;



@Slf4j
@Component
public class HelloController {

    @PostConstruct
    public void hello() {
        // 搜索时,字符串要完整
        for (int i = 0; i < 10; i++) {
            log.info("info:{}", "info suolong" + i);
            log.warn("warn:{}", "warn suolong" + i);
            log.error("error:{}", "error suolong" + i);
        }
        log.info("finished");
    }
}

6 启动项目

7 日志已经打印

8 查看graylog服务是否收集到了日志


可以看到日志已经收集到了
9 通过关键字查找,也可以设置查询的时间段

app_name:suolong AND level_name:INFO AND message:suolong0


这里message是按照字符串查询的,如果输入写的message:suolong,那么一天信息都查不到,更改为message:suolong* 模糊查询就可以了

问题总结

1 程序里配置好IP和端口,以及模式,可以正常进行收集日志,进行监管
2 关闭防火墙,查看graylog是否开启监听

netstat -nltp | grep 9022
systemctl stop firewalld




作为程序员第 11 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …

Lyric: 那幸福在深秋
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/700078.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号