traefik日志字段说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| Field                   | Description                                                                                                                                                         |
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `StartUTC` | The time at which request processing started. |
| `StartLocal` | The local time at which request processing started. |
| `Duration` | The total time taken (in nanoseconds) by processing the response, including the origin server's time but not the log writing time. |
| `RouterName` | The name of the Traefik router. |
| `ServiceName` | The name of the Traefik backend. |
| `ServiceURL` | The URL of the Traefik backend. |
| `ServiceAddr` | The IP:port of the Traefik backend (extracted from `ServiceURL`) |
| `ClientAddr` | The remote address in its original form (usually IP:port). |
| `ClientHost` | The remote IP address from which the client request was received. |
| `ClientPort` | The remote TCP port from which the client request was received. |
| `ClientUsername` | The username provided in the URL, if present. |
| `RequestAddr` | The HTTP Host header (usually IP:port). This is treated as not a header by the Go API. |
| `RequestHost` | The HTTP Host server name (not including port). |
| `RequestPort` | The TCP port from the HTTP Host. |
| `RequestMethod` | The HTTP method. |
| `RequestPath` | The HTTP request URI, not including the scheme, host or port. |
| `RequestProtocol` | The version of HTTP requested. |
| `RequestScheme` | The HTTP scheme requested `http` or `https`. |
| `RequestLine` | `RequestMethod` + `RequestPath` + `RequestProtocol` |
| `RequestContentSize` | The number of bytes in the request entity (a.k.a. body) sent by the client. |
| `OriginDuration` | The time taken (in nanoseconds) by the origin server ('upstream') to return its response. |
| `OriginContentSize` | The content length specified by the origin server, or 0 if unspecified. |
| `OriginStatus` | The HTTP status code returned by the origin server. If the request was handled by this Traefik instance (e.g. with a redirect), then this value will be absent. |
| `OriginStatusLine` | `OriginStatus` + Status code explanation |
| `DownstreamStatus` | The HTTP status code returned to the client. |
| `DownstreamStatusLine` | `DownstreamStatus` + Status code explanation |
| `DownstreamContentSize` | The number of bytes in the response entity returned to the client. This is in addition to the "Content-Length" header, which may be present in the origin response. |
| `RequestCount` | The number of requests received since the Traefik instance started. |
| `GzipRatio` | The response body compression ratio achieved. |
| `Overhead` | The processing time overhead (in nanoseconds) caused by Traefik. |
| `RetryAttempts` | The amount of attempts the request was retried. |
| `TLSVersion` | The TLS version used by the connection (e.g. `1.2`) (if connection is TLS). |
| `TLSCipher` | The TLS cipher used by the connection (e.g. `TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA`) (if connection is TLS) |


可以看到Duration和OriginDuration的单位是nanoseconds。如果想让其在日志系统中显示得友好一些,可以在收集日志时将其转换为秒。

如何戒掉手机去认真学习

看到这里先不要划走,说真的,这篇文章会颠覆你的认知!!从脑科学的角度,来带你知其所以然,从根源知道自己为什么坚持不下来,也带给你真正切实有效的方法。

我就是靠着这个方法,从为了查资料看一眼手机就能玩上3个小时而不自知,变成一整天无纸化学习也能保持超高效率。就是真心想要让你们获得改变**,而不是凭着热血的冲动,而获得仅仅一时的改变。

全文3800字,希望你能用5分钟的时间,认认真真地读完。

献上思维导图~

img

查看更多

spring import

@Import的三种用法主要包括:

1、直接填class数组方式-容器会自动注册这个组件,id默认是全类名
2、实现接口ImportSelector方式【重点】 -返回需要导入的组件的全类名数组,springboot底层用的特别多【重点 】
3、实现接口ImportBeanDefinitionRegistrar方式-手动注册bean到容器

@Import只能用在类上

ImportSelector方式

1
2
3
4
5
6
7
8

