在Go语言中使用了gin web框架,我们有一个接口是文件下载服务,用户下载超过100M文件就会OOM导致重启服务,本文主要记录通过Golang内置的pprof服务来排查OOM问题的过程。
LastPass、KeePass都是很好的个人密码管理软件,与之类似的还有Bitwarden、1password等,它们之间各有特性,最近从LastPass全面转移到KeePass,KeePass 是一款管理密码的开源的免费软件。本文记录最近从LastPass转向拥抱开源KeePass的心路历程,为什么转,转向哪里,怎么转。
我们的系统想做一个故障定位与 AI 结合的功能,这其实是AIOps的一部分。大概背景就是:前期已经完成在系统里接入ES查询日志并展示,各个微服务将接收上游和请求下游的相关信息(比如模块、接口、错误码等)打印并收集到ES中,我们想给用户直观展示一个从用户端到最终数据端的一个请求调用链路图,并展示有问题的节点,点击问题节点可以将错误日志传给AI大模型分析并给出解决方案。本文从编码角度给出具体过程中的实现和遇到的一些问题。
在云原生环境下使用nginx-ingress-controller作为网关服务,我们希望能监控网关流量,重点监控访问者的IP和访问的服务。目前使用比较多的两种基于 NGINX 的 Ingress 控制器实现:一种是nginxinc/kubernetes-ingress,另一种是kubernetes/ingress-nginx,我们使用的是nginxinc/kubernetes-ingress
,它是nginx社区维护的一个版本。开始准备通过metric暴露nginx-ingress-controller的监控指标,使用Prometheus进行采集,发现nginx社区维护的这个开源版kubernetes-ingress可收集的监控指标非常少。我们需要的信息其实Nginx都有打印日志,所以,我们决定采集nginx-ingress-controller的日志,最终收集到ES中进行存储,后期就可以使用Kibana查询这些日志,甚至对这些日志进行分析。
在K8s云环境下,如何查询某一Linux系统进程ID与Pod对应关系需要一定的技巧。本文利用在K8s集群中某一机器的文件描述符占用过高的问题,排查定位到对应Pod的一次经验记录Linux系统进程ID与Pod对应关系查询思路。
火绒安全软件5.0下线“火绒剑”安全工具,关于火绒安全软件5.0下线“火绒剑”安全工具的通知 (huorong.cn),现在想要关闭火绒的开机自启得花点心思。大致方法如下:
本文详细介绍了如何通过Kubernetes中的Go语言调用API Server来实现创建Job任务。该功能需要实现创建Job执行任务、任务完成后提取日志中的JSON并解析入库,以及支持周期执行等步骤。这些都得益于client-go包的支持才能轻松实现,但在实践中也遇到了一些值得记录的问题。
本文记录的是如何在离线环境下快速更新trivy.db,解决国内下载东西网络慢的问题,以及如何将文件拷贝进容器。这两个小技巧比较实用,以供未来参考。
本文主要记录使用Go语言的 <golang.org/x/oauth2> 库接入OAuth2实现统一身份认证登录的过程。由于我们内网部署了Choerodon开源版1.0,所以OAuth2的认证服务端直接使用Choerodon的OAuth服务。即在我们的自研服务接入Choerodon的OAuth2服务实现统一身份认证登录。
基本需求场景:使用Vue2实现一个自定义的Switch Button组件,并且在使用时要求父子组件能相互通信。使用到的技术主要是vue2
和element-ui
。