Go 之 Delve 调试

准备工作 安装 delve 项目代码 1 2 git clone git@git.baijiashilian.com:web/demo/go-debug-demo.git git clone git@git.baijiashilian.com:web/gotools/gitlab-tools.git 调试工具 delve delve 安装 https://github.com/go-delve/delve/tree/master/Documentation/installation 1 go install github.com/go-delve/delve/cmd/dlv@latest dlv 配置 1 ~/.dlv/config.yml 调试方式 本地调试 从源码开始编译并开始调试 1 dlv debug [package] [flags] 调试已经编译好的二进制文件 1 dlv exec ./hello -- args1 args2 编译的时候需要禁用编译器优化:go build -gcflags="-N -l" 编译选项有哪些:go tool compile -h 调试正在运行的进程 1 dlv attach pid [executable] [flags] 调试单元测试 1 dlv test [package] [flags] 远程调试 JSON-RPC & DAP 1 dlv --headless --listen 0.0.0.0:2345 <command> <target> <args> 兼容dlv connect、VS Code Go、GoLand ...

2022-03-20

Alertmanager 中的周期参数

在 Alertmanager 中有三个跟周期相关的参数,分别是 group_wait, group_interval, repeat_interval。合理地配置参数,有利于降低告警频率,避免告警风暴产生。 在深入了解这三个参数之前,首先需要关注到 Prometheus 中也有两个周期函数,scrape_interval 与 evaluation_interval。 ...

2022-03-14

Prometheus 增加身份认证

Prometheus 除了提供时序数据库和监控系统存在,其本身也对外提供了 Web 服务,用于提供报表展示及表达式计算,以及用于更新配置文件等功能的 API。 处于安全考虑,在对外的 Web 服务里,我们需要增加身份认证。Prometheus 提供 Basic Auth 身份认证。 ...

2022-03-12

ServiceAccount 的使用

概念 Kubernetes 中,Pod 内部进程想要访问 API Server,就需要用到 ServiceAccount。ServiceAccount 类似业务系统里的账户,用于为 Pod 提供身份。 ...

2022-03-10

PaperMod 主题下代码高亮最佳实践

背景 PaperMod 主题默认使用的是 highlight.js, 这是一种由 js 生成的高亮方案。相比 highlight.js, Hugo 官方更倾向使用 Chroma 来生成代码高亮。 Chroma 是由 Go 写的语法高亮工具,其编译速度更快,且 Hugo 内置了 Chroma 工具。Hugo 关于 Chroma 的文档在 Syntax Highlighting ...

2022-03-05

Docker 下 Filebeat 日志收集

背景 在收集服务端聊天消息日志时,用到了 Filebeat dissect 语法,而这个语法是 Filebeat 6.4 及之后的版本支持。服务端部分机器的 Filebeat 版本为 6.3 考虑到日志收集工作的普遍性,为了保持版本统一减少运维成本,特增加一种基于 Docker 实现的通用 Filebeat 日志收集方案。 ...

2022-03-05