哆啦A梦?不好记!安利一下Prometheus这款开源的企业监控报警平台
doraemon是一款在线管理prometheus报警信息的开源工具,是一个Web-UI。谢谢360,谢谢蛋黄厂。哆啦A梦很好用。
说实话,我到现在还没记住哆啦A梦的英文,doraemon,doraemon,doraemon。当然,日语我也不会,ドラえもん,ドラえもん,ドラえもん,太难记了。xjjdog发文时,只有277 star。
https://github.com/Qihoo360/doraemon
我想了一下工具难以推广的原因,大概就在于docker上。如果我不是这种环境,比如我就是个做外包的,这种方式就使用就很困难。
一些众所周知的原因,无论是docker,还是npm,甚至pip,在国内服务器环境,安装都非常的费劲。要配置更改各种源,加上各种代理。这对于一个想要快速尝鲜的用户来说,什么docker-compose
一类的工具就是噩梦。
如果提供能够简单安装和启动的,打包好的软件,这个过程就是无痛的。
而通过docker方式启动起来的服务,竟然有4个,重量级的mysql都上了。
[root@localhost docker-compose]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
651e0d9e8d9a 360cloud/rule-engine:latest "./ruleengine --gate…" 50 seconds ago Up 48 seconds docker-compose_ruleengine_1
079e001857f8 360cloud/doraemon-frontend:latest "/usr/local/openrest…" 50 seconds ago Up 48 seconds 0.0.0.0:32000->80/tcp docker-compose_doraemon-frontend_1
0a13302acd67 360cloud/alert-gateway:latest "./doraemon" 52 seconds ago Up 33 seconds 0.0.0.0:8080->8080/tcp docker-compose_doraemon-backend_1
e2c33f41cfcf mysql:5.6.41 "docker-entrypoint.s…" 2 minutes ago Up 51 seconds 0.0.0.0:3306->3306/tcp docker-compose_mysql_1
这是官方的一张架构图,可以看到左半部是传统的Prometheus的服务,后半部分就是DLAM(请原谅我流畅的书写一下)。
可以说,Rule Engine和Gateway就是用来替代传统的AlertManager
的。
看下面这张架构图,就是我现在用的另一种模式,你可以找下其中的差别。AlertManager其实很好用,但就是配置文件不太直观,想要改动还不得不登录服务器,客户用起来更是骂娘。DLAM就是为了解决这个问题的。
DLAM提供了很多系统管理通用的功能,比如什么用户管理、组管理等。其实最重要的还是能够配置报警规则。
为了创建一个报警规则,我们需要填写rule expression、for参数、summary以及description,这些都是prometheus alerting rules 中的参数。此外,还需要填写数据源和对应的报警计划。
可以看到,功能还是比较全了。
核心的功能就是报警规则的在线管理,加上一些类似devops的理念在里面,就可以发挥它的价值。
监控系统还是有很多的,光xjjdog这里就已经有很多了,但目前最火的还是Prometheus。如果有Web配置工具能完成闭环,那再好不过了。
「整体」这么多监控组件,总有一款适合你
「监控」 昔日教人类用火的prometheus,如今在努力报警
「日志」实践一把Loki,体验掌上起舞的轻盈
如果不是要写什么公众号,我或许会加入开发一些功能,但心有余而力不足啊。所以,doraemon、ドラえもん、哆啦A梦、DLAM,你们四个加油。我还在等着白嫖呢。
作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。
- dedecms如何去除后台登陆验证码
- DEDECMS自定义表单unix时间戳转换成常规时间方法及增加表单添加时间方法
- dedecms自定义表单发布成功后返回当前页面
- 前端构建工具 Gulp.js 上手实例
- dedecms数据库内容替换安全确认码不显示怎么解决
- 利用宏避免发送确认邮件时忘记添加附件
- dateDiff在Objective-C中的实现
- 禁用Firefox自带的元素查看工具
- 容易被误解的overflow:hidden
- dedecms调用全站相关文章怎么设置
- dedecms自定义表单提交成功后提示信息修改和跳转链接修改
- dede:arclist orderby=weight dedecms列表页文章按权重排序无效问题
- Golang语言社区--Go语言基础第二节变量
- 如何让帝国CMS7.2搜索模板支持动态标签调用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- sql语句查oracle版本号
- 商业鬼才教你 模板方法模式
- 用SQL语句查看Oracle数据表的结构信息
- Oracle建表语法
- 剑指Offer第1题详解(附Java、Python实现代码)
- (美团)动态规划,打家劫舍!
- POIEasyExcel
- 剑指Offer第2题详解(附Python、Java代码实现)
- 剑指Offer第3题详解(附Java、Python源码)
- 从String中移除空白字符的多种方式!?差别竟然这么大!
- Stack.peek() 与 Stack.pop() 的区别
- 傅里叶变换有什么用?
- 剑指Offer第4题详解(附Java、Python源码)
- 帅地问我:Dubbo服务调用过程
- 用两个栈实现队列详解(附Java、Python源码)——《剑指Offer》