一直显示程序没有显示,比如插入空白页,在表格里面打字的时候,就出现缓存的那个圈圈,然后就用不了,的重
1150
2022-05-29
前言
部署图
选型优势
使用 Docker Compose 搭建
需要下载的 Docker 镜像
搭建前准备
下载 Docker Compose
修改该文件的权限为可执行
查看是否已经安装成功
前言
部署图
选型优势
使用 Docker Compose 搭建
需要下载的 Docker 镜像
搭建前准备
下载 Docker Compose
修改该文件的权限为可执行
查看是否已经安装成功
开始搭建
使用 docker-compose.yml 脚本启动服务
关闭防火墙
配置 graylog 控制台,接收日志来源
框架集成
添加 logback-gelf 依赖
添加配置文件 logback-spring.xml 让 logback 的日志输出到 graylog
配置 application.yml
进行测试
Graylog 页面查看日志信息
总结
前言
Graylog 是一个强大的平台,基于 Scala 语言开发。使用它能很容易对结构化和非结构化日志进行管理以及调试应用程序。它依赖 Elasticsearch 和 MongoDB。Graylog 的主服务从客户端节点获取数据,同时还提供 Web 接口,方便用户可视化聚合来的日志。
部署图
最小化安装:
生产环境安装:
主要逻辑: Graylog Collector -> Graylog Server(封装Elasticsearch) -> Graylog Web
Graylog Collector:用于收集日志,整合 Collector 把日志发给 Server;
Graylog Server:封装 Elasticsearch 用于存储收集到的日志信息;
Graylog Web:通过 Web 端来查看日志。
选型优势
Graylog 一开始定位为强大的日志解决方案,而 ELK 则是大数据解决方案;
Graylog 可以通过网络协议直接从应用程序接收结构化日志和标准 syslog。相反,ELK 是使用 Logstash 分析已收集的纯文本日志的解决方案,然后解析并将它们传递给 ElasticSearch;
相比 ELK 更优秀的报警功能;
更好的交互,通过跟踪 Graylog 收到的错误堆栈,支持多行日志,工程师可以快速源代码中的上下文;
强大的搜索功能,搜索语法比 ELK 简单,搜索结果支持高亮显示,支持 TB 级别的查询;
有归档功能,超过 30 天的所有内容都可以存储在廉价存储中,在出现查询需求时,可以重新导入到 Graylog;
Python 库支持。
使用 Docker Compose 搭建
需要下载的 Docker 镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10 docker pull mongo:3 docker pull graylog/graylog:3.3
搭建前准备
Docker Compose是一个用于定义和运行多个docker容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
开始搭建
docker-compose.yml 内容:
version: '2' services: # MongoDB: https://hub.docker.com/_/mongo/ mongodb: image: mongo:3 # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/docker.html elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10 environment: - http.host=0.0.0.0 - transport.host=localhost - network.host=0.0.0.0 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 mem_limit: 1g # Graylog: https://hub.docker.com/r/graylog/graylog/ graylog: image: graylog/graylog:3.3 environment: # 加密盐值,不设置,graylog会启动失败 # 该字段最少需要16个字符 - GRAYLOG_PASSWORD_SECRET=somepasswordpepper # 设置用户名 - GRAYLOG_ROOT_USERNAME=admin # 设置密码,此为密码进过SHA256加密后的字符串 # 加密方式,执行 echo -n "Enter Password: " && head -1
上传到 linux 服务器并使用 docker-compose 命令运行:
docker-compose up -d
注意:Elasticsearch 启动可能需要好几分钟,要耐心等待。
[root@graylog]# docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- graylog_elasticsearch_1 /usr/local/bin/docker-entr ... Up 9200/tcp, 9300/tcp graylog_graylog_1 tini -- /docker-entrypoint ... Up (healthy) 0.0.0.0:12201->12201/tcp, 0.0.0.0:12201->12201/udp, 0.0.0.0:1514->1514/tcp, 0.0.0.0:1514->1514/udp, 0.0.0.0:9000->9000/tcp graylog_mongodb_1 docker-entrypoint.sh mongod Up 27017/tcp [root@centos-7-template graylog]#
systemctl stop firewalld
配置 graylog 控制台,接收日志来源
登录 graylog,打开浏览器访问:http://172.16.106.233:9000/
输入 docker-compose.yml 里配置的 用户名/密码 信息
设置来源信息:
框架集成
添加 logback-gelf 依赖
pom.xml 中添加:
添加配置文件 logback-spring.xml 让 logback 的日志输出到 graylog
注意 appender 节点下的 graylogHost 需要改成你自己的 服务地址,比如我的是:172.16.106.233 。
配置 application.yml
spring: application: name: graylog server: port: 8888
进行测试
添加一个测试类:
SpringBootTest @Slf4j public class TestCase extends AbstractTestNGSpringContextTests { @Test public void testDemo() { log.info("输出info"); log.debug("输出debug"); log.error("输出error"); } } }
运行测试:
Graylog 页面查看日志信息
总结
ELK 和 Graylog 两种解决方案在功能上非常相似,但仍有一些差异需要考虑。在 ELK 中,Kibana 扮演仪表盘的角色并显示从Logstash 收到的数据。Graylog 在这点上更方便,因为它提供了单一应用程序解决方案(不包括 ElasticSearch 作为灵活的数据存储),具有几乎相同的功能。因此,部署所需的时间更短。
此外,与 ELK 相比,Graylog 开箱即用,且具有出色的权限系统,而 Kibana 则不具备此功能。作为 Elasticsearch 的粉丝,我更喜欢 Graylog 而不是ELK,因为它完全符合我在测试框架日志管理方面的需求。
示例代码:
https://github.com/zuozewei/blog-example/tree/master/Java-api-test/03-log-framework/springboot-logback-graylog-demo
参考资料:
[1]:https://docs.graylog.org/en/3.3/pages/architecture.html
Java 云日志服务 LTS 自动化测试
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。