- dsn: 索引服务的MySQL的连接信息,默认用户名是root,密码为空,host为127.0.0.1,database为graph(如有必要,请修改)
- maxIdle: MySQL连接池配置,连接池允许的最大空闲连接数,保持默认即可
- cluster: 后端graph索引更新的定时任务描述。一条记录的形如: \地址:执行周期描述\,通过设置不同的执行周期,来实现负载在时间上的均衡。
eg. 后端部署了两个graph实例,cluster可以配置为 \
\周0-5,每天的00:00:00,开始执行索引全量更新;\为quartz表达式
\周0-5,每天的00:30:00,开始执行索引全量更新 }
- autoDelete: true|false, 是否自动删除垃圾索引。默认为false
collector
- enable: true/false, 表示是否开启falcon的自身状态采集任务 - destUrl: 监控数据的push地址,默认为本机的1988接口 - srcUrlFmt: 监控数据采集的url格式, %s将由机器名或域名替换 - cluster: falcon后端服务列表,用具体的\表示,module取值可以为graph、transfer、task等
部署完成task组件后,请修改collector配置、使task能够正确采集transfer & graph的内部状态,请修改monitor配置、使task模块能够自检控Open-Falon的各组件(当前支持transfer、graph、query、judge等)。
3.15 gateway
如果您没有遇到机房分区问题,请直接忽略此组件。
如果您已经遇到机房分区问题、并急需解决机房分区时监控数据回传的问题,请使用该组件。更多的资料在:
https://github.com/open-falcon/gateway
3.16 nodata
nodata用于检测监控数据的上报异常。nodata和实时报警judge模块协同工作,过程为: 配置了nodata的采集项超时未上报数据,nodata生成一条默认的模拟数据;用户配置相应的报警策略,收到mock数据就产生报警。采集项上报异常检测,作为judge模块的一个必要补充,能够使judge的实时报警功能更加可靠、完善。
这一节是写给Open-Falcon老用户的,新用户请忽略本小节、直接跳到源码编译部分即可。如果你已经使用Open-Falcon有一段时间,本次只是新增加一个nodata服务,那么你需要依次完成如下工作:
?
确保已经建立mysql数据表falcon_portal.mockcfg。其中,falcon_portal为portal组件的mysql数据库,mockcfg为存放nodata配置的数据表。mockcfg的建表语句,如下。
确保已经更新了portal组件。portal组件中,新增了对nodata配置的UI支持。
安装nodata后端服务。即本文的后续部分。 USE falcon_portal;SET NAMES 'utf8'; /**
* nodata mock config
*/DROP TABLE IF EXISTS `mockcfg`;CREATE TABLE `mockcfg` ( `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'name of mockcfg, used for uuid',
`obj` VARCHAR(10240) NOT NULL DEFAULT '' COMMENT 'desc of object',
`obj_type` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'type of object, host or group or other',
`metric` VARCHAR(128) NOT NULL DEFAULT '', `tags` VARCHAR(1024) NOT NULL DEFAULT '', `dstype` VARCHAR(32) NOT NULL DEFAULT 'GAUGE', `step` INT(11) UNSIGNED NOT NULL DEFAULT 60,
`mock` DOUBLE NOT NULL DEFAULT 0 COMMENT 'mocked value when nodata occurs',
`creator` VARCHAR(64) NOT NULL DEFAULT '', `t_create` DATETIME NOT NULL COMMENT 'create time',
`t_modify` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'last modify time',
?
?
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
配置说明
## Configuration {
\\\
\的http服务监听地址 },
\组件相关的配置
\查询数据时http连接超时时间,单位ms \查询数据时http请求处理超时时间,单位ms \组件的http监听地址,一般形如\ },
\配置信息 \
\
\true&wait_timeout=604800\的数据库连接信息,默认数据库为falcon_portal
\连接池空闲连接数 },
\数据采集相关的配置 \
\一次数据采集的条数,建议使用默认值 \采集并发度,建议使用默认值 },
\发送mock数据相关的配置 \
\发送数据时http连接超时时间,单位ms \发送数据时http请求超时时间,单位ms
\的http监听地址,一般形如\
\发送数据时,每包数据包含的监控数据条数 \阻塞设置
\是否开启阻塞功能.默认不开启此功能
\触发nodata阻塞操作的阈值上限.当配置了nodata的数据项,数据上报中断的百分比,大于此阈值上限时,nodata阻塞mock数据的发送 } } }
3.17 Aggregator
如果你已经安装过open-falcon了,那么请检查: 检查你的portal中是否有这个代码:
https://github.com/open-falcon/portal/blob/master/web/model/cluster.py,如果有了,说明版本OK,否则,需要升级原来的portal为最新版代码。
falcon_portal数据库中加入了一张新表: USE falcon_portal;SET NAMES 'utf8';
DROP TABLE IF EXISTS cluster;CREATE TABLE cluster (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, grp_id INT NOT NULL, numerator VARCHAR(10240) NOT NULL, denominator VARCHAR(10240) NOT NULL, endpoint VARCHAR(255) NOT NULL, metric VARCHAR(255) NOT NULL, tags VARCHAR(255) NOT NULL, ds_type VARCHAR(255) NOT NULL, step INT NOT NULL,