日志处理 way to explore https:https://cdn.v2ex.com/navatar/9e3c/fc48/798_normal.png?m=1404646198 https:https://cdn.v2ex.com/navatar/9e3c/fc48/798_large.png?m=1404646198 2024-11-09T12:15:11Z Copyright © 2010-2018, V2EX 生产环境怎么打日志才能满足国家法规要求 tag:www.v2ex.com,2024-11-09:/t/1087982 2024-11-09T05:23:34Z 2024-11-09T12:15:11Z importmeta member/importmeta 有朋友了解过吗?

看了看国家法规说, 要求日志至少要存储 6 个月, 公网安备页面上也要说留存日志之类的东西.

我现在有个 Nginx 反向代理, 后端服务.

那我要把 Nginx 的日志, 后端请求 Request 和 Response, 全打印出来保存 6 个月吗?

那我这小服务器根本存不了这么多啊.

]]>
elk 这套日志 最近报错 无效索引要小写,求指导 tag:www.v2ex.com,2024-10-17:/t/1081261 2024-10-17T09:26:21Z 2024-10-17T09:24:21Z pol member/pol [2024-10-17T16:43:21,934][ERROR][logstash.outputs.elasticsearch][audit][9b837e55c8099cbb5d15de6e33ff7d57678ffc02f082744561c30f21c7610c3c] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17", :routing=>nil}, {"@timestamp"=>2024-10-17T08:43:21.696Z, "logstash_destination"=>"10ip 打码 90:9889", "host"=>"1ip 打码 97", "logger_name"=>"cn.com.safeware.common.logback.GlobalTraceLogIdSetting", "thread_name"=>"http-nio-9040-exec-159", "type"=>"logback", "env"=>"test", "level_value"=>20000, "traceId"=>"369b8faa9ae54e9ea79c241236670b97", "level"=>"INFO", "app_name"=>"erp", "server_name"=>"api-web", "port"=>33726, "@version"=>"1", "message"=>"请求方式 : POST"}], :respOnse=>{"index"=>{"_index"=>"asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17", "_type"=>"_doc", "_id"=>nil, "status"=>400, "error"=>{"type"=>"invalid_index_name_exception", "reason"=>"Invalid index name [asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17], must be lowercase", "index_uuid"=>"_na_", "index"=>"asr-test-%{[appName]}-%{[serverName]}.log-2024.10.17"}}}}

上面是报错日志,接下来看我 logstash 的配置

 cat logstash-audit.conf input { beats { port => 5044 } tcp { port => 9889 codec => json } } filter { if [stack_trace] { mutate { update => { "message" => "%{[message]}%{[stack_trace]}" } } } } output { if "erp" in [tags] { elasticsearch { hosts => [ "17ip 打码 900" ] index => "erp-log%{+YYYY.MM.dd}" } } else if "node167" in [tags] { elasticsearch { hosts => [ "17ip 打码 90" ] index => "ecow-log%{+YYYY.MM.dd}" } } else if "app" in [tags] { elasticsearch { hosts => [ "1ip 打码 9200" ] index => "app-log%{+YYYY.MM.dd}" } } else if "app_name" == "seata-server" { elasticsearch { hosts => ["http://1ip 打码 9200"] index => "pro-seata-server.log-%{+YYYY.MM.dd}" } } else { elasticsearch { hosts => ["http://17ip 打码 9200"] index => "asr-%{[env]}-%{[appName]}-%{[serverName]}.log-%{+YYYY.MM.dd}" } } } 

报错影响的应该是这行配置

else { elasticsearch { hosts => ["http://17ip 打码 9200"] index => "asr-%{[env]}-%{[appName]}-%{[serverName]}.log-%{+YYYY.MM.dd}" } 

可以看到我这里使用了三个变量,这里我保证这 3 个变量拿到的值一定是全小写 请问这里是什么问题,有没有知道的,或者提供下思路

]]>
日志等级体系里是不是应该新增一个开发级? tag:www.v2ex.com,2024-02-15:/t/1015709 2024-02-15T05:16:29Z 2024-02-15T10:18:49Z FlyingBackscratc member/FlyingBackscratc 现在一般日志的系统粗略分为 debug 、info 、warning 、error 几个等级,分别提供详细日志、必要信息、警告和错误信息。

