摘要: 起源 最近开源了个 "监控小工具" ,有网友在使用过程中提出了监控日志文件的时候,日志文件名有日期在其中,而且是当天的日期。所以希望能增加占位符标识当天日期。 于是写了个占位符小工具。支持普通字符和日期(增减)占位,适合一些模板解析的时候用。 代码实现 测试效果 更多日期格式请参考 "DateTim 阅读全文
posted @ 2019-12-26 15:30 dongfangqiezi 阅读(116) 评论(0) 推荐(0)
摘要: 造个轮子 HashMap 发现自己对看源码特别痛苦,而且看了就忘。有必要按照源码已有的功能需求按照自己的想法去写一个轮子,然后比对着看才能理解。 需求分析 功能很多,结构为数组+链表(暂时忽略红黑树),准备就写两个基本功能: 存数:懒加载数组,到达阈值(负载因子0.75)扩容,hash冲突开始链表模 阅读全文
posted @ 2019-12-26 11:53 dongfangqiezi 阅读(161) 评论(0) 推荐(0)
摘要: 介绍 一款基于shell命令的监控系统,可以根据项目中输出的日志定时输出或者统计输出,并发送钉钉机器人报警消息。 能做什么: 定时监控某个服务进程是否还存在,不存在则钉钉告警。 定时统计近一段时间内具体日志文件中关键字出现的次数,并对次数做一个阈值比较,超出阈值则钉钉告警并输出日志。 进阶监控(qp 阅读全文
posted @ 2019-12-23 17:58 dongfangqiezi 阅读(348) 评论(0) 推荐(0)
摘要: 很早之前就看过线程池源码(知道大概的运行原理),但是只是知道怎么用,并没有深究。这次为了帮助自己深入理解线程池,决定手动写一个极简(陋)的线程池,顺便记录思考和造轮过程。 虽然不太可能和jdk自带的那么完美,但是该有的功能还是要有: 新建线程池,有核心线程数和最大线程数,线程存活时间,队列 在线程池 阅读全文
posted @ 2019-12-12 10:24 dongfangqiezi 阅读(638) 评论(0) 推荐(6)
摘要: 之前给项目里的一个5000多万的表做了水平分表,暂时容量还够,用的根据id一致性hash分了32个表,每个表大概百来万数据。虽然还不需要扩容,但是准备写个demo后续如果需要扩容可以参考 hash方法用的md5,虚拟节点每个表插入了128个,扩容的时候如果按照2的倍数扩大,迁移率每个表大概在0.5左 阅读全文
posted @ 2019-12-12 10:22 dongfangqiezi 阅读(488) 评论(0) 推荐(0)
摘要: 目前公司项目有个服务提供动态的指标计算,可查不同库配置不同sql或者代码,实时计算指标,本来数据源是需要重启配置的,想了下可以做成不重启就新增或者删除 设计:在mongodb中保存数据源信息,项目启动时加载到内存初始化数据源,运行时可动态的新增或者删除数据源不需要重启服务,暂时没有需求,后续需要的时 阅读全文
posted @ 2019-12-12 10:20 dongfangqiezi 阅读(457) 评论(0) 推荐(0)
摘要: #### 最近想做一个监控,定时的几分钟或者几小时去某台机器拉取对应目录的日志,根据关键字统计出现次数,超出阈值则发送钉钉消息到群里。 本来很简单的一个需求,但是这个按照时间段去匹配日志有点烦。网上一查都说用sed,awk,试了下,sed方式必须两个时间点都出现在日志中,但是我这定时生成的时间格式, 阅读全文
posted @ 2019-12-12 10:17 dongfangqiezi 阅读(667) 评论(0) 推荐(0)