本文介绍SpringBoot如何使用Graylog日志收集。
Graylog是一个生产级别的日志收集系统,集成Mongo和Elasticsearch进行日志收集。其中Mongo用于存储Graylog的元数据信息和配置信息,Elasticsearch用于存储数据。
架构图如下:
生产环境配置图如下:
在官方文档上推荐了很多种安装的方式,这里以docker-compose的方式为例,进行安装Graylog,蒙戈elasticsearch。
docker-compose.yml内容如下(这里是在官网的基础上改了一下):
版本:' 2 ' 服务: # MongoDB: https://hub.docker.com/_/mongo/mongodb: 图片:mongo: 3 # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/docker.html elasticsearch: 图片:docker.elastic.co/elasticsearch elasticsearch-oss: 6.6.1 环境: - http.host=0.0.0.0 - transport.host=localhost - network.host=0.0.0.0 ——“ES_JAVA_OPTS=-Xms256m -Xmx256m” ulimit: memlock: 软:1 困难:1 mem_limit: 512 # Graylog: https://hub.docker.com/r/graylog/graylog/graylog: 图片:graylog/graylog: 3.0 环境: #改变我(必须至少16字符)! - GRAYLOG_PASSWORD_SECRET=somepasswordpepper #密码:admin - GRAYLOG_ROOT_PASSWORD_SHA2=8 c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 - GRAYLOG_HTTP_EXTERNAL_URI=http://106.13.35.42:9000 链接: mongodb: mongo ——elasticsearch depends_on: ——mongodb ——elasticsearch 港口: # Graylog web界面和REST API ——9000:9000 # Syslog TCP ——1514:1514 # Syslog UDP - 1514:1514/udp # GELF TCP ——12201:12201 # GELF UDP - 12201:12201/udp
其中106.13.35.42是我的外网ip,本地服务使用127.0.0.1即可。
其他方式可以查看官方文档,https://docs.graylog.org/en/3.0/pages/installation.html
在浏览器访问http://ip: 9000年,如图:
这里默认用户名密码都是管理,进入后如图所示。
选择系统按钮中的输入,录入一个输入源,如图
这里以GELF UDP为例,在图中位置选择GELF UDP,选择完成后点击推出新的输入,如图
在节点处选择自己安装的,剩下的就根据需要填写即可,如图
保存完成后如图,到这里就已经配置完成了。
<强> 强>
这里分别举例Logback日志和Log4j2日志。
<强> 4.1 Logback日志强>
这里使用的logback-gelf向Graylog输出日志,在github上有对logback-gelf的详细使用介绍,这里只是简单举例.Github地址:https://github.com/osiegmar/logback-gelf。
新建项目,加入logback-gelf依赖,pom文件如下:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt;项目xmlns=" http://maven.apache.org/POM/4.0.0 " xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”比; & lt; modelVersion> 4.0.0 & lt; parent> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-parent & lt; version> 2.1.4.RELEASE & lt; relativePath/比;& lt; !——从库中查找父——比; & lt;/parent> & lt; groupId> com.dalaoyangSpringBoot使用Graylog日志收集的实现示例