Git Product home page Git Product logo

hbs's People

Contributors

laiwei avatar missuzhang avatar niean avatar ulricqin avatar xingfusye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hbs's Issues

hbs策略加载问题

看了一下hbs加载告警策略,都是全量加载,如果监控项、告警策略数比较会,hbs使用的内存就会很大,hbs的内存就会被成瓶颈,系统在设计时,为什么不考虑把hbs设计成按需加载的模式呢?judge在加载策略时,先把需要的host列表传给hbs,hbs再根据这个列表,先从内存中取,如果内存中没有再去数据库里读,hbs中的缓存加个定期失效

hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接

hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接

hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接

hbs是否需要主动和agent建立连接,还是每次进行通信时,均是agent主动建立连接

hbs是否需要主动和agent建立连接,还是每次进行通信时,均是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检测也纳入整个系统。

关于hbs和agent之间的rpc请求转发

你好。 我们准备部署open-falcon作为我们的监控系统。 目前遇到一个问题。

我们是三层架构, A 层与B层网络互通, B层与C层网络互通, 但A层不能之间访问C层。

根据各自权衡, HBS不方便放在B层。 HBS 放在C层,agent是放在A层上的 , 如何实现agent到hbs之间的通信?

期待答复~~谢谢。

ulimit达到之后三分钟日志就把磁盘写满了

日志如下:
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

关于portal中设置判断条件中文转义造成hbs报错问题

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.