但是我个人开发体验上感觉 debug 这一个等级不太够用,我觉得应该新增一个 develop 等级。因为我在开发阶段有一个阶段是要寻求了解整个应用在所有必要和非必要节点上的运作细节,这比 debug 级别的需求涵盖更加广,因为后者更着重于分析和监控程序是否工作正常,而不注重运行细节,但开发人员在开发过程中需要大量调试,程序本身也没被确定下来,自然需要更多信息反复尝试。

现在遇到一个问题是,一般在应用部署初期,也不是直接调到 info 级别日志运行的,而是仍然习惯用 debug 日志跑一段时间,观察是否运行正常。但是如果在开发过程中大量使用 debug 打点的话,信息有点过于多了,不多打点的话开发体验又相当于默写,掌控感很差。

]]>
运行很久的 springboot 项目 info 日志文件不更新了 warn 日志文件 error 日志文件一直在更新==。 日志文件都在一个文件夹,求大神给个思路! tag:www.v2ex.com,2024-01-11:/t/1007900 2024-01-11T10:13:59Z 2024-01-11T15:16:50Z zzzzyg member/zzzzyg Loki 的 filename 标签为什么过了 24 小时就丢失了 tag:www.v2ex.com,2023-03-03:/t/920852 2023-03-03T07:30:36Z 2023-03-03T07:30:36Z Ritter member/Ritter 应用内日志做了按天的轮转,存储时间是 7 天,通过边车容器 promtail 挂载共享卷 push 到 Loki
Loki 的话也挂载了持久卷,并且设置了 15 天存储和最大回看周期,刚部署完第一天 push 了所有的日志包括轮转日志,在 grafana 也能看到 filename 标签包含了所有文件,但是第二天查看的时候 filename 标签只有轮转日志了,举个简单的例子就是:
day1:
filename => app.log app.log.2023-03-01 app.log.2023-03-02
day2:
filename => app.log
app.log 为轮转文件,日志轮转模式为 rename-create 模式,看 Loki 文档也是推荐使用这种模式
以下为 Loki 的配置文件

auth_enabled: false server: http_listen_port: 3100 common: path_prefix: /data/loki chunk_store_config: max_look_back_period: 360h compactor: shared_store: filesystem working_directory: /data/loki/boltdb-shipper-compactor ingester: chunk_block_size: 262144 chunk_idle_period: 3m chunk_retain_period: 1m lifecycler: ring: kvstore: store: inmemory replication_factor: 1 max_transfer_retries: 0 limits_config: enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h schema_config: configs: - from: "2023-01-01" index: period: 24h prefix: index_ chunks: period: 24h prefix: chunk_ object_store: filesystem schema: v11 store: boltdb-shipper storage_config: boltdb_shipper: active_index_directory: /data/loki/boltdb-shipper-active cache_location: /data/loki/boltdb-shipper-cache cache_ttl: 24h shared_store: filesystem filesystem: directory: /data/loki/chunks table_manager: retention_deletes_enabled: true retention_period: 360h 

我估计是 schema_config 内 index 的 period 设置出的问题,我理解这个设置的意思是在 24h 后重建索引,但是不明白 Loki 重建索引的规则是什么,为什么只有 filename 的 label 丢失了,有大佬解答一下吗

]]>
想把多台机器的日志统一管理,用 ELK 还是 EFK? tag:www.v2ex.com,2022-09-16:/t/880594 2022-09-16T07:29:53Z 2022-09-16T08:01:52Z vczyh member/vczyh 对性能没要求,只是开发使用,不想进多台机器看日志,如果可以做得更简单点就更好了,请问有什么建议?

]]>
性能调优——小小的 log 大大的坑 tag:www.v2ex.com,2022-09-05:/t/877869 2022-09-05T09:25:43Z 2022-09-05T09:24:43Z guguji member/guguji “只有被线上服务问题毒打过的人才明白日志有多重要!” 我先说结论,谁赞成,谁反对?如果你深有同感,那恭喜你是个社会人了:)

日志对程序的重要性不言而喻,轻巧、简单、无需费脑,程序代码中随处可见,帮助我们排查定位一个有一个问题问题。但看似不起眼的日志,却隐藏着各式各样的“坑”,如果使用不当,不仅不能帮助我们,反而会成为服务“杀手”。 本文主要介绍生产环境日志使用不当导致的“坑”及避坑指北,高并发系统下尤为明显。同时提供一套实现方案能让程序与日志“和谐共处”。

