prometheus介绍 Feb 24, 2020

普罗米休斯是目前非常流行的监控解决方案,他提供了一个非常好用的监控api规范和告警方法,以下是prometheus的特性

  • Dimensional data, prometheus基于时间序列存储数据
  • Powerful queries, prometheus提供了一种PromQL的查询语言,使用户可以很方便汇总数据
  • Great visualization, 通过grafana实现强大的可视化功能, Grafana 2.5.0 (2015-10-28)开始支持prometheus的语法查询
  • Efficient storage, Prometheus包含一个存储在磁盘的本地数据库,但也整合了远程存储系统作为可选项
  • Simple operation, Prometheus可通过命令行参数和配置文件来配置它,命令行参数配置一些不变的系统参数,而配置文件则定义所有和爬取相关的任务
  • Precise alerting, 告警规则允许你基于prometheus的表达式来定义告警条件,然后发送关于火警通知到额外的服务,每当告警表达式在给定时间点生成一个或多个矢量时,对应标签的告警计数将为对应的成员响应
  • Many client libraries, 在你监控你的服务之前,你需要通过prometheus客户端库增加指标到你的代码中,它们实现了prometheus的所有指标类型
  • Many integrations, 有许多库和服务将第三方系统中的现有指标导出为prometheus指标,这对无法直接使用prometheus指标来检测给定系统的情况很有用(例如HAProxy或者Linux操作系统统计信息)
...
go的text/template源码解析 Oct 05, 2019

go的模板库一直缺少indent的功能,于是我决定自己造个轮子来解决这个问题

为了造出好用,贴近源生态的轮子,所以我决定把text/template的源码熟读一遍

本篇只是粗略的讲解模板的各个模块,不会深入函数细节

首先基本用法开始

基本用法

我们这里用的是text_template中example_test的ExampleTemplate()作为例子

通过一下命令创建一个text模板,其中Must函数表示处理错误并panic,New表示创建一个空模板,解析模板内容的逻辑在Parse函数中

然后通过t.Execute把模板渲染出来

...
go module无法拉取库的原因排查 Sep 23, 2019 go compile debug,查看为何无法拉取太大的go包 ...
kubernetes官方kubeadm部署笔记 Apr 30, 2019 kubernetes官方部署方案踩坑记录 ...