public class Myclass implements ImportSelector {
@Override
public String[] selectImports(AnnotationMetadata annotationMetadata) {
return new String[]{"com.yc.Test.TestDemo3"};
}
}

查看更多

战国

战国四大名将

白起

白起(?—公元前257年),男,秦国白氏,名起,郿邑(今陕西眉县常兴镇白家村)人。战国时期名将,杰出的军事家,“兵家”代表人物。

熟知兵法,善于用兵,和穰侯魏冉的关系很好。辅佐秦昭王,屡立战功。伊阙之战,斩首魏韩24万联军,彻底扫平秦军东进之路。伐楚之战,攻陷楚都郢城。 长平之战,重创赵国主力。担任秦军主将30多年,攻城70余座,为秦国统一六国做出了巨大的贡献,受封为武安君。功高震主,得罪应侯,接连贬官。秦昭襄王五十年(前257年),赐死于杜邮。

作为中国历史上继孙武、吴起之后又一个杰出的军事家、统帅,白起与廉颇、李牧、王翦并称为战国四大名将,后位列武庙十哲

李牧

李牧(?~前229年),赵国柏仁(今河北省隆尧县)人,战国时期的赵国名将、军事家,与白起、王翦、廉颇并称“战国四大名将”。

李牧生平事迹大致可划分为两个阶段,先是在赵国北部边境,抗击匈奴;后以抵御秦国为主 ,因在宜安之战重创秦军,得到武安君的封号。战国末期,李牧是赵国赖以支撑危局的唯一良将,素有“李牧死,赵国亡”之称。 公元前229年,赵王迁中了秦国的离间计,听信谗言夺取了李牧的兵权,不久后将李牧杀害。

查看更多

hugo

相关文档

https://skyao.io/learning-hugo/docs/installation/installation.html

https://www.gohugo.org/

#### `GLIBCXX_3.4.20’ not found 解决方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
1. 查看系统版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

发现少了GLIBCXX_3.4.20,解决方法是升级libstdc++.

2.
sudo yum provides libstdc++.so.6
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
libstdc++-4.8.5-39.el7.i686 : GNU Standard C++ Library
Repo : base
Matched from:
Provides : libstdc++.so.6

3.
cd /usr/local/lib64
# 下载最新版本的libstdc.so_.6.0.26
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
# 将下载的最新版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64
# 查看 /usr/lib64下libstdc++.so.6链接的版本
ls -l | grep libstdc++
libstdc++.so.6 ->libstdc++.so.6.0.19
# 删除/usr/lib64原来的软连接libstdc++.so.6,删除之前先备份一份
sudo rm libstdc++.so.6
# 链接新的版本
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
# 查看新版本,成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
...
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_DEBUG_MESSAGE_LENGTH
...


建议将先删掉软连接再创建软连接的过程,改为直接修改软连接ln -snf 这样就可避免删掉软连接之后系统指令完全失效的尴尬。

nodejs

node n node版本管理工具

1
2
3
4
5
6
7
8
9
10
11
12
# 全局安装n
npm install -g n

# 升级到最新稳定版
n stable

# 升级到最新版本
n latest

# 安装国内镜像 cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org

交际一

1、能听懂别人的话。

有人来家里坐客,哎哟,时间不早了,你看,要不,留下来吃顿饭吧。
“行”。
半路上偶遇了朋友,朋友和几个人正准备去吃饭,问你一句,要不,你也一起来吃吧。
“行”。
哎哟你看我本来应该送送你的,不过今天车被别人借走了,不行我帮你叫个滴滴?
“行”。
老师觉得这孩子太能闹了,对家长说,你家孩子别的没啥,就是有点活泼。
“行”。
女孩对男孩说,怎么办,这么晚了宿舍应该关门了,我进不去了,哎哟,这可咋办,宿管大妈脾气可暴躁了,难道我要去砸门把宿管叫醒?
“行”。
你真行啊…

2、不故意说反话,不用反问、疑问的语气回答别人的问题。

查看更多