open-falcon-archive / hbs Goto Github PK
View Code? Open in Web Editor NEW心跳服务器
License: Apache License 2.0
心跳服务器
License: Apache License 2.0
看了一下hbs加载告警策略,都是全量加载,如果监控项、告警策略数比较会,hbs使用的内存就会很大,hbs的内存就会被成瓶颈,系统在设计时,为什么不考虑把hbs设计成按需加载的模式呢?judge在加载策略时,先把需要的host列表传给hbs,hbs再根据这个列表,先从内存中取,如果内存中没有再去数据库里读,hbs中的缓存加个定期失效
hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接
hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接
hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接
hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接
自检测里只提到了组件的检测,想请问下。Agent的存活检测是怎么做的?(虽然有agent.alive的指标在,但没法做到一旦agent挂了会触发警报,配置了agent.alive !=1 也是没卵用,因为根本没数据过Judge)是不也通过另一个类似Anteye的外部组件?我有个想法,既然hbs是周期性获取心跳数据,周期同系统指标的上传周期,为什么不让hbs接手所有agent.alive指标的上报?在host列表内的endpoint,一旦hbs收到心跳,则将agent.alive设置为1,否则设置为0,push到本机的agent上。
这样就可以通过agent.alive这个指标明确了解实时的在线情况。而且可以设置报警模板。使得agent检测也纳入整个系统。
你好。 我们准备部署open-falcon作为我们的监控系统。 目前遇到一个问题。
我们是三层架构, A 层与B层网络互通, B层与C层网络互通, 但A层不能之间访问C层。
根据各自权衡, HBS不方便放在B层。 HBS 放在C层,agent是放在A层上的 , 如何实现agent到hbs之间的通信?
期待答复~~谢谢。
日志如下:
2015/11/04 02:13:12 rpc.go:32: listener accept fail: accept tcp [::]:6030: too many open files
2015/11/04 02:13:12 rpc.go:32: listener accept fail: accept tcp [::]:6030: too many open files
.......
.......
.......
2015/11/04 02:16:36 rpc.go:32: listener accept fail: accept tcp [::]:6030: too many open files
代码中 hbs/rpc/rpc.go的start方法。
continue 之前sleep一段时间可能会更好。
conn, err := l.Accept()
if err != nil {
log.Println("listener accept fail:", err)
continue
请问一下hbs所在的库falcon_portal下的host表,在前端界面删除endpoint时,好像信息仍然会存在于这个表中。
falcon portal里面设置报警条件的设置all(3) > 10, 但是输入value值的时候因为输入法的问题写成了中文的10
hbs读取strategy表记录的时候,hbs/db/strategy.go文件中的QueryStrategies函数执行sql获取所有的Strategy列表,执行sql得到结果时将得到的strategy表中right_value值转义成float64类型,这个时候就会产生转换类型报错,代码中对这条报警条件continue掉,造成报警策略不生效
我想问一下数据库的表结构和后台的结构体类型为什么没有设置成一致呢?
这个bug是忽略掉还是提个pull request修复掉?
谢谢
falcon_portal数据库中的strategy表结构
CREATE TABLE `strategy` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`metric` varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`tags` varchar(256) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`max_step` int(11) NOT NULL DEFAULT '1',
`priority` tinyint(4) NOT NULL DEFAULT '0',
`func` varchar(16) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'all(#1)',
`op` varchar(8) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`right_value` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`note` varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`run_begin` varchar(16) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`run_end` varchar(16) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`tpl_id` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `idx_strategy_tpl_id` (`tpl_id`)
) ENGINE=InnoDB AUTO_INCREMENT=869 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
right_value为中文字符时hbs的报错信息
2017/08/08 13:29:32 strategy.go:41: ERROR: sql: Scan error on column index 5: converting string "10" to a float64: strconv.ParseFloat: parsing "10": invalid syntax
2017/08/08 13:29:32 strategy.go:41: ERROR: sql: Scan error on column index 5: converting string "10" to a float64: strconv.ParseFloat: parsing "10": invalid syntax
2017/08/08 13:30:32 strategy.go:41: ERROR: sql: Scan error on column index 5: converting string "10" to a float64: strconv.ParseFloat: parsing "10": invalid syntax
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.