暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

老古董open-falcon的安装方式---二进制安装之最后三个组件介绍

原创 watson 2024-07-14
265

open-falcon经过这周的安装的流程,基本上也就全部安装完毕了,今天就为大家再将最后的三个组件nodata、gateway、Aggregator来为大家一一道来。

一、nodata组件

nodata组件是用于检测监控数据的上报异常。nodata是和实时报警judge模块协同工作,过程则为: 配置了nodata的采集项超时未上报数据,nodata生成一条默认的模拟数据;用户配置相应的报警策略,收到mock数据就产生报警。采集项上报异常检测,作为judge模块的一个必要补充,能够使judge的实时报警功能更加可靠、完善。

1、生成并修改配置文件

  • mv cfg.example.json cfg.json
  • vim cfg.json,打开配置文件后,可参照如下配置介绍对该配置文件中的参数进行配置:
各配置项的含义,如下
{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6090" #nodata的http服务监听地址
    },
    "query":{ #query组件相关的配置
        "connectTimeout": 5000, #查询数据时http连接超时时间,单位ms
        "requestTimeout": 30000, #查询数据时http请求处理超时时间,单位ms
        "queryAddr": "127.0.0.1:9966" #query组件的http监听地址,一般形如"domain.query.service:9966"
    },
    "config": { #配置信息
        "enabled": true,
        "dsn": "root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true&wait_timeout=604800", #portal的数据库连接信息,默认数据库为falcon_portal
        "maxIdle": 4 #mysql连接池空闲连接数
    },
    "collector":{ #nodata数据采集相关的配置
        "enabled": true,
        "batch": 200, #一次数据采集的条数,建议使用默认值
        "concurrent": 10 #采集并发度,建议使用默认值
    },
    "sender":{ #nodata发送mock数据相关的配置
        "enabled": true,
        "connectTimeout": 5000, #发送数据时http连接超时时间,单位ms
        "requestTimeout": 30000, #发送数据时http请求超时时间,单位ms
        "transferAddr": "127.0.0.1:6060", #transfer的http监听地址,一般形如"domain.transfer.service:6060"
        "batch": 500, #发送数据时,每包数据包含的监控数据条数
        "block": { #nodata阻塞设置
            "enabled": false, #是否开启阻塞功能.默认不开启此功能
            "threshold": 32 #触发nodata阻塞操作的阈值上限.当配置了nodata的数据项,数据上报中断的百分比,大于此阈值上限时,nodata阻塞mock数据的发送
        }
    }
}

2、组件服务相关操作

  • 启动组件服务
    ./control start
  • 检验组件服务
    curl -s “127.0.0.1:6090/health”
  • 停止服务
    ./control stop
  • 查看日志服务的运行状态
    服务启动后,可以通过日志查看服务的运行状态,日志文件地址为./var/app.log。可以通过调试脚本 ./scripts/debug 查看服务器的内部状态数据,如 运行 bash ./scripts/debug 可以得到服务器内部状态的统计信息

二、gateway组件

多IDC时,可能面对 “分区到中心的专线网络质量较差&公网ACL不通” 等问题。这时,可以在分区内部署一套数据路由服务,接收本分区内的所有流量(包括所有的agent流量),然后通过公网(开通ACL),将数据push给中心的Transfer。
image.png

1、生成配置文件

  • mv cfg.example.json cfg.json

2、组件服务相关操作

  • 启动组件服务
    ./control start
    服务启动后,可以通过日志查看服务的运行状态,日志文件地址为./var/app.log。可以通过调试脚本./test/debug查看服务器的内部状态数据,如 运行 bash ./test/debug 可以得到服务器内部状态的统计信息。
  • 检验组件服务
    curl -s “127.0.0.1:6060/health”
  • 停止服务
    ./control stop

3、特别说明

gateway组件,部署于分区中。单个gateway实例的转发能力,为 {1核, 500MB内存, Qps不小于1W/s};但我们仍然建议,一个分区至少部署两个gateway实例,来实现高可用。

三、Aggregator组件

Aggregator是一个集群聚合模块。其将聚合某集群下的所有机器的某个指标的值,提供一种集群视角的监控体验。

1、生成并修改配置文件

  • mv cfg.example.json cfg.json
  • vim cfg.json,打开配置文件后,按如下介绍做按需配置:
{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6055"
    },
    "database": {
        "addr": "root:@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",
        "idle": 10,
        "ids": [1,-1], # aggregator模块可以部署多个实例,这个配置表示当前实例要处理的数据库中cluster表的id范围
        "interval": 55
    },
    "api": {
        "hostnames": "http://127.0.0.1:5050/api/group/%s/hosts.json", # 注意修改为你的portal的ip:port
        "push": "http://127.0.0.1:6060/api/push", # 注意修改为你的transfer的ip:port
        "graphLast": "http://127.0.0.1:9966/graph/last" # 注意修改为你的query的ip:port
    }
}

2、组件服务相关操作

  • 启动组件服务
    ./control start
  • 检验组件服务
    ss -tln
  • 检查日志
    ./control tail
  • 停止服务
    ./control stop

至此,open-falcon的监控常规组件就全部安装并启动完毕了。虽然是老古董,也没有zabbix一样一直锲而不舍的更新迭代,但也是值得大家一起学习和借鉴的一套技术。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论