alertmanager邮件模版

2017-03-14
阅读 3 分钟
15.5k
邮件模版使用go template编写,两对大括号中的.ExternalURL即表示变量的ExternalURL字段,Data结构如下,源码在这里。请自行google go template的使用方法。

alertmanager报警规则详解

2017-03-14
阅读 4 分钟
33.4k
这篇文章介绍prometheus和alertmanager的报警和通知规则,prometheus的配置文件名为prometheus.yml,alertmanager的配置文件名为alertmanager.yml报警:指prometheus将监测到的异常事件发送给alertmanager,而不是指发送邮件通知通知:指alertmanager发送异常事件的通知(邮件、webhook等)

了解etcd

2017-02-15
阅读 6 分钟
17.9k
这是一篇非常入门的文章,让你大概了解一下etcd。写这篇文章时使用etcd的版本是3.1.0。 etcd是以实现共享配置和服务发现为目的,提供一致性的键值存储的分布式数据库。kubernetes等项目使用了etcd。

golang在编译时用ldflags设置变量的值

2017-02-12
阅读 2 分钟
26.4k
我们可以提供一个配置文件version.conf,程序运行时从version.conf取得这些信息进行显示。但是在部署程序时,除了二进制文件还需要额外的配置文件,不是很方便。 或者将这些信息写入代码中,这样不需要额外的version.conf,但要在每次编译时修改代码文件,也够麻烦的了。 有一种更好的办法是在编译时使用参数-ldflags -X...

Go的内存模型

2017-01-30
阅读 4 分钟
6.7k
如果程序中修改数据时有其他goroutine同时读取,那么必须将读取串行化。为了串行化访问,请使用channel或其他同步原语,例如sync和sync/atomic来保护数据。

docker容器间通信的一种方法

2017-01-28
阅读 2 分钟
8.1k
以我的ghost博客为例进行说明,我在VPS上用docker启动了两个ghost博客,还有一个Nginx做反向代理,将两个域名分别指向两个博客。

beego orm中时区的问题

2017-01-23
阅读 3 分钟
7k
转载请注明出处,原文链接:[链接] 先看简化后代码,下面只列出main函数 {代码...} 这么看的话感觉两个SQL应该是相同的: {代码...} 我在本机测试OK,但在另一个环境SQL是这样的: {代码...} 相差8小时,第一时间想到时区问题,去有问题的环境一看果真如此。 然后看了下beego orm的代码,下面列出关键部分。 1.orm/db_ut...

[转]十问 Linux 虚拟内存管理 (glibc)

2017-01-19
阅读 15 分钟
4.3k
最近在做 MySQL 版本升级时( 5.1->5.5 ) , 发现了 mysqld 疑似“内存泄露”现象,但通过 valgrind 等工具检测后,并没发现类似的问题。因此,需要深入学习 Linux 的虚拟内存管理方面的内容来解释这个现象。 Linux 的虚拟内存管理有几个关键概念:1. 每个进程有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物...

IDEA写Golang的一些操作/技巧

2017-01-09
阅读 2 分钟
12.2k
之前一直用vscode来写Golang,直到有人向我推荐了IDEA,便折服于它的强大。在这里分享一些IDEA的操作和技巧(只说Golang,但一些技巧对其他语言同样有效)。

golang使用闭包降低测试代码行数

2016-10-27
阅读 2 分钟
2.7k
在f中修改外部变量,然后判断变量是否变化就可以知道f是否被执行。但我们一般需要测试多种情况,比如对于Do函数,我们需要将 t.fail t.rollback t.finish设置不同值进行测试,将上面测试代码扩充(如果需要测试这三个变量组合的情况,代码就更长了):

深入理解Go语言的slice

2016-07-24
阅读 2 分钟
4.1k
如果认为输出[1 2]的话那么你错了,结果是[1 2 3],你可能会觉得很奇怪,slice是引用语义这个在第一个例子中已经证明了,为什么第二个例子中又不是这样呢。

有神奇功效的注释

2016-07-18
阅读 1 分钟
2k
{代码...}

一些常用的命令

2016-07-18
阅读 3 分钟
1.7k
转载请注明出处,原文链接[链接] shell {代码...} <!--more--> sed {代码...} golang {代码...} gdb {代码...} git {代码...} vim {代码...} fiddler {代码...} redis {代码...} vs code {代码...}

k8s如何管理Pod

2016-07-18
阅读 5 分钟
16.2k
在本次分享开始前,让我们先回想下Pod。Pod直译是豆荚,可以把容器想像成豆荚里的豆子,把一个或多个关系紧密的豆子包在一起就是豆荚(一个Pod)。在k8s中我们不会直接操作容器,而是把容器包装成Pod再进行管理(关于Pod,大家可以参考第十期的分享“谈谈Pod在微服务中的运用”)。Pod是运行服务的基础,那我们如何来管理P...