摘要:点击前往中文地址先决条件简单安装下载地址下载或者其他都可以。版本处理方案新建格式日志文件。配置日志会随着配置进行生成,结果如下忽略上述日志内容,程序看得懂即可配置推送到需要根据业务场景进行配置,现在显示最简单的配置。
过去咱们开发中,对日志这个环节其实并不太重视,直到有一天,应用出现异常,这个时候才想起来“日志”,但很可惜,为时已晚。
咱们做运维和开发,除了救火,还需要防火,因此一些防范的意识也是非常重要的。
效果图 安装ELK安装 ELK 是相对简单的,但是后期也需要对其进行优化,适当考虑运维人力,如果觉得个人可以折腾的不放可以尝试。
如果已经存在 ELK 环境,可以直接跳过,进行框架日志配置环节。
点击前往: 中文地址
sudo add-apt-repository -y ppa:webupd8team/java sudo apt-get update sudo apt-get -y install oracle-java8-installer
下载地址: elasticsearch
下载 zip 或者其他都可以。
解压压缩包。执行:
运行前请配置好系统参数。有一定要求,如果启动失败,仔细留意错误信息,对应调整即可。
bin/elasticsearch
验证:
curl http://localhost:9200/
下载地址: kibana
设置 elasticsearch url 地址,也就是刚才的 localhost:9200 (默认)
运行: ./bin/kibana
打开: http://localhost:5601 访问面板
下载地址: logstash
配置文件: config/logstash.conf
可参照:
input { file { type => "fastd" path => ["log file path"] } } filter { json { source => "message" } } output { # stdout { codec => rubydebug } elasticsearch { action => "index" hosts => "127.0.0.1:9200" index => "fastd" } }
运行: bin/logstash -f config/logstash.conf
stdout 作为标准输出,可以通过 stdout { codec => rubydebug } 对采集数据进行调试。
处理 php 应用日志 (FastD 3.2新特性)庆幸我们有这么一个需求,也能将工作经验总结并形成最终的解决方案分享给大家。
!!3.1 版本处理方案
新建格式日志文件。然后往下按照步骤进行处理即可(命名空间自定义,添加到日志配置中的第四个参数中)。
getName(), get_local_ip(), null, null, self::V1); } }
配置 app.php
[ [ MonologHandlerStreamHandler::class, "info.log", FastDLoggerLogger::INFO, FastDLoggerFormatterStashFormatter::class, ], ], // code ... ];
日志会随着配置进行生成,结果如下:
{"@timestamp":"2017-09-12T15:47:37.189080+08:00","@version":1,"host":"10.1.81.60","message":"sprintf(): Too few arguments","type":"fast-d","channel":"fast-d","level":"ERROR","msg":"sprintf(): Too few arguments","code":0,"file":"/Users/janhuang/Documents/htdocs/me/fastd/fastd/vendor/fastd/routing/src/RouteDispatcher.php","line":78,"trace":["#0 [internal function]: FastDApplication->FastD{closure}(2, "sprintf(): Too ...", "/Users/janhuang...", 78, Array)","#1 /Users/janhuang/Documents/htdocs/me/fastd/fastd/vendor/fastd/routing/src/RouteDispatcher.php(78): sprintf("Middleware %s i...")","#2 /Users/janhuang/Documents/htdocs/me/fastd/fastd/vendor/fastd/routing/src/RouteDispatcher.php(60): FastDRoutingRouteDispatcher->callMiddleware(Object(FastDRoutingRoute), Object(FastDHttpServerRequest))","#3 /Users/janhuang/Documents/htdocs/me/fastd/fastd/src/Application.php(142): FastDRoutingRouteDispatcher->dispatch(Object(FastDHttpServerRequest))","#4 /Users/janhuang/Documents/htdocs/me/fastd/fastd/src/Application.php(205): FastDApplication->handleRequest(Object(FastDHttpServerRequest))","#5 /Users/janhuang/Documents/htdocs/me/fastd/fastd/tests/app/web/index.php(15): FastDApplication->run()","#6 {main}"]}
忽略上述日志内容,程序看得懂即可
配置 logstash 推送到 elasticsearch.
config/logstash.conf, 需要根据业务场景进行配置,现在显示最简单的配置。
input { file { type => "fastd" path => ["log file path"] } } filter { json { source => "message" } } output { elasticsearch { action => "index" hosts => "127.0.0.1:9200" index => "fastd" } }
配置无误后,开启日志采集
./bin/logstash -f path/to/logstash.conf
每当日志刷新新增的时候,agent 就会将日志采集推送到 elasticsearch. 如果觉得 ELK 会有卡顿或者性能问题,可能尝试结合 kafka 进行优化。
打开: http://127.0.0.1:5601/,即可看到刚才 php 应用产生的日志。
总结如果 php 应用发生问题,异常而又无法第一时间发现的时候,日志可能是一个很好的切入点,当机器越来越多,应用越来越广泛的时候,日志可能会大量消耗人力,这个时候我们不得不去想办法,一方面解决人力问题,一方面需要提高应用质量。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25826.html
摘要:的展示非常炫酷,绝对是运维提升逼格的一大利器。另外的可视化功能比强得多,而且以上版本将集成报警功能。它由写成,着力于高性能地查询与存储时序型数据。被广泛应用于存储系统的监控数据,行业的实时数据等场景。 原有监控系统 showImg(https://segmentfault.com/img/remote/1460000011082384); 整个系统以 Graphite (carbon ...
摘要:最佳实践一构建是一个专门针对应用层而生的一个应用框架,提供良好的中间件,路由以及支持扩展运行,从而具体良好的性能条件。手动创建添加路由地址调用完成最第一个路由。缓存也是一个前置中间件,使用方式与日常操作保持一致。 FastD 最佳实践一: 构建 API FastD 是一个专门针对 API 应用层而生的一个 PHP 应用框架,提供良好的中间件,路由以及支持 swoole 扩展运行,从而具...
摘要:我们需要将业务或服务放置在网关背后,由网关统一处理请求入口,本身由多个入口的处理变成了一个入口,由网关进行统一调度。网关负责来搞这些事情,你只需要知道网关就好了。 构建完成 API 服务,配置中心之后,架构图大致如下: showImg(https://segmentfault.com/img/remote/1460000010676395); 我们为何需要网关 引用 别人 的一句话: ...
摘要:过去专门做了一篇文档来构建配置中心,基于的配置中心。环境要求及构建步骤可参考搭建配置中心随着业务增长,部署的机器可能会随着增长,增加配置难度和维护难度。最终架构图如下无论扩展多少个业务应用,仅需要一个配置中心即可完成多处配置修改。 过去专门做了一篇文档来构建配置中心,基于 zookeeper 的配置中心。 环境要求及构建步骤可参考: QConf搭建配置中心 随着业务增长,部署的机器可能...
摘要:调整配置文件在选项中,追加即可。有了以上系统常规监控日志集中分析应用调用链监控,我们的业务就可以变得更加透明,清晰,可控。相关文章最佳实践四构建系统可视化监控最佳实践五构建日志分析 zipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于Google Dappe...
阅读 3680·2021-10-14 09:43
阅读 3253·2021-08-25 09:38
阅读 577·2019-08-30 15:55
阅读 1306·2019-08-30 13:05
阅读 2207·2019-08-29 16:05
阅读 455·2019-08-29 12:58
阅读 2762·2019-08-29 12:34
阅读 3210·2019-08-26 12:15