欢迎访问我的原创文章:性能调优——小小的 log 大大的坑

]]> 有没有大佬用过 Loki 做日志收集呢? tag:www.v2ex.com,2021-09-29:/t/805187 2021-09-29T08:11:45Z 2021-09-29T08:41:46Z Geekerstar member/Geekerstar 目前上线了轻量级的日志收集系统 Loki,不知道它有没有什么坑呢?收集的日志会保存到磁盘么?会不会导致磁盘占用空间过大呢?网上找了一下分析其原理的文章很少,求大佬解答

]]>
log4j2 官网上有没有 xml 配置文件如何编写的介绍呢? tag:www.v2ex.com,2021-01-13:/t/744613 2021-01-13T08:53:36Z 2021-01-13T08:51:36Z Geekerstar member/Geekerstar 找了很久没找到,有没有大佬知道在哪呢,网上查到的关于配置文件编写的文章都比较乱,各种抄袭的

]]>
请教一下服务端日志存放和处理方向的问题,希望有了解的给些建议哈,谢谢了 tag:www.v2ex.com,2020-02-28:/t/648361 2020-02-28T07:39:28Z 2020-07-28T05:41:38Z Paual member/Paual 想请教下服务端业务日志是如何存放的?测试环境的话是存放在文件中么,那么多长时间清理一下,通过什么样的方式清理的呢? 还有线上的日志存放和查询是用 ELK 么,还是用的哪方面的哈,线上出了问题贵公司是如何更快的定位到问题的呢,想请教下日志处理方面相关的东西,希望给些建议,谢谢。

目前我们公司测试环境因为登陆不了测试服务器所以没有办法查看文件,线上的话是使用的先放入到 redis 的 list 中,然后从 redis list 中取出然后放入到 MySQL 的 json 文件中,最后查询日志的话查询 MySQL 的 json,想问下大家都是怎么查询日志的呢,有没有什么好的最佳实践呢🤔

]]>
关于日志处理的一个实例问题请教 tag:www.v2ex.com,2014-08-11:/t/127243 2014-08-11T07:59:49Z 2014-08-11T07:56:49Z dong3580 member/dong3580
方法1.在数据库里面创建一个触发器,数据库发生 "增删改查"时触发操作,插入日志表;

方法2.在程序里面逻辑判断,普通日志直接插入日志表,遇到错误捕获异常发送邮件,新建这样一个实体类字段如下:

[code]
public class LogModels
{
public Int64 Id { get; set; }//标识
public Int64 UserId { get; set; }//登录userid
public string Ip { get; set; }//登录ip
public string Browser { get; set; }//使用浏览器user-agent//Request.Browser.Browser;
public int LogType { get; set; }//日志种类/*1登录日志,2创建,3更新,4删除,5查询(限制查询次数,缓存)6,错误日志*/
public string ProductId { get; set; }//来源系统模块
public string ProductUrl { get; set; }//实际链接
public string ProductFile { get; set; }//方法所在源文件
public string ProductFunction { get; set; }//来源方法名
public string LogValue { get; set; }//执行操作的内容
public string LogContent { get; set; }//如是错误日志,此处为捕获的错误原因
public DateTime CreateDate { get; set; }//创建时间
public Int64 CreateId { get; set; }//创建人id
public DateTime UpdateDate { get; set; }//修改时间
public Int64 UpdateId { get; set; }//修改人id
}
[/code]
每一个方法,“增删改查”均调用执行。

1、前者好处是方便,但是日志不具体,错误日志需还要在代码中写判断插入日志表;
2、后者日志非常详细,而且可以后期拓展为一些小工具,但是估计这样的话日志量会“很大”;
3、另外再有个方案:新建两张表,一个普通日志表,一个错误日志表。 普通日志表记录增删改查操作,用方法二,插入日志表;捕获到程序错误时,插入错误日志表并发送邮件;

请教一下大家有什么好的建议? ]]>
日志集中管理工具(类似 Loggly 和 Splunk 这样的)目前国内有哪家做得比较好的吗? tag:www.v2ex.com,2014-07-02:/t/120651 2014-07-02T10:58:25Z 2014-07-27T22:54:46Z Livid member/Livid 目前有哪些支持 syslog 接口的云上的日志集中管理工具? tag:www.v2ex.com,2014-07-02:/t/120647 2014-07-02T10:21:08Z 2014-07-02T12:06:18Z Livid member/Livid
http://www.loggly.com/
http://www.papertrailapp.com/

但是 Loggly 好像有点问题,没法收到我从 Nginx syslog 传过去的数据,Papertrailapp 倒是能用。

还有什么其他可以支持 syslog 的日志集中管理的 SaaS 么? ]]>
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86