运维开发
文章平均质量分 91
ning1875
这个作者很懒,什么都没留下…
展开
-
开源项目: self_upgrade: C/S架构中 agent如何自升级(以falcon-agent为例)
项目地址代码地址 https://github.com/ning1875/falcon-plus/tree/master/modules/agent前言在我们日常运维/运维开发工作中各种系统主要分为两大流派本文主要讨论下有agent侧一些注意事项客户端服务端的C/S架构优点c/s架构相比于基于ssh的并发和吞吐量要高的多利用agent可做的事情很多以及更精准的控制缺点功能更新需要升级agentagent如果保活是个头疼的问题[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下原创 2021-01-08 17:22:32 · 659 阅读 · 0 评论 -
从PVC使用率看k8s 监控控制平面指标稳定性规范KEP
前言kubernetes家大业大,监控纷繁复杂,感兴趣的小伙伴可以看看我之前写的文章从容器监控kube-stats-metrics看k8s众多组件k8s中pv使用率监控说明虽然k8s最擅长的是无状态的pod,不建议有状态的存储型pod上但是总有些使用场景需要,比如statefulset使用的pv那么pv的使用率监控就非常有必要了我们可以使用 kubelet_volume_stats_used_bytes/kubelet_volume_stats_capacity_bytes表征pod pv原创 2021-01-08 17:21:28 · 1162 阅读 · 0 评论 -
m3db-node oom追踪和内存分配器代码查看
m3dbnode oomoom时排查内存火焰图: 80G内存bytes_pool_get_on_empty qps 很高db read qps增长 80%node cpu kernel 暴涨看图结论m3dbnode 内存oom过程很短,很剧烈:总时间不超过7分钟内存从27G增长到250G节点sys态cpu暴涨:因为大量的mem_alloca sys_call内存增长曲线和db_read_qps曲线和bytes_pool_get_on_empty曲线高度吻合原创 2021-01-08 17:19:43 · 159 阅读 · 0 评论 -
服务树系列(一):什么是服务树及其核心功能
前言服务树这个名词几乎所有运维和运维开发同学都不陌生,但是服务树的原理和为啥用服务树估计大家并不了解,本文先来讨论下这些基本概念,下文讨论如何实现,下图为其核心组件stree-index现已开源开源项目地址:项目地址: https://github.com/ning1875/stree-index介绍文章 服务树系列(二):开源项目:stree-index 物化路径+倒排索引实现的开源服务树核心组件服务树与资源管理其实无论是引入CMDB或服务树的一个重要目的是完成对应用运行所依赖的原创 2021-01-08 17:17:24 · 1056 阅读 · 0 评论 -
开源项目: pre_query: 给prometheus 重(heavy_query)查询提速
项目地址pre_query https://github.com/ning1875/pre_query术语解释什么是heavy_query顾名思义 就是查询表现出来返回时间较长,对应调用服务端资源较多的查询一般我们定义在1小时内的range_query 响应时间超过3秒则认为较重了instance_query当前点查询,用作报警查询或展示当前分布情况,对应调用的是prometheus 的/api/v1/query接口range_query查询一段时间的曲线,,对应调用的是promethe原创 2021-01-08 17:11:54 · 213 阅读 · 0 评论 -
开源项目 : prome-route: 使用反向代理实现prometheus分片
开源项目地址:项目地址: https://github.com/ning1875/prome-routePS: 这是一个仅用时半天就写完的项目架构图prometheus HAprometheus本地tsdb性能出色,但是碍于其没有集群版本导致HA较差实现手段注意这些手段都是要数据的统一存储可以通过remote_write 到一个提供HA的tsdb存储中通过联邦收集到一个prometheus里问题来了,搞不定集中式的tsdb集群,或者集群挂了咋办本项目介绍原理介绍肯定有一组p原创 2021-01-08 16:50:42 · 292 阅读 · 2 评论 -
服务树系列(二):开源服务树:stree-index 物化路径+倒排索引实现的开源服务树核心组件
开源项目地址:项目地址: https://github.com/ning1875/stree-index什么是服务树及其核心功能服务树效果图可以看我之前写的文章 服务树系列(一):什么是服务树及其核心功能核心功能有三个树级结构灵活的资源查询权限相关今天仅讨论前两种的实现树级结构实现调研后发现有下列几种实现方式左右值编码区间嵌套闭包表物化路径而stree-index采用的是物化路径物化路径原理在创建节点时,将节点的完整路径进行记录,方案借助了unix文件目录的原创 2021-01-08 14:58:19 · 278 阅读 · 0 评论 -
开源项目: prome_shard :consulwatch+动态分片实现Prometheus采集端高可用
开源项目地址: 项目地址: https://github.com/ning1875/prome_shard项目说明prometheus采集端单点问题采集类型采集机器级别的指标采集k8s基础监控指标采集部署在lb后面的vm业务指标采集部署在pod里的业务指标采集各种中间件的指标 如kafka zk clickhouse等面对如此复杂的采集类型,一般会使用一批采集Prometheus各司其职sd发现问题面对不同的采集来源,有对应的服务发现类型,如k8s_sd,我们修改Promethe原创 2021-01-08 14:56:41 · 265 阅读 · 0 评论 -
k8s监控指标汇总,prometheus采集k8s原理解析
监控需求我们使用k8s后一般需要监控一下四大块指标指标类型采集源应用举例发现类型grafana截图容器基础资源指标kubelet 内置cadvisor metrics接口查看容器cpu、mem利用率等k8s_sd node级别直接访问node_ipk8s资源指标kube-stats-metrics (简称ksm)具体可以看从容器监控kube-stats-metrics看k8s众多组件 看pod状态如pod waiting状态的原因 数个数如:查看node原创 2021-01-08 13:20:54 · 1762 阅读 · 0 评论 -
promethues系列之:追踪k8s容器指标的打tag的流程
# k8s中容器资源的监控## 在promethues中如何配置采集容器指标* 采用promethues的kubernetes_sd_configs中 node级别的role```yaml- job_name: kubernetes-nodes-cadvisor honor_timestamps: false scrape_interval: 30s scrape_timeout: 10s metrics_path: /metrics scheme: https kube...原创 2020-07-17 10:02:33 · 214 阅读 · 0 评论 -
监控聚合器系列之: open-falcon新聚合器polymetric
![image.png](/img/bVbI3Gm)# 聚合在监控中的作用* 简单来说:需要将分散的大量监控数据按照一定的维度(idc/service)及一定的算法(avg/sum/max/min/quantile分位)得到一个结果值* 比如: 想知道服务a下面的100台机器的平均* 又比如: 想知道查询接口b的99分位延迟值# open-falcon原版聚合器## aggregator 介绍:* aggregator聚合器就是从falcon_portal.cluster表中取出用户在.原创 2020-07-04 18:08:41 · 362 阅读 · 0 评论 -
分布式c/s ping & http 探测
## ps 基于open-falcon做监控现在有点落伍了,目前我这里有更好的方案,感兴趣的+qq 907974064或者github issue留言## 地址 [https://github.com/ning1875/xprober](https://github.com/ning1875/xprober)## 预览图### http 探测结果### 互ping 结果# 项目说明`xprober` is a distributed c/s architecture..原创 2020-05-26 19:33:21 · 615 阅读 · 0 评论 -
open-falcon-alarm 代码分析
总结:alarm消费由judge产生的redis报警事件,根据优先级高低是否做合并,发往不同的报警通道高优先级报警比如p0: judge产生报警事件-->写入redis event:p0队列 -->alarm消费-->获取发送对象并处理调用回调函数(如果有)-->根据策略不同生成不同通道的报警(im,sms,mail,phone)等-->写入redis各个通道的发送队...原创 2018-07-12 16:41:31 · 1028 阅读 · 0 评论 -
open-falcon-aggregator代码解析
总结:aggregator聚合器就是从falcon_portal.cluster表中取出用户在页面上配置的表达式,然后解析后,通过api拿到对应机器组的所有机器,通过api查询graph数据算出一个值重新打回transfer作为一个新的点。定时从db中拿出所有的聚合器配置放到一个map中第一次启动时遍历聚合器map生成workers map 这两个map的key都是id+updatetime同时下...原创 2018-07-12 14:03:04 · 670 阅读 · 0 评论 -
运维发展路线之我见
随着工作时间的增长,接触不少的op sre,有大神但是更多是靠年限增长的普通人。对运维工作发展路线有了一个清晰的认识:简单说,如果你想在运维方面变得十分牛逼,以下三点不能躲开1.对于linux内核和系统底层的理解2.丰富的coding经验3.熟悉网络协议和底层转发流程下面分别来说下:自己是否对linux内核有了深刻的理解:包括但不限于:系统调用,内核数据结构,内存管理,io层,文件系统,中断和同...原创 2018-04-17 13:28:12 · 1548 阅读 · 0 评论