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
把模板渲染出来
...
➦