-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
3662 lines (2074 loc) · 828 KB
/
atom.xml
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Erdong’ Blog</title>
<subtitle>苦练七十二变,笑对八十一难。</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="https://erdong.site/"/>
<updated>2022-07-22T16:27:17.376Z</updated>
<id>https://erdong.site/</id>
<author>
<name>Er Dong</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>QDS08 curl 安装</title>
<link href="https://erdong.site/QDS/qds08.html"/>
<id>https://erdong.site/QDS/qds08.html</id>
<published>2022-07-24T12:12:15.000Z</published>
<updated>2022-07-22T16:27:17.376Z</updated>
<content type="html"><![CDATA[<p>curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。</p><a id="more"></a><p>它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。</p><p>官方是: <a href="https://curl.se" target="_blank" rel="noopener">https://curl.se</a> </p><p>在 CentOS 7 上安装</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum install curl</span><br></pre></td></tr></table></figure><p>查看 Curl 的版本</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">[root@erdong ~]# curl --version</span><br><span class="line">curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.28.4 zlib/1.2.7 libidn/1.28 libssh2/1.4.3</span><br><span class="line">Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp</span><br><span class="line">Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets</span><br><span class="line">[root@erdong ~]# cat /etc/redhat-release</span><br><span class="line">CentOS Linux release 7.9.2009 (Core)</span><br><span class="line">[root@erdong ~]#</span><br></pre></td></tr></table></figure><p>我们可以看到在 CentOS 7.9 上,缺省的 Curl 版本是 7.29.0 ,当前(2021.08)Curl 的最新版本是 7.78 。</p><p>接下来我们进行升级 Curl , Curl 支持多个平台多种操作系统的安装和使用,我们来下载 Linux 平台下使用的二进制包,访问 GitHub 如下链接,就可以看到最近发布的版本,选择 AMD64 架构来下载</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://github.com/moparisthebest/static-curl/releases</span><br></pre></td></tr></table></figure><p>执行下列操作来进行更新</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">wget https://github.com/moparisthebest/static-curl/releases/tag/v7.78.0</span><br><span class="line"></span><br><span class="line">chmod +x curl-amd64</span><br><span class="line">mv curl-amd64 /usr/bin/curl</span><br></pre></td></tr></table></figure><p>这样就更新了 Curl 的可执行文件。</p><p>另外我们也可以通过 Yum 来更新 cURL ,首先创建 <code>repo</code> 仓库文件。</p><p><code>vi /etc/yum.repos.d/city-fan.repo</code><br>写入如下内容:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">[CityFan]</span><br><span class="line">name=City Fan Repo</span><br><span class="line">baseurl=http://www.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch/</span><br><span class="line">enabled=1</span><br><span class="line">gpgcheck=0</span><br></pre></td></tr></table></figure><p>然后进行更新</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum update curl</span><br></pre></td></tr></table></figure><p>在查看版本就已经更新好了</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">[root@erdong ~]# curl --version</span><br><span class="line">curl 7.78.0 (x86_64-redhat-linux-gnu) libcurl/7.78.0 NSS/3.53.1 zlib/1.2.7 libpsl/0.7.0 (+libicu/50.1.2) libssh2/1.9.0 nghttp2/1.33.0 OpenLDAP/2.4.44</span><br><span class="line">Release-Date: 2021-07-21</span><br><span class="line">Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp</span><br><span class="line">Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL UnixSockets</span><br><span class="line">[root@erdong ~]#</span><br></pre></td></tr></table></figure><p>ok ,结束。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。</p>
</summary>
<category term="QDS" scheme="https://erdong.site/categories/QDS/"/>
<category term="QDS" scheme="https://erdong.site/tags/QDS/"/>
<category term="curl" scheme="https://erdong.site/tags/curl/"/>
</entry>
<entry>
<title>QDS07 MySQL 安装</title>
<link href="https://erdong.site/QDS/qds07.html"/>
<id>https://erdong.site/QDS/qds07.html</id>
<published>2022-07-24T10:22:14.000Z</published>
<updated>2022-07-22T16:25:44.911Z</updated>
<content type="html"><![CDATA[<p>MySQL 是经常使用的数据库软件,我们在做测试和实验的时候希望能够快速的安装 MySQL。接下来我们看怎么进行。</p><a id="more"></a><h1 id="基于-Yum-进行安装"><a href="#基于-Yum-进行安装" class="headerlink" title="基于 Yum 进行安装"></a>基于 Yum 进行安装</h1><p>基于 Yum 安装我们可以首先下载 Yum 源</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm</span><br><span class="line"></span><br><span class="line">yum install mysql57-community-release-el7-9.noarch.rpm</span><br></pre></td></tr></table></figure><p>安装好 Yum 源以后 可以使用 Yum 来安装 MySQL </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum install mysql-server</span><br></pre></td></tr></table></figure><p>这样就安装了 MySQL 5.7 版本下的最新的 MySQL,如果要安装 MySQL 8 的话,可以使用如下 Yum 源。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm</span><br></pre></td></tr></table></figure><h1 id="指定版本安装"><a href="#指定版本安装" class="headerlink" title="指定版本安装"></a>指定版本安装</h1><p>在其他一些使用过程中,我们需要安装指定版本的 MySQL ,这个时候,我们有 2 中方法可以使用,一种是在 Yum 安装的时候指定版本号码,另外就是单独下载指定版本的 RPM 包,使用 RPM 进行安装需要下载如下安装包</p><p>mysql-community-client<br>mysql-community-common<br>mysql-community-libs<br>mysql-community-libs-compat<br>mysql-community-server</p><p>这些是必须的,为了使用方便,也可以将开发包一并安装,mysql-community-devel.</p><p>比如我 要安装 5.7.18 我在 MySQL 的官网 <a href="https://downloads.mysql.com/archives/community/" target="_blank" rel="noopener">https://downloads.mysql.com/archives/community/</a> 上选择 我要的版本</p><p>然后下载上边的几个文件包。</p><p>下载好以后依次安装就可以,如果担心依赖关系也可以使用 Yum 来安装这些 RPM 包</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">yum install mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm mysql-community-server-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1.el7.x86_64.rpm</span><br></pre></td></tr></table></figure><p>启动 MySQL</p><p>安装好 MySQL 启动就可以使用了。<br>启动 MySQL</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">systemctl start mysqld</span><br></pre></td></tr></table></figure><p>设置开机自起</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">systemctl enable mysqld</span><br><span class="line">``` </span><br><span class="line"></span><br><span class="line">启动以后执行下列命令能正常输出即为安装成功。</span><br></pre></td></tr></table></figure><p>[root@erdong ~]# mysqladmin –version<br>mysqladmin Ver 8.42 Distrib 5.7.18, for Linux on x86_64</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">这个版本的 MySQL 安装好以后设置了默认的 root 密码,直接登录会提示</span><br></pre></td></tr></table></figure><p>[root@erdong ~]# mysql<br>ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">初始的密码在日志文件当中,没有修改的话在 /var/log/mysqld.log , 在文件中搜索 password 关键字即可,后边会显示出密码</span><br></pre></td></tr></table></figure><p>2021-08-16T09:27:14.711225Z 1 [Note] A temporary password is generated for root@localhost: ufhlrHZ?>94l</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">接下来使用密码进行登录</span><br></pre></td></tr></table></figure><p>[root@erdong ~]# mysql -u root -p<br>Enter password:<br>Welcome to the MySQL monitor. Commands end with ; or \g.<br>Your MySQL connection id is 7<br>Server version: 5.7.18<br>Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.<br>Oracle is a registered trademark of Oracle Corporation and/or its<br>affiliates. Other names may be trademarks of their respective<br>owners.<br>Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.<br>mysql></p><pre><code>OK 结束。======================由于无法及时收到评论内容,所以关闭评论功能。大家有问题欢迎发邮件到 [email protected] ,或者 https://github.com/erdong/erdong.github.io/issues 提 Issue ,我会及时回复。======================Erdong, A Linux user !![微信公众号](https://erdong.site/images/erdongxtnew.jpg)</code></pre>]]></content>
<summary type="html">
<p>MySQL 是经常使用的数据库软件,我们在做测试和实验的时候希望能够快速的安装 MySQL。接下来我们看怎么进行。</p>
</summary>
<category term="QDS" scheme="https://erdong.site/categories/QDS/"/>
<category term="QDS" scheme="https://erdong.site/tags/QDS/"/>
<category term="MySQL" scheme="https://erdong.site/tags/MySQL/"/>
</entry>
<entry>
<title>Prometheus 2.37.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-37-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-37-0.html</id>
<published>2022-07-23T12:16:16.000Z</published>
<updated>2022-07-22T16:07:14.961Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.37.0" target="_blank" rel="noopener">2.37.0</a> 现在(2022.07.14)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-36-0.html">2.36.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次发布的版本是一个 LTS 长期支持的版本,预计会支持到 2023.01.31,详细更多的信息可以查看 <a href="https://erdong.site/Prometheus/New-Features/prometheus-lts-release.html">https://erdong.site/Prometheus/New-Features/prometheus-lts-release.html</a> 。</p><p>由于 OpenBSD 中缺乏统一的缓存而导致用户数据丢失,在找到合适的解决方案之前,Prometheus 开发团队将不再发布支持 OpenBSD 的 Prometheus 长期版本。</p><p>这次的 LTS 版本发布主要以稳定性为主,进行了大量的 BUG 修复,只新增了一个新的功能特性,以及一些实验性的功能。</p><h1 id="服务发现"><a href="#服务发现" class="headerlink" title="服务发现"></a>服务发现</h1><p>本次版本更新唯一的一个稳定功能增加就是 基于 Nomad 的服务发现,Nomad 是 HashiCorp 出品的一个简单、灵活的调度工具,官网地址是 <a href="https://www.nomadproject.io" target="_blank" rel="noopener">https://www.nomadproject.io</a> 。</p><p>对于 Kubernetes 的服务发现,进行了优化,在 endpoint 的 role 中允许增加节点的 label。</p><p>修复了 Uyuni 服务发现的 BUG,制作相对于 Prometheus 配置文件的认证文件,并且修复了默认配置文件的值。<br>修复了 Hetzner 服务发现的 BUG ,制作相对于 Prometheus 配置文件的认证文件。</p><h1 id="TSDB"><a href="#TSDB" class="headerlink" title="TSDB"></a>TSDB</h1><p>对了 TSDB 首先对内存进行了优化。其次优化了读取 WAL 是的睡眠时间,睡眠时间变短了。</p><p>针对 TSDB 修复了 3 个 BUG,第一个是当 context 被取消时,不增加prometheus_tsdb_compactions_failed_total 的值。第二个是修复了在删除 series时没有找到 series 的问题。第三个是当打开顺序错误时,会增加prometheus_tsdb_mmap_chunk_corruptions_total 的值。</p><h1 id="PromQL-amp-Promtool"><a href="#PromQL-amp-Promtool" class="headerlink" title="PromQL & Promtool"></a>PromQL & Promtool</h1><p>优化了 PromQL ,优化了创建签名时带 label 或者不带 label 的问题。</p><p>对于 Promtool 工具修复了 Promtool 检查配置文件失败时不能正确提示错误的问题 。</p><h1 id="OAuth2"><a href="#OAuth2" class="headerlink" title="OAuth2"></a>OAuth2</h1><p>对于 OAuth2 进行了优化,增加了适当的超时和 User-Agent 头 。</p><h1 id="Other"><a href="#Other" class="headerlink" title="Other"></a>Other</h1><p>针对 Alerting 修复了警报排队时 Alertmanager 目标不更新的问题。</p><p>针对 Scrape 修复在服务重载配置时保持重新标记的获取监控数据时间间隔和超时时间。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.37.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.37.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.37.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.37.0" target="_blank" rel="noopener">2.37.0</a> 现在(2022.07.14)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-36-0.html">2.36.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>QDS06 Iperf 测网速</title>
<link href="https://erdong.site/QDS/qds06.html"/>
<id>https://erdong.site/QDS/qds06.html</id>
<published>2022-07-23T10:22:14.000Z</published>
<updated>2022-07-22T16:21:41.426Z</updated>
<content type="html"><![CDATA[<p>QDS (Quick Deployment Series)快速的部署一个软件。这次我们来部署 Iperf 。</p><p>Iperf 是一个网络性能测试工具。Iperf 可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和 UDP 特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。</p><a id="more"></a><h1 id="下载安装"><a href="#下载安装" class="headerlink" title="下载安装"></a>下载安装</h1><h2 id="yum-安装"><a href="#yum-安装" class="headerlink" title="yum 安装"></a>yum 安装</h2><p>如果可以正常使用 yum ,那么可以使用 yum 来安装 Iperf ,该软件包在 epel 源中,需要先安装 epel 。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">yum install -y epel-release</span><br><span class="line"></span><br><span class="line">yum install -y iperf</span><br></pre></td></tr></table></figure><p>这样就安装好了 Iperf ,版本默认是 2.x 。</p><h2 id="编译安装"><a href="#编译安装" class="headerlink" title="编译安装"></a>编译安装</h2><p>如果所在机器无法正常使用 yum ,或者想要使用最新版本的 Iperf ,那么请选择编译安装,在编译前请确保该机器相关编译器已经正确安装且可以使用。</p><p>Iperf 开源在 Github,所以我们可以在 Github 上找到最新的源代码。</p><p>Github 仓库地址:<a href="https://github.com/esnet/iperf" target="_blank" rel="noopener">https://github.com/esnet/iperf</a></p><p>Github 发布地址:<a href="https://github.com/esnet/iperf/releases" target="_blank" rel="noopener">https://github.com/esnet/iperf/releases</a></p><p>仓库里有最早的 2.0 (2007 年 8 月发布)到现在最新的 3.7 版本都有,我们以最新的 3.7 版本为例进行编译安装。</p><p>下载安装包并且解压</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">wget https://github.com/esnet/iperf/archive/3.7.tar.gz</span><br><span class="line">tar -zxf 3.7.tar.gz -C iperf</span><br></pre></td></tr></table></figure><p>编译</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">cd iperf</span><br><span class="line">./configure </span><br><span class="line">make</span><br></pre></td></tr></table></figure><p>到这里可以暂停一下,如果你只是一次性使用,那么就不需要继续了,你只要进入到 <code>iperf/src</code> 目录下,该目录下有一个 <code>iperf3</code> 的可执行文件,直接执行该文件,就可以运行 Iperf 并且进行测试。</p><p>如果你希望以后使用更方便,那么你需要接着上边的步骤把编译好的 Iperf 安装到系统中。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">make install</span><br></pre></td></tr></table></figure><p>这样你就可以在系统的任意位置运行 Iperf ,因为已经安装到了系统中。</p><h1 id="简单测试"><a href="#简单测试" class="headerlink" title="简单测试"></a>简单测试</h1><p>因为网络测试是两个点之间的网络,所以需要在两台机器上都部署 Iperf 。</p><p>我们的测试环境如下所示</p><p>node01 :192.168.0.2 用作 Server<br>node02 :192.168.0.3 用作 Client</p><p>在 Server 端启动 Server 服务</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">./iperf3 -s</span><br></pre></td></tr></table></figure><p>在 Client 端启动 Client ,并且指定 Server 的 IP 地址。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">./iperf3 -c 192.168.0.2</span><br></pre></td></tr></table></figure><p>下面是测试过程中服务端的显示</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">[root@node01 src]# ./iperf3 -s</span><br><span class="line">-----------------------------------------------------------</span><br><span class="line">Server listening on 5201</span><br><span class="line">-----------------------------------------------------------</span><br><span class="line">Accepted connection from 192.168.0.3, port 36406</span><br><span class="line">[ 5] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36410</span><br><span class="line">[ ID] Interval Transfer Bitrate</span><br><span class="line">[ 5] 0.00-1.00 sec 36.2 MBytes 304 Mbits/sec</span><br><span class="line">[ 5] 1.00-2.00 sec 47.6 MBytes 399 Mbits/sec</span><br><span class="line">[ 5] 2.00-3.00 sec 50.7 MBytes 425 Mbits/sec</span><br><span class="line">[ 5] 3.00-4.00 sec 47.4 MBytes 397 Mbits/sec</span><br><span class="line">[ 5] 4.00-5.00 sec 53.0 MBytes 444 Mbits/sec</span><br><span class="line">[ 5] 5.00-6.00 sec 45.8 MBytes 384 Mbits/sec</span><br><span class="line">[ 5] 6.00-7.00 sec 50.9 MBytes 427 Mbits/sec</span><br><span class="line">[ 5] 7.00-8.00 sec 53.4 MBytes 448 Mbits/sec</span><br><span class="line">[ 5] 8.00-9.00 sec 56.5 MBytes 474 Mbits/sec</span><br><span class="line">[ 5] 9.00-10.00 sec 47.8 MBytes 401 Mbits/sec</span><br><span class="line">[ 5] 10.00-10.29 sec 4.03 MBytes 118 Mbits/sec</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">[ ID] Interval Transfer Bitrate</span><br><span class="line">[ 5] 0.00-10.29 sec 493 MBytes 402 Mbits/sec receiver</span><br><span class="line">-----------------------------------------------------------</span><br><span class="line">Server listening on 5201</span><br><span class="line">-----------------------------------------------------------</span><br></pre></td></tr></table></figure><p>可以看到最后测试的结果是 402 Mbits/sec ,结果看 Bitrate 字段。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><span class="line">[root@node02 src]# ./iperf3 -c 192.168.0.2</span><br><span class="line">Connecting to host 192.168.0.2, port 5201</span><br><span class="line">[ 5] local 192.168.0.3 port 36410 connected to 192.168.0.2 port 5201</span><br><span class="line">[ ID] Interval Transfer Bitrate Retr Cwnd</span><br><span class="line">[ 5] 0.00-1.00 sec 40.7 MBytes 341 Mbits/sec 2239 4.47 MBytes</span><br><span class="line">[ 5] 1.00-2.00 sec 48.8 MBytes 409 Mbits/sec 1925 4.73 MBytes</span><br><span class="line">[ 5] 2.00-3.00 sec 48.8 MBytes 409 Mbits/sec 1683 4.47 MBytes</span><br><span class="line">[ 5] 3.00-4.00 sec 47.5 MBytes 398 Mbits/sec 2364 2.44 MBytes</span><br><span class="line">[ 5] 4.00-5.00 sec 53.8 MBytes 451 Mbits/sec 1492 5.02 MBytes</span><br><span class="line">[ 5] 5.00-6.00 sec 45.0 MBytes 377 Mbits/sec 2556 4.46 MBytes</span><br><span class="line">[ 5] 6.00-7.00 sec 51.2 MBytes 430 Mbits/sec 1766 4.75 MBytes</span><br><span class="line">[ 5] 7.00-8.00 sec 52.5 MBytes 440 Mbits/sec 2159 2.28 MBytes</span><br><span class="line">[ 5] 8.00-9.00 sec 57.5 MBytes 482 Mbits/sec 1424 5.00 MBytes</span><br><span class="line">[ 5] 9.00-10.00 sec 47.5 MBytes 398 Mbits/sec 2358 4.36 MBytes</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">[ ID] Interval Transfer Bitrate Retr</span><br><span class="line">[ 5] 0.00-10.00 sec 493 MBytes 414 Mbits/sec 19966 sender</span><br><span class="line">[ 5] 0.00-10.29 sec 493 MBytes 402 Mbits/sec receiver</span><br><span class="line"></span><br><span class="line">iperf Done.</span><br><span class="line">[root@node02 src]#</span><br></pre></td></tr></table></figure><p>从客户端来看,测试结果约是 400 Mbits/sec ,结果看 Bitrate 的值。</p><p>可以使用 <code>-P</code> 参数指定多个进程来压测带宽,使得达到该线路的极限。</p><p>服务端显示如下所示,</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br></pre></td><td class="code"><pre><span class="line">^@Accepted connection from 192.168.0.3, port 36434</span><br><span class="line">[ 5] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36436</span><br><span class="line">[ 8] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36438</span><br><span class="line">[ 10] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36440</span><br><span class="line">[ 12] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36442</span><br><span class="line">[ 14] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36444</span><br><span class="line">[ 16] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36446</span><br><span class="line">[ 18] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36448</span><br><span class="line">[ 20] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36450</span><br><span class="line">[ 22] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36452</span><br><span class="line">[ 24] local 192.168.0.2 port 5201 connected to 192.168.0.3 port 36454</span><br><span class="line">[ ID] Interval Transfer Bitrate</span><br><span class="line">[ 5] 0.00-1.00 sec 8.06 MBytes 67.6 Mbits/sec</span><br><span class="line">[ 8] 0.00-1.00 sec 7.84 MBytes 65.7 Mbits/sec</span><br><span class="line">[ 10] 0.00-1.00 sec 9.01 MBytes 75.6 Mbits/sec</span><br><span class="line">[ 12] 0.00-1.00 sec 8.68 MBytes 72.8 Mbits/sec</span><br><span class="line">[ 14] 0.00-1.00 sec 8.65 MBytes 72.6 Mbits/sec</span><br><span class="line">[ 16] 0.00-1.00 sec 8.14 MBytes 68.2 Mbits/sec</span><br><span class="line">[ 18] 0.00-1.00 sec 8.04 MBytes 67.5 Mbits/sec</span><br><span class="line">[ 20] 0.00-1.00 sec 8.76 MBytes 73.5 Mbits/sec</span><br><span class="line">[ 22] 0.00-1.00 sec 8.44 MBytes 70.8 Mbits/sec</span><br><span class="line">[ 24] 0.00-1.00 sec 8.64 MBytes 72.5 Mbits/sec</span><br><span class="line">[SUM] 0.00-1.00 sec 84.3 MBytes 707 Mbits/sec</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">省略部分测试过程。</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">[ 5] 10.00-10.26 sec 2.71 MBytes 86.5 Mbits/sec</span><br><span class="line">[ 8] 10.00-10.26 sec 2.76 MBytes 88.2 Mbits/sec</span><br><span class="line">[ 10] 10.00-10.26 sec 2.63 MBytes 84.1 Mbits/sec</span><br><span class="line">[ 12] 10.00-10.26 sec 3.56 MBytes 113 Mbits/sec</span><br><span class="line">[ 14] 10.00-10.26 sec 1.43 MBytes 45.7 Mbits/sec</span><br><span class="line">[ 16] 10.00-10.26 sec 1.50 MBytes 47.8 Mbits/sec</span><br><span class="line">[ 18] 10.00-10.26 sec 3.54 MBytes 113 Mbits/sec</span><br><span class="line">[ 20] 10.00-10.26 sec 3.79 MBytes 121 Mbits/sec</span><br><span class="line">[ 22] 10.00-10.26 sec 645 KBytes 20.1 Mbits/sec</span><br><span class="line">[ 24] 10.00-10.26 sec 2.92 MBytes 93.2 Mbits/sec</span><br><span class="line">[SUM] 10.00-10.26 sec 25.5 MBytes 813 Mbits/sec</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">[ ID] Interval Transfer Bitrate</span><br><span class="line">[ 5] 0.00-10.26 sec 107 MBytes 87.3 Mbits/sec receiver</span><br><span class="line">[ 8] 0.00-10.26 sec 107 MBytes 87.6 Mbits/sec receiver</span><br><span class="line">[ 10] 0.00-10.26 sec 107 MBytes 87.8 Mbits/sec receiver</span><br><span class="line">[ 12] 0.00-10.26 sec 113 MBytes 92.2 Mbits/sec receiver</span><br><span class="line">[ 14] 0.00-10.26 sec 108 MBytes 88.6 Mbits/sec receiver</span><br><span class="line">[ 16] 0.00-10.26 sec 106 MBytes 86.6 Mbits/sec receiver</span><br><span class="line">[ 18] 0.00-10.26 sec 110 MBytes 90.0 Mbits/sec receiver</span><br><span class="line">[ 20] 0.00-10.26 sec 111 MBytes 91.0 Mbits/sec receiver</span><br><span class="line">[ 22] 0.00-10.26 sec 107 MBytes 87.1 Mbits/sec receiver</span><br><span class="line">[ 24] 0.00-10.26 sec 112 MBytes 91.2 Mbits/sec receiver</span><br><span class="line">[SUM] 0.00-10.26 sec 1.06 GBytes 889 Mbits/sec receiver</span><br><span class="line">-----------------------------------------------------------</span><br><span class="line">Server listening on 5201</span><br><span class="line">-----------------------------------------------------------</span><br><span class="line">^Ciperf3: interrupt - the server has terminated</span><br></pre></td></tr></table></figure><p>在服务端可以看到在使用 10 个进程压测以后,总带宽是 889 Mbits/sec ,已经比较接近千兆网线的物理极限了。测试结果看最后的 SUM 行,Bitrate 的值。</p><p>客户端的显示如下所示。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br></pre></td><td class="code"><pre><span class="line">[root@node02 src]# ./iperf3 -c 192.168.0.2 -P 10</span><br><span class="line">Connecting to host 192.168.0.2, port 5201</span><br><span class="line">[ 5] local 192.168.0.3 port 36436 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 7] local 192.168.0.3 port 36438 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 9] local 192.168.0.3 port 36440 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 11] local 192.168.0.3 port 36442 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 13] local 192.168.0.3 port 36444 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 15] local 192.168.0.3 port 36446 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 17] local 192.168.0.3 port 36448 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 19] local 192.168.0.3 port 36450 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 21] local 192.168.0.3 port 36452 connected to 192.168.0.2 port 5201</span><br><span class="line">[ 23] local 192.168.0.3 port 36454 connected to 192.168.0.2 port 5201</span><br><span class="line">[ ID] Interval Transfer Bitrate Retr Cwnd</span><br><span class="line">[ 5] 0.00-1.00 sec 11.6 MBytes 97.7 Mbits/sec 308 718 KBytes</span><br><span class="line">[ 7] 0.00-1.00 sec 10.4 MBytes 86.9 Mbits/sec 260 696 KBytes</span><br><span class="line">[ 9] 0.00-1.00 sec 11.6 MBytes 97.3 Mbits/sec 313 749 KBytes</span><br><span class="line">[ 11] 0.00-1.00 sec 11.6 MBytes 97.3 Mbits/sec 304 673 KBytes</span><br><span class="line">[ 13] 0.00-1.00 sec 12.4 MBytes 104 Mbits/sec 308 662 KBytes</span><br><span class="line">[ 15] 0.00-1.00 sec 11.5 MBytes 96.6 Mbits/sec 309 650 KBytes</span><br><span class="line">[ 17] 0.00-1.00 sec 11.3 MBytes 94.9 Mbits/sec 307 634 KBytes</span><br><span class="line">[ 19] 0.00-1.00 sec 11.4 MBytes 95.4 Mbits/sec 352 650 KBytes</span><br><span class="line">[ 21] 0.00-1.00 sec 11.6 MBytes 97.3 Mbits/sec 289 724 KBytes</span><br><span class="line">[ 23] 0.00-1.00 sec 11.5 MBytes 96.7 Mbits/sec 410 650 KBytes</span><br><span class="line">[SUM] 0.00-1.00 sec 115 MBytes 964 Mbits/sec 3160</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line"> 省略部分测试过程。</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">[ 5] 9.00-10.00 sec 10.0 MBytes 83.9 Mbits/sec 212 707 KBytes</span><br><span class="line">[ 7] 9.00-10.00 sec 11.2 MBytes 94.4 Mbits/sec 248 1.04 MBytes</span><br><span class="line">[ 9] 9.00-10.00 sec 10.0 MBytes 83.9 Mbits/sec 252 5.66 KBytes</span><br><span class="line">[ 11] 9.00-10.00 sec 12.5 MBytes 105 Mbits/sec 169 1.10 MBytes</span><br><span class="line">[ 13] 9.00-10.00 sec 10.0 MBytes 83.9 Mbits/sec 201 5.66 KBytes</span><br><span class="line">[ 15] 9.00-10.00 sec 11.2 MBytes 94.4 Mbits/sec 203 5.66 KBytes</span><br><span class="line">[ 17] 9.00-10.00 sec 12.5 MBytes 105 Mbits/sec 217 1.36 MBytes</span><br><span class="line">[ 19] 9.00-10.00 sec 12.5 MBytes 105 Mbits/sec 195 1.24 MBytes</span><br><span class="line">[ 21] 9.00-10.00 sec 11.2 MBytes 94.4 Mbits/sec 222 5.66 KBytes</span><br><span class="line">[ 23] 9.00-10.00 sec 11.2 MBytes 94.4 Mbits/sec 247 1.21 MBytes</span><br><span class="line">[SUM] 9.00-10.00 sec 112 MBytes 944 Mbits/sec 2166</span><br><span class="line">- - - - - - - - - - - - - - - - - - - - - - - - -</span><br><span class="line">[ ID] Interval Transfer Bitrate Retr</span><br><span class="line">[ 5] 0.00-10.00 sec 108 MBytes 90.5 Mbits/sec 2700 sender</span><br><span class="line">[ 5] 0.00-10.26 sec 107 MBytes 87.3 Mbits/sec receiver</span><br><span class="line">[ 7] 0.00-10.00 sec 108 MBytes 90.5 Mbits/sec 2914 sender</span><br><span class="line">[ 7] 0.00-10.26 sec 107 MBytes 87.6 Mbits/sec receiver</span><br><span class="line">[ 9] 0.00-10.00 sec 108 MBytes 90.5 Mbits/sec 2697 sender</span><br><span class="line">[ 9] 0.00-10.26 sec 107 MBytes 87.8 Mbits/sec receiver</span><br><span class="line">[ 11] 0.00-10.00 sec 113 MBytes 94.7 Mbits/sec 2427 sender</span><br><span class="line">[ 11] 0.00-10.26 sec 113 MBytes 92.2 Mbits/sec receiver</span><br><span class="line">[ 13] 0.00-10.00 sec 110 MBytes 92.2 Mbits/sec 2674 sender</span><br><span class="line">[ 13] 0.00-10.26 sec 108 MBytes 88.6 Mbits/sec receiver</span><br><span class="line">[ 15] 0.00-10.00 sec 108 MBytes 90.4 Mbits/sec 2719 sender</span><br><span class="line">[ 15] 0.00-10.26 sec 106 MBytes 86.6 Mbits/sec receiver</span><br><span class="line">[ 17] 0.00-10.00 sec 110 MBytes 92.3 Mbits/sec 2908 sender</span><br><span class="line">[ 17] 0.00-10.26 sec 110 MBytes 90.0 Mbits/sec receiver</span><br><span class="line">[ 19] 0.00-10.00 sec 111 MBytes 93.4 Mbits/sec 2650 sender</span><br><span class="line">[ 19] 0.00-10.26 sec 111 MBytes 91.0 Mbits/sec receiver</span><br><span class="line">[ 21] 0.00-10.00 sec 109 MBytes 91.5 Mbits/sec 2616 sender</span><br><span class="line">[ 21] 0.00-10.26 sec 107 MBytes 87.1 Mbits/sec receiver</span><br><span class="line">[ 23] 0.00-10.00 sec 112 MBytes 93.6 Mbits/sec 3176 sender</span><br><span class="line">[ 23] 0.00-10.26 sec 112 MBytes 91.2 Mbits/sec receiver</span><br><span class="line">[SUM] 0.00-10.00 sec 1.07 GBytes 920 Mbits/sec 27481 sender</span><br><span class="line">[SUM] 0.00-10.26 sec 1.06 GBytes 889 Mbits/sec receiver</span><br><span class="line"></span><br><span class="line">iperf Done.</span><br><span class="line">[root@node02 src]#</span><br></pre></td></tr></table></figure><p>看最后的测试结果,可以发现,网络带宽在 900 Mbits/sec ,其中 sender 的带宽是 920 Mbits/sec ,receiver 带宽是 889 Mbits/sec 。测试结果看 SUM 行,Bitrate 的值。</p><blockquote><p>说明:<br>该测试只测试了 TCP 的网络带宽,更多详细的测试请关注本博客,后续会放出。<br>通过 Server 端和 Client 的测试结果来看,两者的结果一致,只要关注 Client 的结果即可。</p></blockquote><h1 id="附录-help-参数"><a href="#附录-help-参数" class="headerlink" title="附录 -help 参数"></a>附录 -help 参数</h1><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br></pre></td><td class="code"><pre><span class="line">[root@node01 src]$ ./iperf3 -h</span><br><span class="line">Usage: iperf3 [-s|-c host] [options]</span><br><span class="line"> iperf3 [-h|--help] [-v|--version]</span><br><span class="line"></span><br><span class="line">Server or Client:</span><br><span class="line"> -p, --port # server port to listen on/connect to</span><br><span class="line"> -f, --format [kmgtKMGT] format to report: Kbits, Mbits, Gbits, Tbits</span><br><span class="line"> -i, --interval # seconds between periodic throughput reports</span><br><span class="line"> -F, --file name xmit/recv the specified file</span><br><span class="line"> -A, --affinity n/n,m set CPU affinity</span><br><span class="line"> -B, --bind <host> bind to the interface associated with the address <host></span><br><span class="line"> -V, --verbose more detailed output</span><br><span class="line"> -J, --json output in JSON format</span><br><span class="line"> --logfile f send output to a log file</span><br><span class="line"> --forceflush force flushing output at every interval</span><br><span class="line"> -d, --debug emit debugging output</span><br><span class="line"> -v, --version show version information and quit</span><br><span class="line"> -h, --help show this message and quit</span><br><span class="line">Server specific:</span><br><span class="line"> -s, --server run in server mode</span><br><span class="line"> -D, --daemon run the server as a daemon</span><br><span class="line"> -I, --pidfile file write PID file</span><br><span class="line"> -1, --one-off handle one client connection then exit</span><br><span class="line"> --rsa-private-key-path path to the RSA private key used to decrypt</span><br><span class="line"> authentication credentials</span><br><span class="line"> --authorized-users-path path to the configuration file containing user</span><br><span class="line"> credentials</span><br><span class="line">Client specific:</span><br><span class="line"> -c, --client <host> run in client mode, connecting to <host></span><br><span class="line"> -u, --udp use UDP rather than TCP</span><br><span class="line"> --connect-timeout # timeout for control connection setup (ms)</span><br><span class="line"> -b, --bitrate #[KMG][/#] target bitrate in bits/sec (0 for unlimited)</span><br><span class="line"> (default 1 Mbit/sec for UDP, unlimited for TCP)</span><br><span class="line"> (optional slash and packet count for burst mode)</span><br><span class="line"> --pacing-timer #[KMG] set the timing for pacing, in microseconds (default 1000)</span><br><span class="line"> --fq-rate #[KMG] enable fair-queuing based socket pacing in</span><br><span class="line"> bits/sec (Linux only)</span><br><span class="line"> -t, --time # time in seconds to transmit for (default 10 secs)</span><br><span class="line"> -n, --bytes #[KMG] number of bytes to transmit (instead of -t)</span><br><span class="line"> -k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n)</span><br><span class="line"> -l, --length #[KMG] length of buffer to read or write</span><br><span class="line"> (default 128 KB for TCP, dynamic or 1460 for UDP)</span><br><span class="line"> --cport <port> bind to a specific client port (TCP and UDP, default: ephemeral port)</span><br><span class="line"> -P, --parallel # number of parallel client streams to run</span><br><span class="line"> -R, --reverse run in reverse mode (server sends, client receives)</span><br><span class="line"> --bidir run in bidirectional mode.</span><br><span class="line"> Client and server send and receive data.</span><br><span class="line"> -w, --window #[KMG] set window size / socket buffer size</span><br><span class="line"> -C, --congestion <algo> set TCP congestion control algorithm (Linux and FreeBSD only)</span><br><span class="line"> -M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes)</span><br><span class="line"> -N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm</span><br><span class="line"> -4, --version4 only use IPv4</span><br><span class="line"> -6, --version6 only use IPv6</span><br><span class="line"> -S, --tos N set the IP type of service, 0-255.</span><br><span class="line"> The usual prefixes for octal and hex can be used,</span><br><span class="line"> i.e. 52, 064 and 0x34 all specify the same value.</span><br><span class="line"> --dscp N or --dscp val set the IP dscp value, either 0-63 or symbolic.</span><br><span class="line"> Numeric values can be specified in decimal,</span><br><span class="line"> octal and hex (see --tos above).</span><br><span class="line"> -L, --flowlabel N set the IPv6 flow label (only supported on Linux)</span><br><span class="line"> -Z, --zerocopy use a 'zero copy' method of sending data</span><br><span class="line"> -O, --omit N omit the first n seconds</span><br><span class="line"> -T, --title str prefix every output line with this string</span><br><span class="line"> --extra-data str data string to include in client and server JSON</span><br><span class="line"> --get-server-output get results from server</span><br><span class="line"> --udp-counters-64bit use 64-bit counters in UDP test packets</span><br><span class="line"> --repeating-payload use repeating pattern in payload, instead of</span><br><span class="line"> randomized payload (like in iperf2)</span><br><span class="line"> --username username for authentication</span><br><span class="line"> --rsa-public-key-path path to the RSA public key used to encrypt</span><br><span class="line"> authentication credentials</span><br><span class="line"></span><br><span class="line">[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-</span><br><span class="line"></span><br><span class="line">iperf3 homepage at: https://software.es.net/iperf/</span><br><span class="line">Report bugs to: https://github.com/esnet/iperf</span><br><span class="line">[root@node01 src]$</span><br></pre></td></tr></table></figure><p>ok ,结束。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>QDS (Quick Deployment Series)快速的部署一个软件。这次我们来部署 Iperf 。</p>
<p>Iperf 是一个网络性能测试工具。Iperf 可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和 UDP 特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。</p>
</summary>
<category term="QDS" scheme="https://erdong.site/categories/QDS/"/>
<category term="QDS" scheme="https://erdong.site/tags/QDS/"/>
<category term="Iperf" scheme="https://erdong.site/tags/Iperf/"/>
</entry>
<entry>
<title>Prometheus 发布 LTS 长期支持版本啦</title>
<link href="https://erdong.site/Prometheus/New-Features/prometheus-lts-release.html"/>
<id>https://erdong.site/Prometheus/New-Features/prometheus-lts-release.html</id>
<published>2022-07-23T05:41:39.000Z</published>
<updated>2022-07-21T05:45:35.478Z</updated>
<content type="html"><![CDATA[<p>最近翻看 Prometheus 的发布记录,发现在 2022.07.14 发布了新的版本 v2.37.0 ,这个版本的新特性更新和 BUG 修复我们下篇文章再讲,这个版本和其他版本有一个最大的不同,那就是这个版本是 Prometheus 的第一个 LTS 版本。</p><a id="more"></a><p>LTS ,Long Time Support ,长期支持版本,这是 Prometheus 的第一个长期支持版本,这个版本会支持到 2023.01.31 ,按照 Prometheus 之前的发版频率,大约会横跨 4 个版本,直到 v2.41.0 ,个人预计 v2.42.0 或者 v2.43.0 会是下一个长期支持版本。</p><p>Prometheus 开发组一直按照每 6 周发布一个新的 Prometheus 小版本的节奏在发版,在过去的 6 周里,小版本通常不再接收 BUG 修复。如果用户在某一个小版本中受到 BUG 的影响,他们通常需要升级到最新的 Prometheus 版本。</p><p>由于 Prometheus Server 的 API 稳定性保证,升级 Prometheus 是很快捷和方便的。但是新增的功能特性和功能增加也会增加出现的问题的风险,导致需要再次升级。</p><p>Prometheus 的长期支持版本 对会进行 BUG 修复、安全性修复和文档的错误更正。这使得依赖于 Prometheus 的公司能够对版本升级的风险在可以控制的范围内,同时也可以让社区开发者继续开发维护 Prometheus 服务。</p><h1 id="LTS-版本的局限性"><a href="#LTS-版本的局限性" class="headerlink" title="LTS 版本的局限性"></a>LTS 版本的局限性</h1><p>针对长期支持版本的 Prometheus ,有一些功能是被排除在 LTS 之外的,</p><ul><li>API 的稳定性保证中被列为不稳定的接口</li><li>实验性质的功能</li><li>对 OpenBSD 的支持</li></ul><p>上边列出的这些功能是不被 LTS 支持的。</p><p>所以在使用 Prometheus 长期支持版本的时候要做好评估,在稳定性和新功能之间做好平衡。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>最近翻看 Prometheus 的发布记录,发现在 2022.07.14 发布了新的版本 v2.37.0 ,这个版本的新特性更新和 BUG 修复我们下篇文章再讲,这个版本和其他版本有一个最大的不同,那就是这个版本是 Prometheus 的第一个 LTS 版本。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>远程办公三部曲 - 如何合理安排时间</title>
<link href="https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html"/>
<id>https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html</id>
<published>2022-06-26T12:17:11.000Z</published>
<updated>2022-06-26T14:33:16.801Z</updated>
<content type="html"><![CDATA[<p>自从 2019 年十二月疫情开始,将近 3 年的时候,远程办公的频率也越来越多。疫情之前,远程办公还只是少数组织或者公司为了更灵活的人员安排而采取的一种方式,疫情当下,已经是一种必要的工作方式的补充。</p><a id="more"></a><p>在远程办公的时候,如何合理的安排时间也是一个需要斟酌考虑的方面,远程办公和在公司固定场所还是有很大区别的。</p><p>首先远程办公按照不同办公区域可以分为同时区的办公和跨时区两个场景。针对不同的场景,会略有不同。</p><h1 id="同时区办公场景"><a href="#同时区办公场景" class="headerlink" title="同时区办公场景"></a>同时区办公场景</h1><p>首先对于同时区的办公场景,比如大家都在同一个城市,只是由于疫情的原因而采取了居家办公的方式,或者都在国内,分处不同城市的分公司等等。在同时区的办公场景下,大家的作息时间基本一致,安排起来其实相对简单。</p><p>我们假定每天上午 9 点上班,中午休息 1.5 小时到 2 小时,下午大约 6 点到 7 点下班。针对这个工作时间,建议的作息时间是:<br>7:00 起床<br>8:00 早餐<br>9:00 开始上班<br>12:00 准备午餐<br>13:30 or 14:00 休息结束<br>18:30 下班<br>19:30 晚饭<br>23:00 准备睡觉</p><h2 id="早上"><a href="#早上" class="headerlink" title="早上"></a>早上</h2><p>早上 7 点起床以后,到 9 点开始上班,这中间有 2 个小时,这两个小时用来起床洗漱、制作早餐或者购买早餐,吃早餐,在楼下活动二十分钟到半个小时,打开电脑,接好水杯里的水然后开始工作。早上起来按时吃早餐可以保证一上午的精力充沛,在楼下进行早间的活动可以保证 9 点钟的时候已经是元气满满的工作状态,而不是刚起床的睡眼朦胧,这个活动可以是走路、慢跑或者任何运动量较小的活动。打开电脑接好水则像一个固定仪式一样,告诉我们,我要开始工作了。</p><p>9 点开始工作以后,尽量在半个小时以内梳理好今天的工作内容,是否需要其他同事配合你的工作,是否有会议要参加,然后联系对应的同事进行沟通,展开一天的工作。</p><h2 id="中午"><a href="#中午" class="headerlink" title="中午"></a>中午</h2><p>中午 12 点的时候要准备午饭了,如果中午有 2 小时的休息时间,那么时间还比较宽裕,如果只有 1.5 小时,那么就有些紧张了。午饭尽量在 12:00 ~ 12:40 这 40 分钟之间完成,包含做饭、吃饭、洗碗这些事项,然后 12:40 ~ 13:00 站起来走一走,13:00~13:30 午休,小憩一会儿,下午精力会更好。但是 40 分钟包含做饭、洗碗其实挺难的,可以尝试外卖或者提前做好预处理的菜品,比如早上就切好中午要做的菜。当然如果和家人同住,家人可以做饭的话是最好的,自己单独居住的话就需要多考虑了。</p><h2 id="下午"><a href="#下午" class="headerlink" title="下午"></a>下午</h2><p>下午开始工作以后注意多喝水,在下班前尽量留十几分钟,用来总结今天的工作进度和遇到的问题,以及明天的工作安排。整理好以后下班。下班以后晚上的时间相对丰富一些,可以做一些自己喜欢吃的菜,可以躺着刷剧看视频,和朋友打打游戏,可以做任何自己喜欢的事情,这是休闲放松的时间,然后在大约 23:00 的时候准备上床休息。</p><p>这样的时间安排是比较理想的,根据每个人的工作时间可以自行调节,比如有的朋友是上午 10 点开始上班,那么起床时间、下班时间往后推一个小时就可以。如果是 8 点上班,那评估一下往前调一个小时能不能接受,有些早上的事情是不是可以挪到下班后进行。这样适当的调整会更合适一些。</p><p>还有就是加班问题,遇到加班问题只能是牺牲晚上的娱乐时间了。如果遇到突发问题,那么只能紧急处理了。</p><h1 id="跨时区办公场景"><a href="#跨时区办公场景" class="headerlink" title="跨时区办公场景"></a>跨时区办公场景</h1><p>其次对于跨时区的办公场景,一般是全球化的业务,比如你在中国,有合作的同事在欧洲或者美洲,或者是在其他州有客户的问题需要支持。</p><p>在跨时区的办公场景中,自身的作息时间也可以参照上边的作息时间来安排,和同时区的办公场景最大的不同就是要兼顾其他时区的同事,和同事的沟通都尽量安排在大家共同的工作时间内,其他时间做一些可以独立完成的工作。</p><h1 id="时间安排的原则"><a href="#时间安排的原则" class="headerlink" title="时间安排的原则"></a>时间安排的原则</h1><p>在远程办公场景下,时间安排遵循以下规则可以更好的平衡生活和工作,提高工作效率。</p><p>保证合理的休息、睡眠时间。只有休息好,才有精力工作,休息不好,工作时间犯困,会严重降低工作效率,而且会出错。<br>保证每天的三餐按时食用。吃的好,保持长期的营养均衡,可以打造一个强壮的身体,身体才是革命的本钱。<br>保证每天有一定量的运动。适当的运动可以保持我们的身体健康,长期久坐容易出现各种问题,我们还是要关注自己的健康状态。<br>保证每天水分的摄入。不知道大家是什么情况,我长时间坐在电脑面前经常忘记喝水,所以,一定要经常站起来去接杯水,然后喝水。<br>保留一定的休闲娱乐时间。除了上述的原则,我们也要休闲娱乐,也需要放松,休息好以后才能更好 的工作。</p><p>以上原则是我认为比较重要的一些点,大家在安排时间的时候可以把自己认为重要的点添加进去,比如陪伴家人,参与孩子的活动等等。</p><h1 id="远程办公的自律能力"><a href="#远程办公的自律能力" class="headerlink" title="远程办公的自律能力"></a>远程办公的自律能力</h1><p>远程办公是需要一定的自律能力的,自律能力差的人远程办公的效率会变低,从时间安排角度来看,在时间安排好以后,需要在预定的时间内,完成自己计划的事情,这样才能享受时间安排带来的便利。自律能力差、执行力差会导致在既定的时间内没有完成任务,进而拖延的下一个时间段的计划,久而久之,安排的任务都不能完成,会对自信心造成打击,怀疑自己的能力,厌恶时间安排这个事情,认为计划造成了束缚,开始破罐破摔,丧失信心。</p><p>在一定的自律能力下,合理的安排时间和任务,按照计划执行,发现时间不够或者其他问题以后立即进行调整,然后重新安排时间和任务,形成一个正向的循环,远程办公的时间效率越来越高,最后工作效率也越来越高。</p><p>本文收录于远程办公三部曲:</p><p><a href="https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html">远程办公三部曲 - 如何合理安排时间</a><br><a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何提高沟通效率</a><br><a href="https://erdong.site/telecommuting/telecommuting03-how-to-imporove-work-efficiency.html">远程办公三部曲 - 如何提高工作效率</a></p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>自从 2019 年十二月疫情开始,将近 3 年的时候,远程办公的频率也越来越多。疫情之前,远程办公还只是少数组织或者公司为了更灵活的人员安排而采取的一种方式,疫情当下,已经是一种必要的工作方式的补充。</p>
</summary>
<category term="telecommuting" scheme="https://erdong.site/categories/telecommuting/"/>
<category term="telecommuting" scheme="https://erdong.site/tags/telecommuting/"/>
<category term="manage time" scheme="https://erdong.site/tags/manage-time/"/>
</entry>
<entry>
<title>Prometheus 2.35.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-35-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-35-0.html</id>
<published>2022-06-26T12:16:16.000Z</published>
<updated>2022-06-26T14:22:51.513Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.35.0" target="_blank" rel="noopener">2.35.0</a> 现在(2022.04.21)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-34-0.html">2.34.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次更新新增了很多的特性,并且修复一些 BUG 。</p><p>Prometheus 这次发行使用了 Go 1.18 版本进行构建,包含两个与TLS相关的显著更改:</p><p>客户端默认禁用TLS 1.0和1.1协议。Prometheus 用户可以使用 tls_config 的 min_version 参数来覆盖它。如果使用 SHA-1 哈希函数签名的证书将被拒绝,这样不适用于自签名的根证书。</p><h1 id="PromQL-amp-promtool"><a href="#PromQL-amp-promtool" class="headerlink" title="PromQL & promtool"></a>PromQL & promtool</h1><p>Promtool 工具新增了一个参数 <code>--lint</code> ,这个参数用来检查规则和检查配置,导致检查错误的退出码是 (3),该参数默认是开启的。</p><p>PromQL 查询语句使用查询中的样本总数和峰值数量扩展统计信息。<br>此外,在查询 API 中使用 <code>--enable-feature=promql-per-step-stats</code> 和使用 <code>stats=all</code> 可以获得每一步的统计信息。可以使用 <code>--enable-feature=per-step-stats</code> 。</p><h1 id="TSDB"><a href="#TSDB" class="headerlink" title="TSDB"></a>TSDB</h1><p>时序数据库有一个变化,当启动 Prometheus 的时候会删除 *.tmp 的 WAL 文件。时序数据库在启动读 WAL 的可以更有效的排序和分类。</p><h1 id="SD"><a href="#SD" class="headerlink" title="SD"></a>SD</h1><p>Azure 服务发现添加了一个指标去跟踪 Azure 服务发现的失败,还增加了一个 resource_group 的配置选项。</p><p>首先 K8s 服务发现允许将节点元数据附加到发现的 pods 上。其次 K8s 支持 discovery.k8s.io/v1 的 EndpointSlice ,以前只有discovery.k8s.io/v1beta1 EndpointSlice 被支持。</p><p>K8s 服务发现这次修复了一个 BUG,显式包含来自 k8s.io 的 gcp 认证。</p><h1 id="UI"><a href="#UI" class="headerlink" title="UI"></a>UI</h1><p>UI 方面修复了获取指标间隔和持续时间的工具提示不显示在 Target 页面上的问题。</p><h1 id="Prometheus-Agent"><a href="#Prometheus-Agent" class="headerlink" title="Prometheus Agent"></a>Prometheus Agent</h1><p>Prometheus Agent 修复了加载一个包含多个分段的WAL时ID冲突的问题。</p><h1 id="Remote-write"><a href="#Remote-write" class="headerlink" title="Remote-write"></a>Remote-write</h1><p>远程写方面修复了批处理和刷新队列之间的死锁问题。</p><h1 id="Other"><a href="#Other" class="headerlink" title="Other"></a>Other</h1><p>Prometheus 支持自动将变量 GOMAXPROCS 设置为容器 CPU 限制,使用 <code>--enable-feature=auto-gomaxprocs</code> 参数开启。</p><p>Prometheus 修复了 OpenMetrics 解析器以正确排序大写标签。</p><p>Tracing 和 GRPC 方面仅 <code>insecure</code> 为 false 时设置 TLS 的认证凭据。</p><p>OAuth2方面 Prometheus 这次更新以后支持使用代理URL来获取OAuth2令牌</p><p>配置方面,Prometheus 新增了添加禁用 HTTP2 的能力,而且支持覆盖最小TLS版本。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.35.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.35.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.35.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.35.0" target="_blank" rel="noopener">2.35.0</a> 现在(2022.04.21)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-34-0.html">2.34.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.36.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-36-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-36-0.html</id>
<published>2022-06-26T12:16:16.000Z</published>
<updated>2022-06-28T14:45:49.578Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.36.0" target="_blank" rel="noopener">2.36.0</a> 现在(2022.05.30)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-35-0.html">2.35.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次更新的 Prometheus 版本使用的是 Go 1.18 ,之后的版本在构建的时候需要最小使用 Go 1.17 的版本,其他 Go 版本将不能在用来构建 Prometheus 。</p><p>这次更新的内容相对以往的版本少一些。</p><p>首先新增了一个添加小写和大写的重新标记动作的功能。</p><p>第二还新增了 stripDomain 的模板函数功能。</p><p>第三,对于 Agent 模式添加了一个标识符。</p><p>对于 UI 方面,这次新增了一个开关,打开后可以主动搜索掉线的 Target。</p><p>对于服务发现这部分,这次新增了 2 种,分别是 IONOS Cloud 和 Vultr ,另外这次新增了 Linode 服务发现失败计数的 指标。</p><p>对于 Promtool 工具这次支持在查询 Label 值的时候使用匹配器。</p><p>接下来就是 BUG 修复了。</p><ul><li><ol><li>将 TotalQueryableSamples 从 int 更改为了 int 64 </li></ol></li><li><ol start="2"><li>TSDB 以及 Agent 会忽略重复的 Exemplar。</li></ol></li><li><ol start="3"><li>TSDB 修复了在变化的 rate 的时候数据块溢出以的问题</li></ol></li><li><ol start="4"><li>在 TSDB 停止之前会先停止规则管理器</li></ol></li></ul><p>后来更新了 2.36.1 ,Promtool 工具新了一个 <code>--lint-fatal</code> 选项。</p><p>再后来更新了 2.36.2 ,修复了字体和图表等一些静态资源的问题。</p><p>这个版本更新的内容不太多,感觉开发团队是不是在憋大招呀,大家可以等等下一个版本,如果没有什么需求的话,可以等下一个版本再升级。</p><p>Prometheus 在 V2 这个版本已经发布了 36 个版本,差不多快赶上 0.x 和1.x 的总和了。我们期待一下,看看什么时候进入 3.0 ,以及会有什么更大的变化。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.36.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.36.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.36.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.36.0" target="_blank" rel="noopener">2.36.0</a> 现在(2022.05.30)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-35-0.html">2.35.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>远程办公三部曲 - 如何提高沟通效率</title>
<link href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html"/>
<id>https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html</id>
<published>2022-06-26T12:16:16.000Z</published>
<updated>2022-06-26T14:33:31.830Z</updated>
<content type="html"><![CDATA[<p>前边我们聊了如何安排时间,没有看的朋友可以去看 <a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何合理安排时间</a> 。远程办公的和固定工作场所办公有很多区别,其中比较重要的一点就是沟通。那么远程办公的沟通效率怎么样呢,有没有办法提高呢。</p><a id="more"></a><h1 id="固定场所的沟通方式"><a href="#固定场所的沟通方式" class="headerlink" title="固定场所的沟通方式"></a>固定场所的沟通方式</h1><p>在公司办公的时候,在沟通上有一点,那就是方便。不论是和身边的同事沟通简单的问题,还是比较复杂的项目沟通,都可以很快速的完成。<br>这个时候的沟通方式有<br>1、即时通讯工具图文沟通<br>2、小问题两三个人面对面沟通<br>3、大型项目或者复杂问题通过会议面对面沟通<br>4、通过工具进行语音沟通。<br>这些沟通方式中,面对面沟通基本占了大头,超过 60%的沟通都是面对面解决的,这是在固定场所集体办公的优势。而且小问题几个人面对面的讨论更容易梳理问题,表达思想描述事情的信息损耗是最小的。面对复杂问题需要更多人处理的时候,召开会议,面对面进行沟通也能很快的解决问题。在这种场景下,使用即时通讯工具进行基础事情的沟通的次数反而变少。</p><h1 id="远程办公的沟通方式"><a href="#远程办公的沟通方式" class="headerlink" title="远程办公的沟通方式"></a>远程办公的沟通方式</h1><p>当脱离了固定场所办公,远程办公一般是在家里居家办公,个别情况下会有租赁共享办公室之类的现象,在这种情况下,和异地的同事进行沟通,大概有这么几种方式</p><p>1、即时通讯工具图文沟通<br>2、通过工具进行语音沟通。<br>3、使用会议软件进行沟通</p><p>在这种场景下,从面对面为主的沟通变成了打电话为主的语音沟通或者图文沟通,这样会有两个变化,第一个是增加了沟通时间,第二是降低了沟通的效率,大家需要谨慎的确认对方是否真的理解了要表达的内容。</p><h1 id="如何提高沟通效率"><a href="#如何提高沟通效率" class="headerlink" title="如何提高沟通效率"></a>如何提高沟通效率</h1><p>对于远程办公的沟通效率较低的问题,我们可以尝试通过一些方法来解决,比如:<br>1、事先准备<br>2、条理清晰<br>3、善用工具<br>4、做好记录</p><p>首先,我们应该在沟通之前做好准备,准备好这次要沟通的内容,需要参与沟通的人员,最后需要得出哪个方向的结论,不要设置漫无目的讨论,这样会大量的浪费时间,</p><p>其次在沟通过程中要做到条理清晰,发起人介绍完事情背景以后要把控整个沟通的节奏,一条一条的进行讨论得出结果,并且记录,防止出现沟通偏离主题的现象。</p><p>第三要善用各种工具,包括沟通的语音或者会议工具,记录的文档系统,跟进的系统等等。由于是远程,首先需要一个稳定的沟通工具,这个大家根据自己的实际情况选择就好,一定要保证可以容纳当前会议的人数,并且保证语言传输稳定且清晰。</p><p>第四点就是做好沟通记录,沟通过程中大家对每一条达成的结论,最后由谁负责,中间需要哪个团队来配合,需要什么资源,在什么时间完成,这些都要记录清楚,并且同步在场的每一个人。</p><h1 id="如何确保沟通结果"><a href="#如何确保沟通结果" class="headerlink" title="如何确保沟通结果"></a>如何确保沟通结果</h1><p>沟通结束以后,其实并不代表事情已经结束,我们还需要对这个事情进行跟踪,确保落实,否则还需要重新进行沟通,不节约资源。对于确保沟通结果可以尝试以下方法<br>1、记录到文档内<br>2、发送给所有参与者<br>3、定期检查进度,<br>4、出现问题及时沟通处理。</p><p>首先我们要保证所有沟通的内容都已经记录下来了,记录在一个文档中,这个文档描述了谁负责那件事情,中间需要哪个团队来配合,需要什么资源,在什么时间完成。</p><p>其次我们通过邮件发给每个人,或者组建一个所有参与者都在的沟通群,将这个文档放在这群里。</p><p>第三就是一定要定期检查进度,看看是否遇到了什么困难,要怎么处理,是否需要新的资源加入进来。</p><p>综上所述,对于沟通我们一定要做好沟通前的准备,沟通时的条理,沟通后的保障,这样才能在远程办公的情况下,提高沟通效率。</p><p>本文收录于远程办公三部曲:<br><a href="https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html">远程办公三部曲 - 如何合理安排时间</a><br><a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何提高沟通效率</a><br><a href="https://erdong.site/telecommuting/telecommuting03-how-to-imporove-work-efficiency.html">远程办公三部曲 - 如何提高工作效率</a></p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>前边我们聊了如何安排时间,没有看的朋友可以去看 <a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何合理安排时间</a> 。远程办公的和固定工作场所办公有很多区别,其中比较重要的一点就是沟通。那么远程办公的沟通效率怎么样呢,有没有办法提高呢。</p>
</summary>
<category term="telecommuting" scheme="https://erdong.site/categories/telecommuting/"/>
<category term="telecommuting" scheme="https://erdong.site/tags/telecommuting/"/>
<category term="communication" scheme="https://erdong.site/tags/communication/"/>
</entry>
<entry>
<title>远程办公三部曲 - 如何提高工作效率</title>
<link href="https://erdong.site/telecommuting/telecommuting03-how-to-imporove-work-efficiency.html"/>
<id>https://erdong.site/telecommuting/telecommuting03-how-to-imporove-work-efficiency.html</id>
<published>2022-06-26T12:16:16.000Z</published>
<updated>2022-06-26T14:34:09.084Z</updated>
<content type="html"><![CDATA[<p>作为远程办公三部曲,我前边分别聊了 <a href="(https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html">远程办公三部曲 - 如何合理安排时间</a> 和 <a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何提高沟通效率</a>,那么今天我们聊聊最后的一个话题,如何提高工作效率。</p><a id="more"></a><h1 id="工作的仪式感"><a href="#工作的仪式感" class="headerlink" title="工作的仪式感"></a>工作的仪式感</h1><p>远程办公的时候一般是在家里,在家里经常会有一种生活和工作混淆的感觉,没有了严格的界限,有时候太随意导致工作效率下降。其实我们可以通过增加一些工作的仪式感来通过潜意识告诉自己,我要开始工作了,以及我今天的工作结束了,我下班了,要开始准备生活的部分了。</p><p>第一点,上班前有一个小的活动,让自己的身体苏醒过来,告诉自己,我要开始上班了,不要刚起床就打开电脑办公。</p><p>第二点,在家里远程办公的时候,在开始办公之前,可以给自己更换一下衣服,换成每天出门要穿的衣服,不要穿着家居服就开始办公。更换衣服可以起到很好的仪式作用,告诉自己,我要开始办公了,下班以后更换自己的家居服,告诉自己,我下班了。这个通过一个更换衣服的动作,来给自己的生活和工作分隔开来,更专注高效的完成工作。</p><p>第三点,可以在办公的桌子上放一面小镜子,时不时的通过镜子看一眼自己的状态,看看自己是不是处于一个工作的状态,还是处于休闲的状态。如果是处于休闲的状态,那么告诉自己,我现在是需要工作的,我工作到一定时间了才可以休息。很多客服之前用桌面放镜子的方式来检查自己的状态,我觉得用在远程办公的场景下,也很不错。</p><p>第四点,工作的时候,坐在电脑前,不工作休息的时候,去其他地方,把电脑周围有意识的塑造成一个办公的区域。</p><p>通过上述 4 个方面来增强自己办公的仪式感,告诉自己,我在工作,专注于工作,这样可以提高工作的效率。</p><h1 id="合理的办公环境"><a href="#合理的办公环境" class="headerlink" title="合理的办公环境"></a>合理的办公环境</h1><p>除了上边提到的仪式感以外,一个合理的办公环境也是必不可少的。最好能拥有如下条件:<br>1、 尽量隔离的单人空间<br>2、单独的办公桌子和椅子<br>3、合理的通风、光线布局<br>4、网络质量良好的网络环境</p><p>就单独的个人空间来说,最好是自己有一个单独的书房用来办公,这样环境安静、空间宽敞是最好不过了。最不建议的位置是在卧室的床边,这样第一是生活和工作没有完全隔离开来,看着床铺,总想着躺着休息一下,不利于专心工作。我目前的办公环境是在客厅的一角,我也没有单独的书房,但是我把客厅的一角布置成了办公的样子,专门放置了桌子和椅子。从空间角度确实不如单独的书房好,但是权衡以后比卧室好很多,单独的桌子和椅子也提供了很大的便利。之前居家办公的时候,有同事在餐桌上办公,餐桌的高度和餐椅的高度都不适合办公使用。后来很多同事都专门买了办公的椅子,椅子因为长时间坐了,建议购买人体工学椅,不建议购置休闲椅和电竞椅,这两个类型都不利于长期办公。</p><p>另外就是办公区域的通风和光线非常重要,通风不好,工作时间久了会觉得头晕,闷闷沉沉的,之前见过一个 UP 主为了光线的布置导致屋里空气流通不畅,他最后的解决方式是防止了一个空气质量检测仪,实时监测办公桌上的 二氧化碳浓度,一旦过高,就打开窗户进行通风。另外一个就是光线了,良好的光线环境可以缓解视觉疲劳,不要过分刺眼的阳台环境,也不要过于昏暗的角落,保持正常的光线环境,有利于视力的保护,天暗了以后的灯具选择也很重要,建议选择适合办公的灯具,比如办公的台灯或者屏幕挂灯。</p><p>最后就是网络环境了,网络环境可以说是远程办公的基础,网络环境太差对于工作的影响太大了,根据不同的工作场景选择对应的网络带宽和网络设备,合理的使用有线或者无线可以创造良好的办公网络环境。如果没有经验,也可以找专人来搭建。</p><h1 id="一些设备和工具"><a href="#一些设备和工具" class="headerlink" title="一些设备和工具"></a>一些设备和工具</h1><p>在办公过程中,有很多的设备和工具是可以提高办公效率的,比如前边提到的办公桌子和人体工学椅。除了这些以外,还有很多的设备和工具可以来提高工作效率。</p><p>1、鼠标和键盘<br>2、番茄钟以及类似产品<br>3、视频会议软件<br>4、显示器<br>5、屏幕挂灯<br>6、升降桌</p><p>首先,作为输入设备和生产力工具,键盘和鼠标是排在第一位的,合适、顺手的键盘鼠标可以不止一倍的提升工作效率。比如视频剪辑工作者的剪辑键盘,文字编辑工作者的键盘,选择一个适合自己的办公场景的鼠标键盘是重要的,比如我经常打字,我经常使用的就是一把 cherry 的青轴机械键盘,自己用的很开心,效率也很好,就是在多人办公的情况下,青轴不太友好,不过自己在家办公就无所谓了。</p><p>第二就是为了让自己的工作和中间休息合理搭配的番茄钟,这样可以工作 40 分钟,休息 10 分钟这样轮换着来。当然,有人需要一个实体的物件来提醒自己,有些人不需要,以及有些朋友是不使用番茄工作法来进行工作。我们可以使用任何自己觉得合适的方法以及工具来平衡工作时间内的工作和休息,适合自己就好。</p><p>第三是远程视频会议软件,作为远程工作和其他同事交流的重要工具,一个好的不卡顿、无故障的视频会议软件太重要了,这可以极大的提高沟通效率和工作效率。</p><p>剩下的基本都是可选项,基于我们的办公内容选自一个合适的显示器,以及改变工作桌上光线布局的屏幕挂灯,比如我现在打字,长长的带鱼屏显示器就非常适合我,可以一边查资料一边写内容,都不用切换窗口布局。晚上打字的时候,打开屏幕挂灯,调节好亮度和色温,比屋里的顶灯好用太多了。如果觉得久坐不好,也可以选择升降桌来进行站坐交替的办公形式。</p><p>总之,在远程办公的场景下,让自己的办公过程具有仪式感,并且布置合理的办公场景,加上一些合适个设备和工具,是可以极大的提供自己的工作效率的。</p><p>本文收录于远程办公三部曲:<br><a href="https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html">远程办公三部曲 - 如何合理安排时间</a><br><a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何提高沟通效率</a><br><a href="https://erdong.site/telecommuting/telecommuting03-how-to-imporove-work-efficiency.html">远程办公三部曲 - 如何提高工作效率</a></p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>作为远程办公三部曲,我前边分别聊了 <a href="(https://erdong.site/telecommuting/telecommuting01-how-to-manage-your-time.html">远程办公三部曲 - 如何合理安排时间</a> 和 <a href="https://erdong.site/telecommuting/telecommuting02-how-to-imporove-communication-efficiency.html">远程办公三部曲 - 如何提高沟通效率</a>,那么今天我们聊聊最后的一个话题,如何提高工作效率。</p>
</summary>
<category term="telecommuting" scheme="https://erdong.site/categories/telecommuting/"/>
<category term="telecommuting" scheme="https://erdong.site/tags/telecommuting/"/>
<category term="work" scheme="https://erdong.site/tags/work/"/>
</entry>
<entry>
<title>漫谈公网网络延迟</title>
<link href="https://erdong.site/Linux/public-network-latency.html"/>
<id>https://erdong.site/Linux/public-network-latency.html</id>
<published>2022-06-25T15:44:49.000Z</published>
<updated>2022-06-22T01:41:16.049Z</updated>
<content type="html"><![CDATA[<p>互联网发展至今,网络可以说是基础,所有的数据、内容都跑在网络上,今天和同事在沟通工作的过程中,发现很多人对公网的网络延迟是没有概念的。</p><a id="more"></a><p>我们知道网络延迟是指数据在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。针对这个延迟我们可以使用 Ping 命令基于 ICMP 协议来进行测试。比如我们 Ping 百度的域名。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">Erdong@Erdong-Test # ping baidu.com </span><br><span class="line">PING baidu.com (220.181.38.251): 56 data bytes</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=0 ttl=50 time=12.563 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=1 ttl=50 time=9.514 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=2 ttl=50 time=9.023 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=3 ttl=50 time=9.192 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=4 ttl=50 time=17.045 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=5 ttl=50 time=11.408 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=6 ttl=50 time=13.894 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=7 ttl=50 time=10.504 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=8 ttl=50 time=10.980 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=9 ttl=50 time=15.370 ms</span><br><span class="line">64 bytes from 220.181.38.251: icmp_seq=10 ttl=50 time=10.628 ms</span><br><span class="line">^C</span><br><span class="line">--- baidu.com ping statistics ---</span><br><span class="line">11 packets transmitted, 11 packets received, 0.0% packet loss</span><br><span class="line">round-trip min/avg/max/stddev = 9.023/11.829/17.045/2.501 ms</span><br></pre></td></tr></table></figure><p>上边显示整个过程发送了 11 个数据包,平均延迟是 11.829ms ,这个就是我当前电脑本地到百度最近的服务的延迟,这个延迟相对来说是很好的了。</p><p>对于公网来说,网络延迟是和地理位置强相关的一个指标。假设我们在北京部署了一个站点,从深圳访问的时候,这个延迟大概要 40ms ,基本不会低于 30ms。那么这延迟是怎么来的,为什么是这个数值,能不能减少呢?</p><p>我们都知道,网络传输是通过传输介质来进行的,常见的传输介质就是双绞网线和光纤,另外还有其他类型的线材。短距离一般是双绞网线,普通场景下的网络延迟基本可以忽略不计,长距离和超长距离一般是光纤光缆,这个时候迟延就非常明显。</p><p>我们已知光在真空中传播,折射率为 1,其光速约为 c=30 万公里/秒,当光在其他介质里来面传播,其介质折射自率为 n,光在其中的速度就降为 v=c/n,光纤的材料是二氧化硅,其折射率 n 为 1.44 左右,计算延迟的时候,可以近似认为 1.5,我们通过计算可以得出光纤中的光传输速度近似为 v=c/1.5= 20 万公里/秒。</p><p>以北京和深圳为例,直线距离 1920 公里,接近 2000 公里,传输介质如果使用光纤光缆,那么延迟时间 t=L/v = 0.2 万公里/20 万公里/秒=10ms ,也就是说从北京到深圳拉一根 2000 公里的光缆,单纯的距离延迟就要 10ms ,实际上是没有这么长的光缆的,中间是需要通过基站来进行中继,并且当光功率损耗到一定值以后,需要通过转换器加强功率以后继续传输,这个中转也是要消耗时间的。另外数据包在网络中长距离传输的时候是会经过多次的封包和拆包,这个也会消耗时间。</p><p>综合考虑各种情况以后,以北京到深圳为例,总的公网延迟大约在 40ms 左右,北京到上海的公网延迟大约在 30ms ,同城的情况下,公网延迟大约在 10ms ~ 15ms ,基本维持在 20ms 以内。如果数据出国的话,延迟会更大,比如中国到美国,延迟一般在 150ms ~ 200ms 左右,因为要经过太平洋的海底光缆过去的。</p><p>现在我们对于公网的延迟有了一个基本的概念,也理解了为什么自己附近的网站打开会快一些,越远的网站打开会越慢。那么回到开头 Ping 百度域名的例子里,有没有人想过为什么 Ping 百度的域名总是很快,好像全国各地差别并不大?</p><p>这个其实是百度在全国很多城市都有放置服务器,我们每个人访问的百度都是离自己最近的服务器,并不会出现,人在北京,访问了一台深圳的服务器的情况。所以访问会快很多。</p><p>好了,今天就聊这么多。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>互联网发展至今,网络可以说是基础,所有的数据、内容都跑在网络上,今天和同事在沟通工作的过程中,发现很多人对公网的网络延迟是没有概念的。</p>
</summary>
<category term="Linux" scheme="https://erdong.site/categories/Linux/"/>
<category term="Network" scheme="https://erdong.site/tags/Network/"/>
</entry>
<entry>
<title>Prometheus 2.33.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-33-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-33-0.html</id>
<published>2022-06-25T12:17:11.000Z</published>
<updated>2022-06-26T09:36:13.668Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.33.0" target="_blank" rel="noopener">2.33.0</a> 现在(2022.01.29)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-32-0.html">2.32.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次更新新增了很多的特性,并且修复一些 BUG 。</p><h1 id="PromQL-amp-Promtool"><a href="#PromQL-amp-Promtool" class="headerlink" title="PromQL & Promtool"></a>PromQL & Promtool</h1><p>这次的更新 PromQL 查询语句中为了稳定性,增加了负方向的便宜和 @ 的修饰。在 Promtool 工具中新增了通过基数分析来检查指标的功能,这个功能需要使用 <code>--extended</code> 参数来开启。另外 Promtool 工具修复了 2 个 BUG,一个是统一执行后的退出码,另外一个是修复检测 rule 规则的一个漏洞。</p><h1 id="Web"><a href="#Web" class="headerlink" title="Web"></a>Web</h1><p>针对 Web 这块这次将 <code>remote-write-receiver</code> 升级的了稳定状态。<br>Web 这次新增了一个功能,在 rule 规则 API 中添加了一个限制字段,可以限制返回的最大指标数量,防止大查询违反服务器端 URL 字符限制。</p><h1 id="UI"><a href="#UI" class="headerlink" title="UI"></a>UI</h1><p>这次针对 UI 界面有 2 点优化,第一个是在服务发现页面增加了搜索栏,第二额是在 Target 页面增加了搜索栏,这样就可以进行搜索了。</p><p>另外 这次修复了 3 个 BUG 。第一个是当表达式为空的时候自动补全的问题,第二个是在 Target 页面的不健康状态的过滤器,实际上只显示不健康的 Target 。第三个是修复了告警状态复选框上点击目标重叠的问题。</p><h1 id="TSDB"><a href="#TSDB" class="headerlink" title="TSDB"></a>TSDB</h1><p>对于时序数据库,这次修复 3 个 BUG,并且进行了 4 处优化。</p><p>首先使用更简单的映射键来提高范例摄取性能,其次提高了 label 的匹配性能,第三是使 chunk 写入的时候不阻塞,避免远程写入中的延迟峰值。</p><p>时序数据库修复了 GC 和写入同时发生的死锁问题,修复了范例日志存储的容量大小问题,修复了压缩块元数据应该在重叠块产生正确的最大最小值。</p><h1 id="Remote-write"><a href="#Remote-write" class="headerlink" title="Remote-write"></a>Remote-write</h1><p>远程写这次优化了通过具体结构而不是接口来避免分配,而且优化了记录远程写入接收器中无序样本的时间序列细节日志,并且当积压时更多地分片。</p><p>这次修复了当写不可恢复失败时更新<code>prometheus_remote_storage_queue_highest_sent_timestamp_seconds</code> 这个指标的值。</p><h1 id="SD"><a href="#SD" class="headerlink" title="SD"></a>SD</h1><p>服务发现这次新增了 2 个功能点,一个是在 K8s 的命名空间中支持开启 Target 的发现。另外是 K8s 的服务发现提供了 label 的 ID。</p><h1 id="Other"><a href="#Other" class="headerlink" title="Other"></a>Other</h1><p>在 Config 中增加了 stripPort 的模板功能。</p><h1 id="后续"><a href="#后续" class="headerlink" title="后续"></a>后续</h1><p>在 2.33.1 中修复了 1 个 BUG:<br>在 K8s 的服务发现中,修复了当没有运行在 K8s 里的时候出现的 <code>no such file or directory</code> 问题。</p><p>在 2.33.2 修复了 2 个 BUG:<br>Azure 的服务发现中修复了 IP 地址未设置的问题。<br>远程写中修复了停止分片时的死锁问题。</p><p>在 2.33.3 中修复了 1 个 BUG:<br>Azure 的服务发现中修复了公共 IP 地址未设置时的回归问题。</p><p>在 2.33.4 中修复了 1 个 BUG:<br>时序数据库修复 m-mapping head 块到磁盘的问题。</p><p>在 2.33.5 中修复了 1 个 BUG:<br>与本版本一起发布的二进制文件是使用 Go1.17.8 构建的,以避免 CVE-2022-24921 的安全问题。另外远程写修复添加队列和获取批处理之间的死锁。</p><p>这大概是目前 Prometheus 版本里发小版本数量最多的一次,出到了第 5 个版本,共计修复了 6 个功能 BUG,1 个安全 BUG。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.33.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.33.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.33.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.33.0" target="_blank" rel="noopener">2.33.0</a> 现在(2022.01.29)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-32-0.html">2.32.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.34.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-34-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-34-0.html</id>
<published>2022-06-25T12:17:11.000Z</published>
<updated>2022-06-26T09:36:55.309Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.34.0" target="_blank" rel="noopener">2.34.0</a> 现在(2022.03.15)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-33-0.html">2.33.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次更新新增了很多的特性,并且修复一些 BUG 。</p><h1 id="UI"><a href="#UI" class="headerlink" title="UI"></a>UI</h1><p>Prometheus 这次的版本更新把之前的旧的 UI 界面移除了,只剩下了新的 UI 界面。这次优化了告警页面并且添加了一个搜索栏。优化了一些不太容易观察到的图形的颜色。<br>修复了将输入范围设置为分辨率的BUG。</p><h1 id="PromQL"><a href="#PromQL" class="headerlink" title="PromQL"></a>PromQL</h1><p>PromQL 查询语句这次修复了一次 BUG,当指标具有相同的标签集时会正确地从 histogram_quantile 返回错误信息。</p><h1 id="TSDB"><a href="#TSDB" class="headerlink" title="TSDB"></a>TSDB</h1><p>时序数据库这次在默认情况下禁用了块写入队列,并允许使用参数 <code>--storage.tsdb.head-chunks-write-queue-size</code> 来进行配置,这个参数是实验性的参数。</p><h1 id="SD"><a href="#SD" class="headerlink" title="SD"></a>SD</h1><p>对于服务发现,这次 HTTP 服务发现新增了一个记录失败信息的计数器。Azure 服务发现可以在请求的时候设置 Prometheus User-agent 。 Uyuni 服务发现减少了登陆 Uyuni 的次数。</p><h1 id="Scrape"><a href="#Scrape" class="headerlink" title="Scrape"></a>Scrape</h1><p>对于 Prometheus 从 Exporter 拉取数据的时候如果遇到无效的 media 类型时会记录日志,另外 <code>application/openmetrics-text</code> 除了接收 0.0.1 版本以外也接收 1.0.0 版本。另外修复了一个 BUG,修复了 label 限制更改不生效的问题。</p><h1 id="Remote-read"><a href="#Remote-read" class="headerlink" title="Remote-read"></a>Remote-read</h1><p>远程读添加了一个不使用外部标签作为远程读取选择器的选项。</p><h1 id="Other"><a href="#Other" class="headerlink" title="Other"></a>Other</h1><p>Parser修复了在元数据解析器错误中指定类型的问题。</p><p>配置方面当使用带有外部标签的环境变量时,允许使用 <code>$</code> 或者 <code>$$</code> 转义。</p><p>Tracing 方面有一个变化,从 Jaeger 迁移到 OpenTelemetry 的跟踪,</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.34.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.34.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.34.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.34.0" target="_blank" rel="noopener">2.34.0</a> 现在(2022.03.15)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-33-0.html">2.33.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.32.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-32-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-32-0.html</id>
<published>2021-12-25T12:17:11.000Z</published>
<updated>2021-12-24T03:26:10.387Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.32.0" target="_blank" rel="noopener">2.32.0</a> 现在(2021.12.09)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-31-0.html">2.31.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次更新新增了很多的特性,并且修复一些 BUG 。</p><p>该版本引入了 Prometheus Agent,这是 Prometheus 的一种新的操作模式,专为远程写场景而优化。在这种模式下,Prometheus 不会在本地文件系统上生成块,也不能在本地进行查询。使用 <code>--enable-feature=agent</code> 参数可以打开这个功能,关于 Prometheus Agent 后边找时间我专门聊一下。</p><p>对于远程写这块,<code>remote write</code> 将最大重试时间从 100ms 修改成 5s ,并且对重用内存进行了编组。</p><p>对于 Promtool 工具,之前只有配置文件和告警规则的检查,这次添加了检查服务发现的命令 <code>promtool check service-discovery</code>。另外也可以提高测试输出的可读性,可以展示更多人类可读的 <code>got/exp</code> 输出。Promtool 可以使用 kahan 求和来获取更好的数值稳定性,另外修复了 <code>authorization.credentials_file</code> 和 <code>bearer_token_file</code> 的检查。</p><p>对于 UI 界面来说,这次在指标下拉菜单中新增了搜索功能,修复了展现包含 <code>Zone ID</code> 的IPv6地址的目标的链接的问题。在自动完成的 rate 比 rad, delta 比 deg, and count 比 cos 。</p><p>对于 Templates 在模板函数中 添加了 parseDuration ,另外支持 int 和 uint 作为模板格式化的数据类型</p><p>对于获取数据,使用 <code>--enable-feature=extra-scrape-metrics</code> 参数以后添加了 <code>scrape_body_size_bytes</code> 指标。</p><p>对于 PromQL 查询语句,修复了 deriv() 为常量序列返回零值。<br>对于 Prometheus TSDB ,这些有增强了 2 项功能,修复了多个 BUG 。首先增强了对 Windows arm64 的支持,通过跳过TSDB中不需要的排序来优化查询。这次修复了 4 个 BUG,第一个是在索引中写入单独的部分时增加更多的大小检查,第二个是修复了检查点目录为空时的恐慌,第三个是修复了 WAL 重放时的告警,,第四个是修复快照重播失败后的查询。</p><p>对于服务发现,这次增强了 Linode 的服务发现,并且对 Uyni 服务发现进行了故障修复,修复初始化过程中的空指针异常。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.32.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><h1 id="https-github-com-prometheus-prometheus-releases-tag-v2-32-0-,By-prombot-of-GitHub"><a href="#https-github-com-prometheus-prometheus-releases-tag-v2-32-0-,By-prombot-of-GitHub" class="headerlink" title="https://github.com/prometheus/prometheus/releases/tag/v2.32.0 ,By prombot of GitHub"></a><a href="https://github.com/prometheus/prometheus/releases/tag/v2.32.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.32.0</a> ,By prombot of GitHub</h1>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</li></ul><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.32.0" target="_blank" rel="noopener">2.32.0</a> 现在(2021.12.09)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-31-0.html">2.31.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.31.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-31-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-31-0.html</id>
<published>2021-11-13T12:17:11.000Z</published>
<updated>2021-11-20T15:50:46.579Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.31.0" target="_blank" rel="noopener">2.31.0</a> 现在(2021.11.02)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-30-0.html">2.30.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次更新新增了很多的特性,并且修复一些 BUG 。</p><p>对于 UI 方面,删除了标准的 PromQL 编辑器,该用基于 codemirror 的编辑器。这个我还没有试用,用过了看看到底是个什么样子。UI 这次更新取消时间范围设置更改。UI 修复了一个 BUG,对所有的告警类型使用同样的页边距。</p><p>对于 PromQL 增加了三角函数,并且新增了 <code>atan2</code> 的二进制操作符。atan2是一个函数,在 C 语言里返回的是指方位角,C 语言中 atan2 的函数原型为 double atan2(double y, double x) ,返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。也可以理解为计算复数 x+yi 的辐角,计算时atan2 比 atan 稳定。文档还没更新这些新函数的用法,等等吧。</p><p>对于服务发现,这次新增了 PuppetDB 和 Uyuni 的服务发现。并且 Azure 服务发现和 Kubernetes 服务发现也有了更新,Azure 服务发现增加了 <code>proxy_url</code>, <code>follow_redirects</code>, <code>tls_config</code>,Kubernetes 服务发现如果终端数量超过限制,警告用户。对于服务发现新增了一个实验性的服务发现管理器,以避免重新加载时重新启动,默认是关闭的,需要使用 <code>--enable-feature=new-service-discovery-manager</code> 参数来打开。</p><p>对于远程写 ,在远程写接收方端点中添加对 exemplar 的支持。</p><p>对于 HTTP 来说重新打开了 <code>HTTP/2</code> , 并且在 Web 页面支持 <code>security-related</code> 的 HTTP header 。</p><p>在 Promtool 工具中有一项改进,在 <code>promtool create-blocks-from</code> 规则中添加 <code>--max-block-duration</code>。</p><p>对于身份认证的 OAuth2 ,在请求的 Token 中添加了 TLS 的配置 。</p><p>这次更新还修复了一些 BUG,一个是解决了多个导出的标签前缀之间的冲突 。另外当 <code>__scrape_interval__</code> 被更改时重新启动获取数据的循环。</p><p>最重要的是这次修改了 TSDB 样例删除时遇到的内存泄漏问题。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.31.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.31.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.31.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.31.0" target="_blank" rel="noopener">2.31.0</a> 现在(2021.11.02)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-30-0.html">2.30.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.30.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-30-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-30-0.html</id>
<published>2021-09-25T12:17:11.000Z</published>
<updated>2021-11-20T15:49:59.705Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.30.0" target="_blank" rel="noopener">2.30.0</a> 现在(2021.09.14)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-29-0.html">2.29.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>本次 Prometheus 针对时序数据库 TSDB 新增了一个实验性质的特性,使用 <code>--enable-feature=memory-snapshot-on-shutdown</code> 在关闭时对内存块进行快照,以更快地重新启动 Prometheus 。还有就是对于 Scrape 也新增了一个实验性的特性,<code>__scrape_interval__</code> 和 <code>__scrape_timeout__</code> ,使用这两个label 进行重新标记,配置指标采集时间和采集超时。</p><p>另外对于获取指标 scrape 新增了 <code>scrape_timeout_seconds</code> 和<code>scrape_sample_limit</code> 两个指标,使用 <code>--enable-feature=extra-scrape-metrics</code> 参数可以在默认情况下避免额外的基数。</p><p>对于 scrape 进行了优化, 当使用 <code>--scrape.adjust-timestamps</code> 启动时,使用 <code>-scrape.timestamp-tolerance</code> 来调整scrape 时间戳的公差。另外在 在解析指标时减少分配。</p><p>对于 docker 的服务发现,这次开始支持 host 的网络模式。</p><p>这次增对远程写进行了优化,提高发送示例时的吞吐量。</p><p>对于时序数据库 TSDB 进行了一些改进,通过移除额外的 map 和缓存来优化 WAL 文件的加载。</p><p>对于 promtool 工具也进行了优化,会加速检查重复的规则。</p><p>接下来是一些 BUG 的修复</p><p>对于 exemplars 调整示例存储从 0 到非 0 变化引起的问题。<br>对于 时序数据库 TSDB ,当追加没有样本,正确减少prometheus_tsdb_head_active_appenders。<br>对于 promtool 工具的 rules backfill ,如果 backfill 不成功,返回1。并且避免了创建重叠块。</p><p>对于 config,修复了用空的重标签操作重新加载配置时的问题。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.30.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.30.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.30.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.30.0" target="_blank" rel="noopener">2.30.0</a> 现在(2021.09.14)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-29-0.html">2.29.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.29.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-29-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-29-0.html</id>
<published>2021-08-21T12:17:11.000Z</published>
<updated>2021-11-20T15:49:13.421Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.29.0" target="_blank" rel="noopener">2.29.0</a> 现在(2021.08.11)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-28-0.html">2.28.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这次感觉更新了很多内容。<br>macOS用户需要注意一下: 由于即将发布的 Go 1.17的变化,这是支持macOS 10.12 Sierra 的最后一个 Prometheus 版本。</p><p>Prometheus 的 <code>--storage.tsdb.allow-overlapping-blocks</code> 和 <code>--storage.tsdb.retention.size</code> 的 tag 从 experimental 变成了 stable,</p><p>对于服务发现,这次新增了 Kuma 的服务发现,另外 GCE 的服务发现新增了 一个 <code>__meta_gce_interface_ipv4_<name></code> 的 元数据 label,EC2 的服务发现新增了一个 <code>__meta_ec2_availability_zone_id</code> 元数据 label ,Azure 服务发现新增了一个 <code>__meta_azure_machine_computer_name</code> 元数据 label ,Hetzner 服务发现新增了一个 <code>__meta_hetzner_hcloud_labelpresent_<labelname></code> 元数据 label 。</p><p>PromQL 增加了 <code>present_over_time</code> 函数功能。</p><p>Prometheus 允许通过文件配置示例存储,并使其可重新加载。这次更新提高了 write-ahead-log 的解码性能。另外 Prometheus 通过减少互斥锁的使用来提高 TSDB 的追加性能。允许配置 <code>max_samples_per_send</code> 用于远程写元数据。</p><p>对于 UI 方面,这次更新以后允许鼠标拖动选择时间范围,在 flags 页面中添加排序和过滤功能,另外优化提高了警报页面的呈现性能。</p><p>另外 Promtool 工具这次也更新了一些功能,首先新增了一个 <code>--enable-feature</code> 用来添加一些特性。其次支持添加 file_sd 文件验证。另外优化了 promtool tsdb分析报告的压缩效率。允许通过 <code>--max-block-duration</code> 标志配置最大阻塞持续时间</p><p>接下来是一个 BUG 修复,Prometheus 当总的 symbol 大小超过 2^32 bytes 时会导致压缩失败,并跳过压缩并且记录日志。<br>修正 <code>target_limit</code> 重新加载 0 值的错误。</p><p>修复了 head GC 和 pending reader 竞争条件。 </p><p>修复了 OpenMetrics 解析器中的时间戳处理问题。 </p><p>修复指定多个匹配器时 <code>/federate</code> 端点中可能存在的重复指标 </p><p>修复服务器配置和通过客户端证书验证的验证</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.29.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.29.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.29.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.29.0" target="_blank" rel="noopener">2.29.0</a> 现在(2021.08.11)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-28-0.html">2.28.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.28.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-28-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-28-0.html</id>
<published>2021-07-01T12:17:11.000Z</published>
<updated>2021-11-20T15:48:22.364Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.28.0" target="_blank" rel="noopener">2.28.0</a> 现在(2021.06.21)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-27-0.html">2.27.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>本次更新主要集中在 UI 、服务发现和时序数据库方面,其他方面的更新内容较少。</p><p>对于 UI 这次更新将新的实验性 PromQL 编辑器设为了默认编辑器。这次也在图形界面中添加范例显示支持。这次的 UI 还有一个优化的点,我觉得很友好,当你重启 Prometheus 但是数据库还在加载数据没有准备好的时候,以前访问 UI 页面会报错,这次会有一个带有进度条的启动页面,这样可以知道大概还有多久能好。这次的 UI 修复了一个 BUG,在实验性的PromQL编辑器中,修复了特殊浮点值的自动完成和解析,并改进了系列元数据获取。</p><p>对于服务发现这次新增了 Linode 服务发现,也新增了基于 HTTP 的服务发现。对于 Kubernetes 的服务发现,现在允许通过 kubecconfig 文件配置 API Server 访问,添加了 ingress 类名称 label 标签用于 ingress 发现。对于 Consul 服务发现,为Consul Enterprise添加命名空间支持,另外还支持从文件中读取 TOKEN。</p><p>针对服务发现,修复了使用多个服务发现时 <code>prometheus_sd_discovered_targets</code> 度量的计算问题。另外添加目标创建失败计数器 <code>prometheus_target_sync_failed_total</code>,改进目标创建失败的处理。</p><p>对于时序数据库 TSDB ,改进范例标签集长度的验证。添加一个<code>prometheus_tsdb_clean_start</code> 指标,表示上一次运行的 TSDB 锁文件在启动时是否仍然存在。当 TSDB 合并块时,如果结果块包含超过120个样本,则拆分。</p><p>对于 Promtool 工具有一处改进,这个版本开始允许在 导入/ 回填数据时静默输出。</p><p>对于告警的规则添加一个新的 <code>.ExternalURL</code> 警告字段模板变量,包含Prometheus Server 的 external URL。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.28.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.28.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.28.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.28.0" target="_blank" rel="noopener">2.28.0</a> 现在(2021.06.21)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-27-0.html">2.27.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.27.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-27-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-27-0.html</id>
<published>2021-05-22T12:17:11.000Z</published>
<updated>2021-11-20T15:47:31.620Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.27.0" target="_blank" rel="noopener">2.27.0</a> 现在(2021.05.12)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-26-0.html">2.26.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>本次更新对于 Promtool 新增了追溯性规则评估功能。</p><p>对于 Prometheus 的配置新增了外部标签的环境变量扩展,使用 <code>--enable-feature = expand-external-labels</code> 标签就可以了。</p><p>针对时序数据库 TSDB 本次新增了 1 个新功能和 2 个 BUG 修复。新增了一个 控制参数 <code>--storage.tsdb.max-block-chunk-segment-size</code> 来控制小的Prometheus 实例的块文件 chunk file 最大文件的大小。两个 BUG 修复分别是 针对写大数据量的内容到 WAL 时防止日志出现 <code>panic: snappy: decoded block is too large</code> 。 以及在文件关闭后使用 mmap 内存时不要 </p><p>对于 UI 方面,在这个版本新增了黑暗主题,当前有白色和黑色两个主题,并且可以设置跟随时间来进行自动切换。另外有一处优化的地方,页面增加了 16w 和 26w 时间范围步骤。另外就是在 TSDB 的状态页提供错误而不是空白页。</p><p>本次更新在服务发现方面变化挺多的,首先新增了 AWS Lightsail 的服务发现,其次增加了 Docker Service 的服务发现。对于 Digital Ocean 新增了 <code>__meta_digitalocean_vpc</code> 的 label 标签。对于 Scaleway 服务发现优化了从文件中读取 Scaleway secret 的方式。对于 Consul 服务发现,配置更新没有目标后不再需要重新启动 。</p><p>对于 OAuth 允许在任何使用 HTTP 客户端的地方使用 OAuth 2.0。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.27.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.27.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.27.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.27.0" target="_blank" rel="noopener">2.27.0</a> 现在(2021.05.12)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-26-0.html">2.26.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.26.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-26-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-26-0.html</id>
<published>2021-04-10T12:17:11.000Z</published>
<updated>2021-11-20T15:46:44.934Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.26.0" target="_blank" rel="noopener">2.26.0</a> 现在(2021.03.31)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-25-0.html">2.25.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>Prometheus 现在已经构建并支持 Go 1.16 版本。这将恢复Go 1.12中添加的内存释放模式。这使得常见的 RSS 使用指标能够更准确的显示 Prometheus 使用的实际内存。</p><p>注意,在这个版本中,Prometheus 默认使用 Alertmanager v2 版本。</p><p>现在的 Prometheus 和 Promtool 二进制文件打印帮助信息和使用信息时会输出到 stdout,而不是 stderr ,这个结果是在开发峰会上达成一致的。</p><p>当使用 <code>--enable-feature=exemplar-storage</code> 参数以后会在内存中存储样本数据。</p><p>对于远程部分,对 <code>remote_writ</code> 增加了 AWS SigV4 认证方法的支持。 允许对<code>remote_write</code> 的 HTTP 429 响应代码进行重试,但是重试这个动作在默认情况下禁用。另外允许为 <code>remote_read</code> 配置自定义 header 头。有这些变更的详细信息,请参阅配置文档。</p><p>这次新增了基于 Scaleway 的服务发现 ,Scaleway 的口号是 “The Cloud that makes sense” 。</p><p>对于之前的 Digital Ocean 服务发现,新增了一个 label <code>__meta_digitalocean_image</code>。</p><p>对于 PromQL 语法,在使用 <code>--enable-feature=promql-negative-offset</code> 参数以后允许数据发送负偏移。另外这次版本新增了 <code>last_over_time</code>, <code>sgn</code>, <code>clamp</code> 函数 ,并且解析器支持特殊字符,比如 <code>炬</code> 等等。</p><p>对于 UI 方面,这次更新以后在页面输入查询语句的时候可以实现自动完成,语法高亮和检测。 而且每按一次回车键就会触发一次新的查询。对于页面上 <code>/rules</code> 和 <code>/targets</code> 的长规则和名称也进行了一次优化,可以更好的查询,点击 <code>/targets</code> 下的 <code>Collapse All</code> 可以折叠所有的 Target 点击 <code>Expand All</code> 可以展开所有的 Target。</p><p>对于时序数据库 TSDB ,每次压缩时都都会快速删除可删除的块,这样可以节省磁盘的空间使用。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.26.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.26.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.26.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.26.0" target="_blank" rel="noopener">2.26.0</a> 现在(2021.03.31)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-25-0.html">2.25.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>攻城狮周刊:第49期</title>
<link href="https://erdong.site/weekly/weekly49.html"/>
<id>https://erdong.site/weekly/weekly49.html</id>
<published>2021-03-20T15:50:59.000Z</published>
<updated>2021-03-21T00:10:08.502Z</updated>
<content type="html"><![CDATA[<p>这里记录过去一周,我看到的值得分享的东西。</p><a id="more"></a><h1 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h1><h2 id="1-MobaXterm"><a href="#1-MobaXterm" class="headerlink" title="1. MobaXterm"></a>1. <a href="https://mobaxterm.mobatek.net/" target="_blank" rel="noopener">MobaXterm</a></h2><p>MobaXterm是一款多功能远程控制工具,支持创建SSH,Telnet,Rsh,Xdmc,RDP,VNC,FTP,SFTP,串口(Serial COM),本地Shell,Mosh,Aws,WSL(微软子系统)等超多连接功能。MobaXterm 提供了人性化的操作界面,支持与主流的操作系统连接进行控制和管理操作,功能十分强大。</p><p>secureCRT其实也是一款很强大的终端工具,但是它是收费软件,<br>而Putty,它非常小巧,虽然免费,不支持标签,开多个会话的话就需要开多个窗口,窗口切换也很不方便。</p><h2 id="2-Goland-使用教程"><a href="#2-Goland-使用教程" class="headerlink" title="2.Goland 使用教程"></a>2.<a href="https://www.jetbrains.com/help/go/2020.3/quick-start-guide-goland.html" target="_blank" rel="noopener">Goland 使用教程</a></h2><p>Goland 是 jebrains 推出的 Golang IDE ,该教程是官方的使用教程。</p><h2 id="3-filebrowser"><a href="#3-filebrowser" class="headerlink" title="3. filebrowser"></a>3. <a href="https://filebrowser.org/" target="_blank" rel="noopener">filebrowser</a></h2><p>文件共享软件,可以部署在多个平台上提供文件下载功能,支持多用户和权限控制。比较简单,可以满足小型的文件共享需求。</p><h2 id="4-GitHub-镜像网站"><a href="#4-GitHub-镜像网站" class="headerlink" title="4. GitHub 镜像网站"></a>4. <a href="">GitHub 镜像网站</a></h2><p>GitHub 镜像网站:</p><ul><li><a href="https://github.com.cnpmjs.org" target="_blank" rel="noopener">https://github.com.cnpmjs.org</a></li><li><a href="https://hub.fastgit.org" target="_blank" rel="noopener">https://hub.fastgit.org</a></li></ul><p>当 GitHub 无法访问的时候,可以临时访问镜像网站来查资料。</p><h2 id="5-GitHub520"><a href="#5-GitHub520" class="headerlink" title="5. GitHub520"></a>5. <a href="https://github.com/521xueweihan/GitHub520" target="_blank" rel="noopener">GitHub520</a></h2><p>本项目无需安装任何程序,通过修改本地 hosts 文件,试图解决:</p><p>GitHub 访问速度慢的问题<br>GitHub 项目中的图片显示不出的问题<br>花 5 分钟时间,让你”爱”上 GitHub。</p><p>仓库列出了 GitHub 域名的 IP 地址,每 2 个小时更新一次 Hosts 文件列表。可以手动更新,也可以通过 SwitchHosts 工具来自动更新。</p><h1 id="资源"><a href="#资源" class="headerlink" title="资源"></a>资源</h1><h2 id="1-Awesome-Profile-README-templates"><a href="#1-Awesome-Profile-README-templates" class="headerlink" title="1. Awesome-Profile-README-templates"></a>1. <a href="https://github.com/kautukkundan/Awesome-Profile-README-templates" target="_blank" rel="noopener">Awesome-Profile-README-templates</a></h2><p>Awesome-Profile-README-templates 收录了全世界有意思的 README,如果你要只做你的专属 GitHub 简介,不妨参考下。</p><h2 id="2-GitHub-Readme-Stats"><a href="#2-GitHub-Readme-Stats" class="headerlink" title="2. GitHub Readme Stats"></a>2. <a href="https://github.com/anuraghazra/github-readme-stats" target="_blank" rel="noopener">GitHub Readme Stats</a></h2><p>GitHub Readme Stats 是一个可在你的 README 中获取动态生成的 GitHub 统计信息的小工具。目前支持 dark、radical、merko、gruvbox、tokyonight、onedark、cobalt, synthwave、highcontrast、dracula 等多个主题。</p><p>用法很简单将这行代码复制到你的 markdown 文件中,简单如此!更改 ?username= 的值为你的 GitHub 用户名。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[![Anurag's github stats](https://github-readme-stats.vercel.app/api?username=anuraghazra "![Anurag's github stats")](https://github.com/anuraghazra/github-readme-stats)</span><br></pre></td></tr></table></figure><h2 id="3-emoji-表情查询网址"><a href="#3-emoji-表情查询网址" class="headerlink" title="3. emoji 表情查询网址"></a>3. <a href="https://www.emojiall.com/en/zh" target="_blank" rel="noopener">emoji 表情查询网址</a></h2><p>有很多的表情可供选择,可以让文章或者互动变的更有趣。</p><h1 id="文章"><a href="#文章" class="headerlink" title="文章"></a>文章</h1><h2 id="1-The-right-way-to-turn-off-your-old-APIs"><a href="#1-The-right-way-to-turn-off-your-old-APIs" class="headerlink" title="1. The right way to turn off your old APIs"></a>1. <a href="https://httptoolkit.tech/blog/how-to-turn-off-your-old-apis/" target="_blank" rel="noopener">The right way to turn off your old APIs</a></h2><p>本文讲述如何将一个老旧的 API 下线。</p><h2 id="2-在-GitHub-上构建一个看上去正规的-Golang-项目"><a href="#2-在-GitHub-上构建一个看上去正规的-Golang-项目" class="headerlink" title="2. 在 GitHub 上构建一个看上去正规的 Golang 项目"></a>2. <a href="https://developer.aliyun.com/article/710165" target="_blank" rel="noopener">在 GitHub 上构建一个看上去正规的 Golang 项目</a></h2><p>在 GitHub 上开源 Golang 语言的仓库的一个基础知识点教学,简单介绍了 Goland 的配置、Travis CI 的使用、GoReleaser 用来进行 release 的发布。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复>。<br>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>这里记录过去一周,我看到的值得分享的东西。</p>
</summary>
<category term="weekly" scheme="https://erdong.site/categories/weekly/"/>
<category term="weekly" scheme="https://erdong.site/tags/weekly/"/>
</entry>
<entry>
<title>Prometheus 2.25.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-25-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-25-0.html</id>
<published>2021-02-27T12:17:11.000Z</published>
<updated>2021-11-20T15:45:42.651Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.25.0" target="_blank" rel="noopener">2.25.0</a> 现在(2021.02.17)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-24-0.html">2.24.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这个版本包含了一个新的参数 <code>--enable-feature=</code> 来启用实验功能,而这些特性在未来可能会被更改或删除。</p><p>在下一个小版本(2.26)中,Prometheus 将使用 Alertmanager API v2。它将通过默认的 <code>alertmanager_config.api_version</code> 来启动 v2 版本。Alertmanager API v2 接口在 Alertmanager v0.16.0(1月份发布)中发布已经发布过了,使用 AlertManager 0.16 版本以上即可,建议使用最新版本。</p><p>对于 UI 方面 ,在 TSDB 统计页面的头部显示标签对的数量。另外修复了 <code>/targets</code> 页面上重复的键,修复了 label 名称泄漏到 class 名称的问题。</p><p>对于远程 remote 方面,这次更新允许传递自定义的 <code>remote_write</code> HTTP 报头。这次更新还有 2 个 BUG 修复,分别是修复远程写中删除的系列的垃圾收集和将可恢复的远程写错误记录为警告。</p><p>对于时序数据库 TSDB 来说,这次增加了压缩持续时间的桶的数量的监控指标。另外每分钟重新加载块,以检测新的块并更频繁地执行保留策略。这次修复了一个 BUG,在启动时移除2.21之前版本产生的临时块,及<code>xxx.tmp</code>文件,可以节约本地的存储空间。</p><p>对于 API 方面,这次新增了一个实验 API,可以接受 remote_write 请求,<code>--enable-feature=remote-write-receiver</code> 参数后的值可以被接受使用。另外修复了一个 BUG,修复外部地址没有端口时会变成全局 URL 的问题。</p><p>对于 Kubernetes 服务发现,新增了 endpoint 标签的元数据。</p><p>另外这次更新在图形页面的 React 面板中添加警告。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.25.0" target="_blank" rel="noopener">release notes</a> 。</p><p>Brian Brazil 大佬的博客(<a href="https://www.robustperception.io)最近不更新了。最后一次更新时间是" target="_blank" rel="noopener">https://www.robustperception.io)最近不更新了。最后一次更新时间是</a> 2020.12.28 。最后一篇文章是 《Monitoring is a means, not an end》,确实,监控是一种手段,不是目的,也不是终点。共勉。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.25.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.25.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.25.0" target="_blank" rel="noopener">2.25.0</a> 现在(2021.02.17)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-24-0.html">2.24.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>攻城狮周刊:第48期</title>
<link href="https://erdong.site/weekly/weekly48.html"/>
<id>https://erdong.site/weekly/weekly48.html</id>
<published>2021-01-17T15:50:59.000Z</published>
<updated>2021-01-17T12:34:24.942Z</updated>
<content type="html"><![CDATA[<p>这里记录过去一周,我看到的值得分享的东西。</p><a id="more"></a><h1 id="新闻"><a href="#新闻" class="headerlink" title="新闻"></a>新闻</h1><h2 id="1-尼康显微镜大赛"><a href="#1-尼康显微镜大赛" class="headerlink" title="1. 尼康显微镜大赛"></a>1. <a href="https://www.nikonsmallworld.com/galleries/photomicrography-competition" target="_blank" rel="noopener">尼康显微镜大赛</a></h2><h1 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h1><h2 id="1-fanyi"><a href="#1-fanyi" class="headerlink" title="1. fanyi"></a>1. <a href="https://github.com/afc163/fanyi" target="_blank" rel="noopener">fanyi</a></h2><p>一个命令行的中英文翻译工具,翻译数据来自 iciba.com 和 fanyi.youdao.com</p><h2 id="2-阿禅的公众号排版工具"><a href="#2-阿禅的公众号排版工具" class="headerlink" title="2. 阿禅的公众号排版工具"></a>2. <a href="https://knb.im/mp/" target="_blank" rel="noopener">阿禅的公众号排版工具</a></h2><p>这个排版器适合写长文的人使用,适合先用 Markdown 把文章一气呵成写完,然后一键转换格式的人来使用。</p><p>原本,这是阿禅自己用的排版器。</p><h1 id="资源"><a href="#资源" class="headerlink" title="资源"></a>资源</h1><h2 id="1-advanced-java"><a href="#1-advanced-java" class="headerlink" title="1. advanced-java"></a>1. <a href="https://github.com/doocs/advanced-java" target="_blank" rel="noopener">advanced-java</a></h2><p>互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,后端同学必看,前端同学也可学习。<br><a href="https://doocs.github.io/advanced-java" target="_blank" rel="noopener">https://doocs.github.io/advanced-java</a></p><h2 id="2-大屏数据展示模板"><a href="#2-大屏数据展示模板" class="headerlink" title="2. 大屏数据展示模板"></a>2. <a href="https://gitee.com/lvyeyou/DaShuJuZhiDaPingZhanShi" target="_blank" rel="noopener">大屏数据展示模板</a></h2><p> 大屏数据展示模板,大量的大屏展示模板可以供参考,或者后端提供对应的数据进行展示。</p><h2 id="3-用友网络大前端技术团队博客"><a href="#3-用友网络大前端技术团队博客" class="headerlink" title="3. 用友网络大前端技术团队博客"></a>3. <a href="https://github.com/iuap-design/blog" target="_blank" rel="noopener">用友网络大前端技术团队博客</a></h2><p> 用友网络大前端技术团队博客的地址,博客内容在 ISSUE 中,参考用来标识和导航到 ISSUE 中,学习前端的同学可以进行参考。</p><h2 id="4-SRE-学校"><a href="#4-SRE-学校" class="headerlink" title="4. SRE 学校"></a>4. <a href="https://linkedin.github.io/school-of-sre/" target="_blank" rel="noopener">SRE 学校</a></h2><p> Linkedin 工程团队专门写给小白的 SRE 教程,介绍了一个 SRE 工程师需要掌握的各种基础知识。</p><h1 id="文章"><a href="#文章" class="headerlink" title="文章"></a>文章</h1><h2 id="1-Excel-表格"><a href="#1-Excel-表格" class="headerlink" title="1. [Excel 表格]"></a>1. [Excel 表格]</h2><p>英国的新冠肺炎确诊病例数量,最近一天内暴增 16000 例。原因并非是这一天患病的人特别多,而是英国的病例统计报表使用了 Excel 的 xls 文件格式,导致前几天的统计遗漏了。</p><p>xls 格式的表最多只能有 65,536 行,多于该行数的数据源会被省略。操作人员将数据从 CSV 文件导入 Excel 时,没有发现多余的行被省略了,导致少统计了病例。</p><p>最简单的解决方法,就是将文件格式升级为 xlsx, 它的上限是 1,048,576 行。这件事告诉我们,如果你的数据集比较大,就不应该使用 Excel。</p><h2 id="2-Dockerfile-最佳实践"><a href="#2-Dockerfile-最佳实践" class="headerlink" title="2. Dockerfile 最佳实践"></a>2. <a href="https://cloudberry.engineering/article/dockerfile-security-best-practices/" target="_blank" rel="noopener">Dockerfile 最佳实践</a></h2><h2 id="3-《软件设计的哲学》中文翻译"><a href="#3-《软件设计的哲学》中文翻译" class="headerlink" title="3. 《软件设计的哲学》中文翻译"></a>3. <a href="https://github.com/inkydragon/A-Philosophy-of-Software-Design-zh" target="_blank" rel="noopener">《软件设计的哲学》中文翻译</a></h2><p>《软件设计的哲学》中文翻译</p><p>在线阅读:<a href="http://gdut_yy.gitee.io/doc-aposd/" target="_blank" rel="noopener">http://gdut_yy.gitee.io/doc-aposd/</a></p><p>斯坦福教授、Tcl 语言发明者 John Ousterhout 的著作《A Philosophy of Software Design》,自出版以来,好评如潮。按照 IT 图书出版的惯例,如果冠名为“实践”,书中内容关注的是某项技术的细节和技巧;冠名为“艺术”,内容可能是记录一件优秀作品的设计过程和经验;而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如”知行合一”、“世界是由原子构成的”、“我思故我在”,这些耳熟能详的句子能够一定程度上代表背后的人物和思想。用一句话概括《A Philosophy of Software Design》,软件设计的核心在于降低复杂性。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复>。<br>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>这里记录过去一周,我看到的值得分享的东西。</p>
</summary>
<category term="weekly" scheme="https://erdong.site/categories/weekly/"/>
<category term="weekly" scheme="https://erdong.site/tags/weekly/"/>
</entry>
<entry>
<title>攻城狮周刊:第47期</title>
<link href="https://erdong.site/weekly/weekly47.html"/>
<id>https://erdong.site/weekly/weekly47.html</id>
<published>2021-01-17T13:50:59.000Z</published>
<updated>2021-01-17T12:34:31.508Z</updated>
<content type="html"><![CDATA[<p>这里记录过去一周,我看到的值得分享的东西。</p><a id="more"></a><h1 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h1><h2 id="1-ZoomEye"><a href="#1-ZoomEye" class="headerlink" title="1. ZoomEye"></a>1. <a href="https://www.zoomeye.org" target="_blank" rel="noopener">ZoomEye</a></h2><p>钟馗之眼,<br>互联网安全厂商知道创宇开放了他们的海量数据库,对之前沉淀的数据进行了整合、整理,打造了一个名符其实的网络空间搜索引擎ZoomEye 。作为安全从业人员应当了解该搜索引擎。</p><h2 id="2-shodan"><a href="#2-shodan" class="headerlink" title="2. shodan"></a>2. <a href="https://www.shodan.io" target="_blank" rel="noopener">shodan</a></h2><p>在2009年举办的黑客大会DEFCON会上,一位名叫约翰·马瑟利的黑客发布了一款名为“Shodan”的搜索引擎。其名字取自风靡一时的电脑游戏System Shock中的邪恶主机 。<br>谷歌、百度等搜索引擎通过引用返回的内容进行检索,而Shodan则通过来自各种设备的HTTP header以及其它标志性信息进行检索。</p><p>Shodan可以收集这些设备的信息,并根据其所属国家、操作系统、品牌以及许多其它属性进行分类。可以大致把谷歌、百度看做是网站内容搜索,而把Shodan看做是网络设备搜索。</p><h1 id="资源"><a href="#资源" class="headerlink" title="资源"></a>资源</h1><h2 id="1-Font-Awesome"><a href="#1-Font-Awesome" class="headerlink" title="1. Font Awesome"></a>1. <a href="https://fontawesome.com" target="_blank" rel="noopener">Font Awesome</a></h2><p>Font Awesome 是一套绝佳的图标字体库和CSS框架。<br>Font Awesome 字体为您提供可缩放矢量图标,它可以被定制大小、颜色、阴影以及任何可以用CSS的样式。</p><p>菜鸟教程网站也提供了 Font Awesome 的使用教程。<br><a href="https://www.runoob.com/font-awesome/fontawesome-tutorial.html" target="_blank" rel="noopener">https://www.runoob.com/font-awesome/fontawesome-tutorial.html</a></p><h2 id="2-github-readme-stats"><a href="#2-github-readme-stats" class="headerlink" title="2. github-readme-stats"></a>2. <a href="https://github.com/anuraghazra/github-readme-stats/blob/master/docs/readme_cn.md" target="_blank" rel="noopener">github-readme-stats</a></h2><p>一个可以自己部署的服务,生成个人 GitHub 账户的统计,可以插在自述文件里面。</p><h2 id="3-IDC-Ping-Monitor"><a href="#3-IDC-Ping-Monitor" class="headerlink" title="3. IDC Ping Monitor"></a>3. <a href="https://github.com/wilsonchai8/idc_ping_monitor" target="_blank" rel="noopener">IDC Ping Monitor</a></h2><p>全国网络监控的一个解决方案思路。</p><h2 id="4-Prometheus官网的非官方中文手册"><a href="#4-Prometheus官网的非官方中文手册" class="headerlink" title="4. Prometheus官网的非官方中文手册"></a>4. <a href="https://github.com/1046102779/prometheus" target="_blank" rel="noopener">Prometheus官网的非官方中文手册</a></h2><p>Prometheus官网的非官方中文手册,旨在为大家提供一个比较容易入手的文档。最后</p><h1 id="杂谈"><a href="#杂谈" class="headerlink" title="杂谈"></a>杂谈</h1><h2 id=""><a href="#" class="headerlink" title=""></a></h2><p>2020 年后半年总是忙于各种事务,博客更新有些慢了。变成了一个咕咕星人。哈哈</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复>。<br>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>这里记录过去一周,我看到的值得分享的东西。</p>
</summary>
<category term="weekly" scheme="https://erdong.site/categories/weekly/"/>
<category term="weekly" scheme="https://erdong.site/tags/weekly/"/>
</entry>
<entry>
<title>Prometheus 2.24.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-24-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-24-0.html</id>
<published>2021-01-16T12:17:11.000Z</published>
<updated>2021-11-20T15:44:58.099Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.24.0" target="_blank" rel="noopener">2.24.0</a> 现在(2021.01.06)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-23-0.html">2.23.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>promtool 这个工具在这个版本增加 <code>check web-config</code> 子命令,用来检查 web 配置文件。另外新增了添加 <code>tsdb create-blocks-from openmetrics</code> 子命令,从 <code>OpenMetrics</code> 文件中回填度量数据。在命令行上,增加URL方案检查和测试功能。</p><p>在这个版本,Prometheus 在 HTTP API 中添加了 TLS 和基本的认证功能。通过 HTTP API 访问匹配器为空的时候会快速失败,这样可以提高用户体验。HTTP API 支持标签 API 的匹配器。HTTP API 这次有一个修改,避免了通过 HTTP 多次退出时双关闭通道的问题。</p><p>对于时序数据库 TSDB 这次更新以后避免了压缩后运行不必要的GC。还有就是当压缩时间超过块时间范围时增加日志记录。</p><p>对于服务发现,EC2 的服务发现里新增了一个 IPv6 的 label,而且会重用 EC2 的客户端,减少请求证书的频率。</p><p>对于 DNS 的服务发现,会忽略无效的 CNAME 记录 以避免虚假的 <code>Invalid SRV record</code> 告警。<br>另外这个版本避免了 Kubernetes SD中由有效标签选择器触发的配置错误</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.24.0" target="_blank" rel="noopener">release notes</a> 。</p><p>Brian Brazil 大佬的博客(<a href="https://www.robustperception.io)最近不更新了。最后一次更新时间是" target="_blank" rel="noopener">https://www.robustperception.io)最近不更新了。最后一次更新时间是</a> 2020.12.28 。最后一篇文章是 《Monitoring is a means, not an end》,确实,监控是一种手段,不是目的,也不是终点。共勉。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.24.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.24.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.24.0" target="_blank" rel="noopener">2.24.0</a> 现在(2021.01.06)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-23-0.html">2.23.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.23.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-23-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-23-0.html</id>
<published>2020-12-06T12:17:11.000Z</published>
<updated>2021-11-20T15:44:05.849Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.23.0" target="_blank" rel="noopener">2.23.0</a> 现在(2020.11.26)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-22-0.html">2.22.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>React UI 作为 Web 的默认页面,老的页面仅会维持处于可用状态。</p><p>对 TSDB 进行了各种性能改进。在压缩过程中添加序列时缓存标签名称和最后值,这样压缩速度会更快,在 Prometheus 停止运行一段时间后重新启动后只会有一个检查点,并且 API 不再加载任何数据块。</p><p>PromQL 提高了哈希方法的性能,使查询速度更快。修正括号内向量选择器的timestamp()方法。在 PromQL 解析错误中不包含渲染表达式。</p><p>Promtool 现在可以列出 tsdb 块的大小,在每次执行 test 的时候会计算最大最小值。</p><p>修复了调用 <code>/-/quit/</code> 的时候执行 2 次 <code>close()</code> 的问题。</p><p>远程写现在可以发送元数据。这是一种有限的权宜之计,仅够实现指标元数据API,因为没有办法将特定的示例链接到它的元数据。对于Prometheus本身在/metrics上公开的远程写度量,也有无数的更改。</p><p>在远程写中删除/重命名了以下指标</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">prometheus_remote_storage_succeeded_samples_total 被移除了 prometheus_remote_storage_samples_total 介绍了所有发送的指标</span><br><span class="line"></span><br><span class="line">prometheus_remote_storage_sent_bytes_total 被移除了, 被 prometheus_remote_storage_samples_bytes_total 和 prometheus_remote_storage_metadata_bytes_total 替换了。</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">prometheus_remote_storage_failed_samples_total -> prometheus_remote_storage_samples_failed_total .</span><br><span class="line">prometheus_remote_storage_retried_samples_total -> prometheus_remote_storage_samples_retried_total.</span><br><span class="line">prometheus_remote_storage_dropped_samples_total -> prometheus_remote_storage_samples_dropped_total.</span><br><span class="line">prometheus_remote_storage_pending_samples -> prometheus_remote_storage_samples_pending.</span><br></pre></td></tr></table></figure><p>本次更新,引入了如下指标</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">prometheus_remote_storage_metadata_total</span><br><span class="line">prometheus_remote_storage_metadata_failed_total</span><br><span class="line">prometheus_remote_storage_metadata_retried_total prometheus_remote_storage_metadata_bytes_total</span><br><span class="line">prometheus_remote_storage_max_samples_per_send</span><br></pre></td></tr></table></figure><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.23.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-23-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-23-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.23.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.23.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.23.0" target="_blank" rel="noopener">2.23.0</a> 现在(2020.11.26)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-22-0.html">2.22.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.22.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-22-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-22-0.html</id>
<published>2020-10-25T12:17:11.000Z</published>
<updated>2021-11-20T15:41:45.326Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.22.0" target="_blank" rel="noopener">2.22.0</a> 现在(2020.10.15)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-21-0.html">2.21.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>有两个新的度量,<code>rule_group_last_evaluation_samples</code> 将帮助您跟踪规则组,<code>prometheus_tsdb_data_replay_duration_seconds</code> 将提供WAL在启动时重放的时间。</p><p>正如 2.21.0 发布说明中所宣布的,实验性的 gRPC API v2 已经移除,主要是因为 gRPC 导致维护问题。如果您正在使用它,那么您可以切换到 v1 API。</p><p>警报和目标页面的新UI有了改进,使当前的视图设置更明显,并允许崩溃的刮擦配置分别。</p><p>classic UI 模式下,在进行范围查询时会运行即时查询。</p><p>Prometheus 2.18切换到Go 1.14,其中包括对块大小有显著影响的性能回归。在这个版本中添加了一个临时的解决方案,这涉及到使刮擦时间戳稍微不那么准确。</p><p>这一个版本更新的内容相对较少,只有 12 个 ,有 5 个 BUG Fix ,还有 6 个 优化,下一个版本将会有更大的变化。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.22.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-22-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-22-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.22.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.22.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.22.0" target="_blank" rel="noopener">2.22.0</a> 现在(2020.10.15)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-21-0.html">2.21.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.21.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-21-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-21-0.html</id>
<published>2020-10-23T12:17:11.000Z</published>
<updated>2021-11-20T15:40:26.023Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.21.0" target="_blank" rel="noopener">2.21.0</a> 现在(2020.09.11)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-20-0.html">2.20.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>这个版本使用了 Go 1.15 进行编译,不赞成在TLS证书验证中使用 X.509 CommonName 。</p><p>如果你正在使用 gRPC API v2(仅限于 TSDB 管理命令),请注意,我们将在下一个次要版本2.22中删除这个实验API。</p><p>现在可以在PromQL、配置文件和命令行中使用 1m30s 这样的标识来表示持续时间。<code>target_limit</code> 是一个新的紧急安全阈值,如果一个刮擦配置有更多的目标,那么他们的刮擦将失败。</p><p>有两个新的服务发现,Eureka 和 Hetzner。Kubernetes SD现在支持EndpointSlices, Docker Swarm SD 支持 task &services 而不需要发布端口,DNS SD 有更多 SRV 记录的元数据。</p><p>以前分离的tsdb命令行工具现在是promtool的一部分,您还可以指定何时由promtool评估即时查询。</p><p><code>query_log_file</code> 路径现在可以在配置文件中进行配置。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.21.0" target="_blank" rel="noopener">release notes</a> 。</p><p>如果和 Thanos 搭配使用,要求 Thanos 版本不得低于 v0.16.0 ,建议使用最新版本。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-21-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-21-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.21.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.21.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.21.0" target="_blank" rel="noopener">2.21.0</a> 现在(2020.09.11)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-20-0.html">2.20.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.20.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-20-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-20-0.html</id>
<published>2020-08-09T15:17:11.000Z</published>
<updated>2020-08-13T01:49:55.130Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.20.0" target="_blank" rel="noopener">2.20.0</a> 现在(2020.07.22)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-19-0.html">2.19.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>现在 Prometheus 会默认启动 WAL 压缩,之前的版本是可以选择是否启动 WAL 压缩。这样可以节省一些磁盘空间和 IOPS,降低因为 IOPS 一个小成本的 CPU。</p><p>WAL压缩将防止在不删除WAL的情况下降级到v2.10或更早版本,如果你需要降级,那么可以通过 <code>--no-storage.tsdb.wal-compression</code> 来关闭压缩</p><p>而且正则表达式的匹配器性能也得到的提高。并且提升了高聚合度label的查询性能</p><p>PromQL 新增了一个<code>group()</code>聚合器,可用于提高某些查询的可读性。</p><p>新增了 2 个服务发现,Docker Swarm和DigitalOcean。Openstack SD现在还可以查询备选端点,EC2有额外的AMI元数据。</p><p>远程读取指标得到了改进,UI的某些方面也得到了改进。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.20.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-20-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-20-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.20.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.20.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p><p><img src="https://erdong.site/images/erdongxtnew.jpg" alt="微信公众号"></p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.20.0" target="_blank" rel="noopener">2.20.0</a> 现在(2020.07.22)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-19-0.html">2.19.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>K8S 中的 Grafana 数据持久化</title>
<link href="https://erdong.site/Grafana/grafana-kubernetes-config-persistence.html"/>
<id>https://erdong.site/Grafana/grafana-kubernetes-config-persistence.html</id>
<published>2020-07-25T12:41:08.000Z</published>
<updated>2020-07-25T01:39:39.658Z</updated>
<content type="html"><![CDATA[<p>自从将 Grafana 部署到 K8S 中以后,带来了很多的便利性,但是也有一个问题一直困扰着我,那就是 Grafana 中的数据无法持久化,经常配置好的 Datasource 和 Dashboards 在运行一段时间后就丢失了,有时候刚要排查问题,结果什么都找不到了。我们都知道,Grafana 在启动后,数据会存储到数据库中,包括 datasource 的配置,Dashboards 的配置。要解决 Grafana 的数据持久化可以从 2 个方面来进行思考并且解决。</p><a id="more"></a><p>方案一:</p><p>Grafana 数据存储在数据库中,当前支持 MySQL 、sqlite3、Postgres 这三个,缺省情况下,Grafana 会在本地启动一个 Sqlite3 来存储数据,你也可以在 grafana.ini 配置文件中修改这个配置来切换数据库。</p><p>基于这个方式,第一种方案出来了。 当 Grafana 运行在 K8S 中时,数据库不使用自动启动的 Sqlite3 ,在 K8S 外启动一个关系数据库(可以是 MySQL 、sqlite3、Postgres 中的任何一个),修改 grafana.ini 文件,使得 Grafana 在启动时连接外部的数据库,这样数据就不会丢失了。</p><p>方案二:</p><p>Grafana 在 v5.0 之后引入了 provisioning 功能,可以将 Datasource 、Dashboards 这些内容,通过配置文件的方式在 Grafana 启动的时候加载。把这些文件放在 K8S 的配置映射中,然后挂载到 Grafana 容器中的指定路径即可。这样配置后在 Web UI 修改已经不会生效,只有在对应的配置文件中修改才会生效。</p><p>接下里我们看看方案二的怎么配置使用,我使用的 Grafana 版本是 v6.4.3。</p><p>首先需要在 Grafana 启动时添加相应的参数来打开 provisioning 功能,官方提供的 docker 镜像已经将该功能打开,缺省的路径是 <code>/etc/grafana/provisioning</code> ,这个路径下有 dashboards、datasources、notifiers 三个文件夹,相关的配置会放在这里。如果是自己构建的镜像,请参考文档或者官方的 dockerfile 把该功能打开。</p><p>其次我们需要解决数据源的持久化问题,我们准备 datasources.yaml 文件,用来配置数据源。datasources.yaml 文件内容如下:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br></pre></td><td class="code"><pre><span class="line"># config file version</span><br><span class="line">apiVersion: 1</span><br><span class="line"></span><br><span class="line"># list of datasources that should be deleted from the database</span><br><span class="line">deleteDatasources:</span><br><span class="line"> - name: Prometheus</span><br><span class="line"> orgId: 1</span><br><span class="line"></span><br><span class="line"># list of datasources to insert/update depending</span><br><span class="line"># what's available in the database</span><br><span class="line">datasources:</span><br><span class="line"> # <string, required> name of the datasource. Required</span><br><span class="line"> - name: Prometheus</span><br><span class="line"> # <string, required> datasource type. Required</span><br><span class="line"> type: prometheus</span><br><span class="line"> # <string, required> access mode. proxy or direct (Server or Browser in the UI). Required</span><br><span class="line"> access: proxy</span><br><span class="line"> # <int> org id. will default to orgId 1 if not specified</span><br><span class="line"> orgId: 1</span><br><span class="line"> # <string> custom UID which can be used to reference this datasource in other parts of the configuration, if not specified will be generated automatically</span><br><span class="line"> uid: my_unique_uid</span><br><span class="line"> # <string> url</span><br><span class="line"> url: http://127.0.0.1:9090</span><br><span class="line"> # <string> Deprecated, use secureJsonData.password</span><br><span class="line"> password:</span><br><span class="line"> # <string> database user, if used</span><br><span class="line"> user:</span><br><span class="line"> # <string> database name, if used</span><br><span class="line"> database:</span><br><span class="line"> # <bool> enable/disable basic auth</span><br><span class="line"> basicAuth:</span><br><span class="line"> # <string> basic auth username</span><br><span class="line"> basicAuthUser:</span><br><span class="line"> # <string> Deprecated, use secureJsonData.basicAuthPassword</span><br><span class="line"> basicAuthPassword:</span><br><span class="line"> # <bool> enable/disable with credentials headers</span><br><span class="line"> withCredentials:</span><br><span class="line"> # <bool> mark as default datasource. Max one per org</span><br><span class="line"> isDefault:</span><br><span class="line"> # <map> fields that will be converted to json and stored in jsonData</span><br><span class="line"> jsonData:</span><br><span class="line"> graphiteVersion: '1.1'</span><br><span class="line"> tlsAuth: false</span><br><span class="line"> tlsAuthWithCACert: false</span><br><span class="line"> # <string> json object of data that will be encrypted.</span><br><span class="line"> secureJsonData:</span><br><span class="line"> tlsCACert: '...'</span><br><span class="line"> tlsClientCert: '...'</span><br><span class="line"> tlsClientKey: '...'</span><br><span class="line"> # <string> database password, if used</span><br><span class="line"> password:</span><br><span class="line"> # <string> basic auth password</span><br><span class="line"> basicAuthPassword:</span><br><span class="line"> version: 1</span><br><span class="line"> # <bool> allow users to edit datasources from the UI.</span><br><span class="line"> editable: false</span><br></pre></td></tr></table></figure><p>将该文件放在 K8S 的 config map 中,在容器中时添加数据卷,卷类型选<code>配置映射卷</code> ,选择 config map 中的 datasources.yaml 挂载到容器的 <code>/etc/grafana/provisioning/datasources</code> ,然后重启容器,让容器重新加载配置。</p><p>使用后在 Web UI 的数据源页面进行修改会提示 <code>This datasource was added by config and cannot be modified using the UI. Please contact your server admin to update this datasource.</code> 表示数据源的配置,在 Web UI 修改已经不会生效,只有在 datasources.yaml 文件中修改才会生效。</p><p>接下来解决 dashboards 的持久化问题,准备 <code>dashboards.yaml</code> 文件,用来指定之后的 dashboards 的 json 文件放在哪个目录。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">apiVersion: 1</span><br><span class="line"></span><br><span class="line">providers:</span><br><span class="line"> # <string> an unique provider name. Required</span><br><span class="line"> - name: 'a unique provider name'</span><br><span class="line"> # <int> Org id. Default to 1</span><br><span class="line"> orgId: 1</span><br><span class="line"> # <string> name of the dashboard folder.</span><br><span class="line"> folder: ''</span><br><span class="line"> # <string> folder UID. will be automatically generated if not specified</span><br><span class="line"> folderUid: ''</span><br><span class="line"> # <string> provider type. Default to 'file'</span><br><span class="line"> type: file</span><br><span class="line"> # <bool> disable dashboard deletion</span><br><span class="line"> disableDeletion: false</span><br><span class="line"> # <bool> enable dashboard editing</span><br><span class="line"> editable: true</span><br><span class="line"> # <int> how often Grafana will scan for changed dashboards</span><br><span class="line"> updateIntervalSeconds: 10</span><br><span class="line"> # <bool> allow updating provisioned dashboards from the UI</span><br><span class="line"> allowUiUpdates: false</span><br><span class="line"> options:</span><br><span class="line"> # <string, required> path to dashboard files on disk. Required when using the 'file' type</span><br><span class="line"> path: /etc/grafana/dashboards-files</span><br></pre></td></tr></table></figure><p>将该文件放在 K8S 的 config map 中,在容器中时添加数据卷,卷类型选<code>配置映射卷</code> ,选择 config map 中的 dashboards.yaml 挂载到容器的 <code>/etc/grafana/provisioning/dashboards</code> ,然后重启容器,让容器重新加载配置。</p><p>接下来将准备好的 json 格式的 Dashboards 文件放到 <code>/etc/grafana/dashboards-files</code>, 重新加载这些 json 文件即可。</p><h1 id="参考链接:"><a href="#参考链接:" class="headerlink" title="参考链接:"></a>参考链接:</h1><ul><li><a href="https://grafana.com/docs/grafana/latest/administration/provisioning/#provisioning-grafana" target="_blank" rel="noopener">https://grafana.com/docs/grafana/latest/administration/provisioning/#provisioning-grafana</a> , By Provisioning Grafanan</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>自从将 Grafana 部署到 K8S 中以后,带来了很多的便利性,但是也有一个问题一直困扰着我,那就是 Grafana 中的数据无法持久化,经常配置好的 Datasource 和 Dashboards 在运行一段时间后就丢失了,有时候刚要排查问题,结果什么都找不到了。我们都知道,Grafana 在启动后,数据会存储到数据库中,包括 datasource 的配置,Dashboards 的配置。要解决 Grafana 的数据持久化可以从 2 个方面来进行思考并且解决。</p>
</summary>
<category term="Grafana" scheme="https://erdong.site/categories/Grafana/"/>
<category term="Grafana" scheme="https://erdong.site/tags/Grafana/"/>
</entry>
<entry>
<title>攻城狮周刊:第46期</title>
<link href="https://erdong.site/weekly/weekly46.html"/>
<id>https://erdong.site/weekly/weekly46.html</id>
<published>2020-07-19T15:50:59.000Z</published>
<updated>2020-07-19T16:01:01.644Z</updated>
<content type="html"><![CDATA[<p>这里记录过去一周,我看到的值得分享的东西。</p><a id="more"></a><h1 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h1><h2 id="1-windows-exporter"><a href="#1-windows-exporter" class="headerlink" title="1. windows_exporter"></a>1. <a href="https://github.com/prometheus-community/windows_exporter" target="_blank" rel="noopener">windows_exporter</a></h2><p>在 Windows 上运行的采集系统上基础信息提供给 Prometheus 的 exporter ,还没有使用过,在合适的场景感受一下。</p><h2 id="2-pap-er"><a href="#2-pap-er" class="headerlink" title="2.pap.er"></a>2.<a href="https://paper.meiyuan.in" target="_blank" rel="noopener">pap.er</a></h2><p>pap.er 是专为 Mac 设计的壁纸应用,可以一键设置图片为壁纸,有 2K 和 4K 壁纸可供选择。</p><h1 id="资源"><a href="#资源" class="headerlink" title="资源"></a>资源</h1><h2 id="1-Kubernetes-工具"><a href="#1-Kubernetes-工具" class="headerlink" title="1. Kubernetes 工具"></a>1. <a href="https://zhuanlan.zhihu.com/p/88340421" target="_blank" rel="noopener">Kubernetes 工具</a></h2><p>50 多种 Kubernetes 集群部署、监控、安全及测试等相关工具,在知乎发表的文章。</p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复>。<br>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>这里记录过去一周,我看到的值得分享的东西。</p>
</summary>
<category term="weekly" scheme="https://erdong.site/categories/weekly/"/>
<category term="weekly" scheme="https://erdong.site/tags/weekly/"/>
</entry>
<entry>
<title>Prometheus 2.19.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-19-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-19-0.html</id>
<published>2020-06-21T15:17:11.000Z</published>
<updated>2021-09-01T11:52:03.901Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.19.0" target="_blank" rel="noopener">2.19.0</a> 现在(2020.06.15)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-18-0.html">2.18.0</a> 之后又进行了很多的修复和改进。</p><a id="more"></a><p>最大的一个特性就是 TSDB 的 head block 现在存储在 mmaped 中,而不是存储在 heap 中 。这样就减少了内存的需求,特别是高频的获取采集端的数据场景,而且可以在重启进程的时候可以变的更快。而且在隔离性上也有改进,减少了高负载的争用。</p><p>Triton 服务发现,现在支持全局空间。<br>增加告警重发延迟,可以容忍一些发送失败的场景。<br>增加了一个关于远程读的新的 Metric,<code>prometheus_remote_storage_remote_read_queries_total</code> ,是 count 类型。</p><p>在 API 中添加了 label name 和 label values 的时间范围参数</p><p>修正了TSDB配置远程读取时使用Prometheus时出现的不正确的查询结果的 BUG</p><p>在 2020 年 6 月 18 日,发布了 2.19.1 ,修复了 m-map 文件被截断导致的文件无序的 BUG 。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.19.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><p><a href="https://www.robustperception.io/new-features-in-prometheus-2-19-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-19-0</a> , By Brian Brazil</p></li><li><p><a href="https://github.com/prometheus/prometheus/releases/tag/v2.19.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.19.0</a> ,By prombot of GitHub</p></li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.19.0" target="_blank" rel="noopener">2.19.0</a> 现在(2020.06.15)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-18-0.html">2.18.0</a> 之后又进行了很多的修复和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.18.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-18-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-18-0.html</id>
<published>2020-05-31T15:17:11.000Z</published>
<updated>2020-05-31T11:38:06.395Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.18.0" target="_blank" rel="noopener">2.18.0</a> 现在(2020.05.05)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-17-0.html">2.17.0</a> 之后又进行了一些修正和改进。</p><a id="more"></a><p>这是一个相当轻的版本。最显著的变化是,WAL保存在磁盘上的时间已经减少了一半,从6个小时减少到3个小时,这是我为之前的一篇博客文章所做的研究得出的结论。</p><p>Federation 现在只查询本地TSDB,由于 read_recent 默认为 false,大多数远程读用户应该已经这样做了。</p><p>EC2服务发现现在新增了 architecture 元数据 label。</p><p>修复了一些 UI 和远程写的 BUG。</p><p>在 2020 年 5 月 7 日,发布了 2.18.1 TSDB 修复了一个快照 API 的 BUG。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.18.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-18-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-18-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.18.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.18.0</a> ,By prombot of GitHub</li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.18.0" target="_blank" rel="noopener">2.18.0</a> 现在(2020.05.05)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-17-0.html">2.17.0</a> 之后又进行了一些修正和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>MAC OS 下 HomeBrew 使用</title>
<link href="https://erdong.site/macos/macos-homebrew-introduction.html"/>
<id>https://erdong.site/macos/macos-homebrew-introduction.html</id>
<published>2020-05-31T11:46:10.000Z</published>
<updated>2020-05-31T11:47:31.643Z</updated>
<content type="html"><![CDATA[<p>Homebrew 是一个很方便的包管理器,主要用来管理 mac 操作系统的软件包,现在也支持 linux 操作系统的包管理以及 Windows 10 Subsystem for Linux。官网是 <a href="https://brew.sh" target="_blank" rel="noopener">https://brew.sh</a> 。</p><a id="more"></a><p>Homebrew 通过 Tap 方式定义源,官方默认提供了 brew、homebrew-core 、homebrew-cask 、homebrew-bottles 四个常用的源(仓库),用户也可以通过 Tap 定义自己的源。</p><p>在安装 brew 和使用 brew install 安装软件的过程中,经常会遇到安装缓慢、卡死的情况,这大多是由于 Homebrew 的默认安装源位于国外,国内访问速度慢造成的,解决这个问题的方法是将安装源替换为国内镜像,常用的国内镜像源可以使用中科大 LUG 源、清华 Tuna 源等。</p><h1 id="Brew-安装"><a href="#Brew-安装" class="headerlink" title="Brew 安装"></a>Brew 安装</h1><p>网上提供的安装方式都是之前的旧的安装方式,里边提到的都是使用 Ruby 脚本来安装的。现在 Brew 已经可以使用 Bash 来进行安装了,这是在 Github 的仓库 <a href="https://github.com/Homebrew/install" target="_blank" rel="noopener">Homebrew Install</a> 。</p><p>安装方式为 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"</span><br></pre></td></tr></table></figure><p>这个脚本脚本中使用了 Brew 的默认源,源在国外,安装过程会非常缓慢,这个时候可以单独把 install.sh 脚本下载下来,修改其中的默认源为 中科大 LUG 源或者清华 Tuna 源。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">#默认源</span><br><span class="line">BREW_REPO="https://github.com/Homebrew/brew"</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"># 中科大 LUG 源</span><br><span class="line">BREW_REPO="https://mirrors.ustc.edu.cn/brew.git"</span><br><span class="line"># 清华 Tuna 源</span><br><span class="line">BREW_REPO="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"</span><br></pre></td></tr></table></figure><p>替换好以后,执行 <code>/bin/bash install.sh</code> 即可,速度会快很多。</p><p>如果需要卸载可以使用 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"</span><br></pre></td></tr></table></figure><h1 id="Brew-替换源"><a href="#Brew-替换源" class="headerlink" title="Brew 替换源"></a>Brew 替换源</h1><p>Homebrew 安装好以后,就可以使用 brew install 来安装软件了,这个时候会可以通过更换国内源的方式来加速安装。Brew 常用的是 4 个源,分别是 brew、<br>homebrew-core、homebrew-cask、homebrew-bottles 。<br>本文的编写目的是简单的介绍四个常用的源(源),以及如何更换为国内镜像实现快速安装软件。</p><h2 id="brew"><a href="#brew" class="headerlink" title="brew"></a>brew</h2><p>说明:Homebrew 源代码仓库。<br>默认地址:<a href="https://github.com/Homebrew/brew.git" target="_blank" rel="noopener">https://github.com/Homebrew/brew.git</a></p><h2 id="homebrew-core"><a href="#homebrew-core" class="headerlink" title="homebrew-core"></a>homebrew-core</h2><p>说明:Homebrew 核心源(仓库),它是 brew install 的默认安装源(仓库)。<br>默认地址:<a href="https://github.com/Homebrew/homebrew-core.git" target="_blank" rel="noopener">https://github.com/Homebrew/homebrew-core.git</a></p><h2 id="homebrew-cask"><a href="#homebrew-cask" class="headerlink" title="homebrew-cask"></a>homebrew-cask</h2><p>说明:homebrew-cask 源(仓库),提供 macOS 应用和大型二进制文件的安装。通常我们在 mac 操作系统上安装图形用户界面软件,系统都会提示“若要安装,请拖动此图标…”。homebrew-cask 扩展了Homebrew,为安装和管理 Atom 和 Google Chrome 之类的图形用户界面应用程序带来了优雅、简单和速度。</p><p>默认地址:<a href="https://github.com/Homebrew/homebrew-cask.git" target="_blank" rel="noopener">https://github.com/Homebrew/homebrew-cask.git</a></p><h2 id="homebrew-bottles"><a href="#homebrew-bottles" class="headerlink" title="homebrew-bottles"></a>homebrew-bottles</h2><p>说明:Homebrew 预编译二进制软件包。<br>默认地址:<a href="https://bintray.com/homebrew/bottles" target="_blank" rel="noopener">https://bintray.com/homebrew/bottles</a></p><p>了解了这个 4 个源以后,我们就可以对他们进行更新,主要是中科大 LUG 源、清华 Tuna 源,这样在其中一个故障的时候切换另外一个来正常使用。</p><p>替换中科大的默认源<br><a href="http://mirrors.ustc.edu.cn/help/homebrew-core.git.html" target="_blank" rel="noopener">http://mirrors.ustc.edu.cn/help/homebrew-core.git.html</a></p><p>替换中科大的 bottles<br><a href="http://mirrors.ustc.edu.cn/help/homebrew-bottles.html" target="_blank" rel="noopener">http://mirrors.ustc.edu.cn/help/homebrew-bottles.html</a></p><p>替换清华的默认源</p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/" target="_blank" rel="noopener">https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/</a></p><p>替换清华的 bottles</p><p><a href="https://mirrors.tuna.tsinghua.edu.cn/help/homebrew-bottles/" target="_blank" rel="noopener">https://mirrors.tuna.tsinghua.edu.cn/help/homebrew-bottles/</a></p><p>替换 bottles 源的时候,如果你使用了 Zsh 等其他解释器,请更新对应的配置文件。</p><p>参考<br><a href="https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git" target="_blank" rel="noopener">https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git</a><br><a href="https://lug.ustc.edu.cn/wiki/mirrors/help/homebrew-bottles" target="_blank" rel="noopener">https://lug.ustc.edu.cn/wiki/mirrors/help/homebrew-bottles</a></p><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>Homebrew 是一个很方便的包管理器,主要用来管理 mac 操作系统的软件包,现在也支持 linux 操作系统的包管理以及 Windows 10 Subsystem for Linux。官网是 <a href="https://brew.sh" target="_blank" rel="noopener">https://brew.sh</a> 。</p>
</summary>
<category term="macos" scheme="https://erdong.site/categories/macos/"/>
<category term="macos" scheme="https://erdong.site/tags/macos/"/>
<category term="brew" scheme="https://erdong.site/tags/brew/"/>
</entry>
<entry>
<title>攻城狮周刊:第45期</title>
<link href="https://erdong.site/weekly/weekly45.html"/>
<id>https://erdong.site/weekly/weekly45.html</id>
<published>2020-05-31T07:16:59.000Z</published>
<updated>2020-05-31T11:44:15.322Z</updated>
<content type="html"><![CDATA[<p>这里记录过去一周,我看到的值得分享的东西。</p><a id="more"></a><h1 id="教程"><a href="#教程" class="headerlink" title="教程"></a>教程</h1><h2 id="1"><a href="#1" class="headerlink" title="1. "></a>1. <a href="https://www.nginx.com/blog/help-the-world-by-healing-your-nginx-configuration/" target="_blank" rel="noopener"></a></h2><p>NGINX 官方的博客文章,教大家五个小技巧,通过改进配置来节省带宽、提高性能。</p><h1 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h1><h2 id="1-Consul-template"><a href="#1-Consul-template" class="headerlink" title="1. Consul-template"></a>1. <a href="https://github.com/hashicorp/consul-template" target="_blank" rel="noopener">Consul-template</a></h2><p>Consul template 是 Consul 周边的一个配置渲染的工具,和 confd 类似,可以从 Consul 的 kv 存储里读取数据,渲染成各种格式的文件来让 Prometheus、Nginx等等工具来读取。使用的文档可以参考:<br><a href="https://www.bookstack.cn/read/consul-guide/11_consul_template.md#使用" target="_blank" rel="noopener">https://www.bookstack.cn/read/consul-guide/11_consul_template.md#使用</a></p><h2 id="2-Confd"><a href="#2-Confd" class="headerlink" title="2. Confd"></a>2. <a href="https://github.com/kelseyhightower/confd" target="_blank" rel="noopener">Confd</a></h2><p>Confd 是一个使用模板来管理本地应用配置文件,可以从 consul 和 etcd 读取数据,和 consul-template 类似,使用模板渲染好配置文件后,也可以通过命令来重启或重载应用,使配置文件生效。但是该项目在 2018 年 7 月 16 日以后就没有新的代码提交。当前最新的版本是 v0.16.0 ,发布于 2018 年 5 月 5 日。</p><h2 id="3-Gossip"><a href="#3-Gossip" class="headerlink" title="3. Gossip"></a>3. <a href="https://pearmini.gitee.io/gossip/" target="_blank" rel="noopener">Gossip</a></h2><p>一个制作幻灯片的在线工具,只需要少量拖拽和对齐操作,就可以生成通过浏览器播放的幻灯片,比较炫酷。</p><h2 id="4-javaagent"><a href="#4-javaagent" class="headerlink" title="4. javaagent"></a>4. <a href="https://github.com/dingjs/javaagent" target="_blank" rel="noopener">javaagent</a></h2><p>基于javaagent开发的APM工具,收集方法的执行次数和执行时间,定时输出成json格式的日志。</p><h1 id="资源"><a href="#资源" class="headerlink" title="资源"></a>资源</h1><h2 id="1-阿里云藏经阁"><a href="#1-阿里云藏经阁" class="headerlink" title="1. 阿里云藏经阁"></a>1. <a href="https://developer.aliyun.com/topic/ebook" target="_blank" rel="noopener">阿里云藏经阁</a></h2><h1 id="阿里云开发者社区——藏经阁系列电子书,汇聚了一线大厂的技术沉淀精华,爆款不断。"><a href="#阿里云开发者社区——藏经阁系列电子书,汇聚了一线大厂的技术沉淀精华,爆款不断。" class="headerlink" title="阿里云开发者社区——藏经阁系列电子书,汇聚了一线大厂的技术沉淀精华,爆款不断。"></a>阿里云开发者社区——藏经阁系列电子书,汇聚了一线大厂的技术沉淀精华,爆款不断。</h1><p>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复>。<br>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>这里记录过去一周,我看到的值得分享的东西。</p>
</summary>
<category term="weekly" scheme="https://erdong.site/categories/weekly/"/>
<category term="weekly" scheme="https://erdong.site/tags/weekly/"/>
</entry>
<entry>
<title>Prometheus 2.17.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-17-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-17-0.html</id>
<published>2020-05-30T15:17:11.000Z</published>
<updated>2020-05-31T11:42:52.324Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.17.0" target="_blank" rel="noopener">2.17.0</a> 现在(2020.03.24)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-16-0.html">2.16.0</a> 之后又进行了一些修正和改进。</p><a id="more"></a><p>这个版本中最大的变化是将隔离添加到了tsdb中。API查询和记录规则保证只能看到完整的片段和完整的记录规则。这样在内存使用和 CPU 使用上会多一些,但是相对的,不会产生错误的结果,这样做是值得的。在查询过程中提高部分命中 head 的查询性能</p><p>现在可以并发地对多个端点进行远程读取。</p><p>PromQL解析器在幕后进行了一些更改。用户可以看到的惟一方面是,某些关键字现在也可以作为纯度量名称使用,但另一方面,我怀疑是否有人会命名一个名为count_values 的度量。</p><p>针对 Consul、EC2、OpenStack 和 Kubernetes 的服务发现获得了一些新的元数据。Kubernetes SD 还获得了对大量目标进行预过滤的能力,因为对大量目标进行重新标记是不现实的。</p><p>对于 Consul 服务发现,可以暴露服务健康作为meta标签。</p><p>对于 EC2 服务发现,将 EC2 的实例生命周期作为元标签公开。</p><p>在 React UI 方面,在 target 页面规范了本地主机 url 。</p><p>对于告警规则方面,在重新加载后将已删除的规则标记为旧的,过期的。</p><p>对于 PromQL,不要在查询日志中转义类似于 html 的字符</p><p>在 2020 年 3 月 26 日,发布了 2.17.1 ,修复了之前 CPU 和内存使用升高的问题。</p><p>在 2020 年 4 月 20 日,发布了 2.17.2 ,修复 Prometheus 启动一个空TSDB WAL时的内存泄漏,修复了删除一个正在计算的告警组的时候重载会卡住的问题,</p><p>建议使用最新的版本。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.17.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-17-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-17-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.17.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.17.0</a> ,By prombot of GitHub </li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>
<summary type="html">
<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.17.0" target="_blank" rel="noopener">2.17.0</a> 现在(2020.03.24)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-16-0.html">2.16.0</a> 之后又进行了一些修正和改进。</p>
</summary>
<category term="Prometheus" scheme="https://erdong.site/categories/Prometheus/"/>
<category term="New-Features" scheme="https://erdong.site/categories/Prometheus/New-Features/"/>
<category term="Prometheus" scheme="https://erdong.site/tags/Prometheus/"/>
<category term="Features" scheme="https://erdong.site/tags/Features/"/>
<category term="release" scheme="https://erdong.site/tags/release/"/>
</entry>
<entry>
<title>Prometheus 2.16.0 新特性</title>
<link href="https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-16-0.html"/>
<id>https://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-16-0.html</id>
<published>2020-05-23T15:17:11.000Z</published>
<updated>2020-05-23T14:49:55.169Z</updated>
<content type="html"><![CDATA[<p>Prometheus <a href="https://github.com/prometheus/prometheus/releases/tag/v2.16.0" target="_blank" rel="noopener">2.16.0</a> 现在(2020.02.13)已经发布,在上个月的 <a href="http://erdong.site/Prometheus/New-Features/New-Features-in-Prometheus-2-15-0.html">2.15.0</a> 之后又进行了一些修正和改进。</p><a id="more"></a><p>在这个版本中有很多的性能改进,如果你的查询只涉及最近几个小时的数值,会变的非常快,因为 Brian Brazil 删除了一些不必要的排序。在实际使用中,这会使得记录规则在处理 100 万个序列的高基数时快 1 秒。</p><p>现在可以配置 Prometheus 来记录它执行的所有 PromQL 查询。</p><p>PromQL 解析器已经被一个带有改进的错误消息的生成解析器所取代,这也会快一些。 还有一个新的 absent_over_time 函数,在没有任何变化的情况下,重新加载配置和告警规则配置的效率会更高。</p><p>有新的 prometheus_target_metadata_cache_* 来展示元数据占用的内存,还有针对 WAL 写失败的 prometheus_tsdb_wal_writes_failed_total 的指标。</p><p>新的 UI 支持本地时区,可以勾选 local timezone 。新增支持告警规则页面以及“Xs ago” 之前。</p><p>TSDB 提升了查询最近 2 小时内数据的查询性能。<br>promtool 工具支持显示无效规则的行号。</p><p>还有其他一些 BUG 修复。</p><p>详细的发行注记可以查看 <a href="https://github.com/prometheus/prometheus/releases/tag/v2.16.0" target="_blank" rel="noopener">release notes</a> 。</p><h1 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h1><ul><li><a href="https://www.robustperception.io/new-features-in-prometheus-2-16-0" target="_blank" rel="noopener">https://www.robustperception.io/new-features-in-prometheus-2-16-0</a> , By Brian Brazil</li><li><a href="https://github.com/prometheus/prometheus/releases/tag/v2.16.0" target="_blank" rel="noopener">https://github.com/prometheus/prometheus/releases/tag/v2.16.0</a> ,By prombot of GitHub </li></ul><p>======================<br>由于无法及时收到评论内容,所以关闭评论功能。<br>大家有问题欢迎发邮件到 <a href="mailto:[email protected]">[email protected]</a> ,或者 <a href="https://github.com/erdong/erdong.github.io/issues" target="_blank" rel="noopener">https://github.com/erdong/erdong.github.io/issues</a> 提 Issue ,我会及时回复。</p><p>======================<br>Erdong, A Linux user !</p>]]></content>