![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 50
jack-life
后端开发,java、go语言
展开
-
prometheus中常用的查询
prometheus server 可以通过HTTPAPI的方式进行查询,官网链接https://prometheus.io/docs/prometheus/latest/querying/basics/ 我这边主要用到的是实时查询,当然prometheus还支持历史查询,我这里 先介绍实时查询,其他的可以直接参考官方文档。实时查询接口:"%s/api/v1/query?query=%...原创 2018-08-04 21:16:00 · 27347 阅读 · 5 评论 -
prometheus告警
1. 告警概述prometheus的告警管理分为两部分。通过在prometheus服务端设置告警规则, Prometheus服务器端产生告警向Alertmanager发送告警。 然后,Alertmanager管理这些告警,包括静默,抑制,聚合以及通过电子邮件,PagerDuty和HipChat等方法发送通知。设置警报和通知的主要步骤如下:设置并配置Alertmanager;配置Pr...翻译 2018-08-23 10:35:36 · 8413 阅读 · 1 评论 -
go测试框架Convey + Monkey的使用
前言常用的go语言测试框架包括Convey、Stub、Mock、Monkey等,用过之后发现比较好用的是Convey+Monkey,Convey是作为外层框架,Monkey可以为函数、方法等打桩,这里介绍几个Convey+Monkey的使用例子。安装go get github.com/smartystreets/goconvey go get github.com/bouk/mo...原创 2018-08-22 10:01:26 · 15765 阅读 · 1 评论 -
golang日志框架之logrus
本文转载自姜总golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志框架包括logrus、zap、zerolog、seelog...原创 2018-08-14 17:14:04 · 87638 阅读 · 10 评论 -
Go语言中加载.yml配置文件的方式
前言yml文件是配置文件中常见的一种,通过配置文件的方式来加载配置更具有灵活性,这里介绍一种go语言中加载.yml配置文件的方式。1 安装jinzhu/configor库这里我们使用的是github上一个开源的库,github.com/jinzhu/configor,安装方式go get github.com/jinzhu/configor也可以下载下来放在对应的目录...原创 2018-08-14 16:48:55 · 3871 阅读 · 0 评论 -
Go语言编程学习笔记----4 并发
4.1 并发基础在CSP系统中,所有的并发操作都是通过独立线程以异步运行的方式来实现。这些线程必须通过在彼此之间发送消息,从而向另一个线程请求信息或者将信息提供给另一个线程。4.2 协程进程(process)、进程内的线程(thread)以及进程内的协程(coroutine,也叫轻量级线程)。与传统的系统级线程和进程相比,协程的最大优势在于其“轻量级”,可以轻松创建上百万个而不会导...原创 2018-08-14 11:04:03 · 218 阅读 · 0 评论 -
go语言中float64 保留2位小数
func Decimal(value float64) float64 { return math.Trunc(value*1e2+0.5) * 1e-2}加上 0.5是为了四舍五入,想保留几位小数的话把2改掉即可。这个版本有个关于浮点型数精度的问题,经常会出现 13.0000000001类似的结果。下面的是先通过Sprintf保留两位小数,再转成float64.fu...原创 2018-08-01 16:24:22 · 123806 阅读 · 1 评论 -
go语言学习踩坑交流,持续更新中
背景学习使用go语言和beego框架中的踩过的一些坑,记录下来以便交流。1. JSON-to-Go工具首先介绍一个json文件自动转化为go的数据结构的工具 JSON-to-Go 比如 prometheus server端查询出的一个结果的数据结构:[ { "metric":{ "__name__":"up", ..原创 2018-08-04 23:59:54 · 385 阅读 · 0 评论 -
beego集成swagger
背景最近在做的一个项目为前端提供rest接口,编程语言为go,框架采用的是beego,在beego框架中集成swagger可以很方便的展示已经实现的后端rest接口。前提beego框架的安装和使用可以直接参考beego官网,文档也是中文的,可读性很高。步骤1 创建beego项目: 通过bee api hello 命令创建hello项目。2 swagge...原创 2018-08-04 22:17:27 · 3041 阅读 · 0 评论 -
prometheus告警模块ALTERMANAGER中抑制规则的使用
prometheus服务端通过配置文件可以设置告警,下面是一个告警设置的配置文件alert.yml:groups:- name: goroutines_monitoring rules: - alert: TooMuchGoroutines expr: go_goroutines{job="prometheus"} > 20 for: 5m labe...原创 2018-08-23 15:46:26 · 7763 阅读 · 1 评论