1.Open-falcon-基础系列(三)-各个组件详解及使用
2.Mt-Falcon——Open-Falcon在美团点评的源码应用与实践
3.Open-falcon-基础系列(二)-安装与部署(单机版)
Open-falcon-基础系列(三)-各个组件详解及使用
Open-falcon-基础系列(三)-各个组件详解及使用
Open-falcon是一个监控系统,由多个组件协同工作,下载确保数据采集、源码转发、下载存储和报警处理的源码高效运行。以下是下载presto 源码各个组件的详细说明:Agent
Agent负责实时采集机器性能指标,如CPU使用率和磁盘I/O,源码并每秒将数据推送给Transfer。下载它提供一个HTTP接口供用户手动推送数据,源码通过长连接快速转发。下载
部署要求:在每个监控机器上安装,源码资源消耗小。下载
配置:通过cfg.json文件,源码可基于cfg.example.json修改。下载
验证:通过检查日志和端口访问,源码或使用--check参数检查。
/v1/push接口用于数据转发。
Transfer
Transfer接收Agent的数据,根据哈希规则分发至Graph和Judge等组件。部署包括配置、启动、检验和停止。试看二十秒 源码
配置文件默认为cfg.json。
部署后,需调整Agent配置指向Transfer。
Graph
存储绘图数据,处理查询请求和数据返回。与Transfer和API交互,部署和配置同上。
API
提供统一的REST API接口,处理查询请求并返回数据。配置时需确保与transfer配置一致。
Heartbeat Server (HBS)
心跳服务器收集agent信息,更新主机数据库,支持自动发现和配置管理。负责主机信息同步,监控agent状态。
部署时考虑水平扩展,例如部署多个实例以提高可用性。
Judge
用于判断告警,从Transfer接收数据并处理。设计为数据分片后的处理,减轻对Portal DB的linux下源码编译压力。
Alarm
处理报警事件,从Redis读取事件并发送通知。支持自动化处理和报警合并。
Alarm-Manager
管理告警数据,提供告警查询和故障处理功能。提供告警事件的记录、查询、管理等功能。
Task
辅助模块,包括定时任务和监控组件的自监控功能。负责配置更改和组件状态监控。
所有组件的配置更改和部署调整,均应在各自的cfg.json文件中完成。Mt-Falcon——Open-Falcon在美团点评的应用与实践
前言 监控系统在业务系统中至关重要,它能实时监测机房、网络、服务器、应用状态,并在出现异常时及时响应。美团点评初期使用Zabbix监控系统,优化后可支持数千台机器、clrc632 源码数百万监控项,但随着业务扩展,Zabbix暴露问题。为寻找替代方案,我们选择了开源的Open-Falcon。 在引入Open-Falcon基础上,我们对系统进行了改进,本文将详细介绍这些改进。 Open-Falcon架构图 此图为Open-Falcon架构示意图,展示了系统组件间的关系。 Mt-Falcon架构图 Mt-Falcon对Open-Falcon进行了改造,主要改进包括:报警禁用、ACK、升级、分布式消费报警任务、支持OpenTSDB存储、字符串监控、多条件监控、索引信息存储优化等。 改进列表 一、Agent改造提升数据转发性能:采用异步处理,乐为导航源码每0.5秒批量上报最多1万条监控项,确保性能稳定。
网卡流量标识:自动识别网卡类型(千兆、万兆、双千兆、双万兆),配置监控策略时可设置不同阈值。
进程级别coredump监控:检测指定进程core时上报特定指标,配置报警策略。
日志自动切分:引入Go-Logger库自动按大小或日期切分日志,避免大日志量问题。
解决hostname重复:从/etc/sysconfig/network文件获取hostname,避免误操作导致的监控误报。
支持Agent存活监控:通过心跳连接更新心跳时间戳,检测Agent实例存活状态。
二、HBS改造内存优化:使用RPC+MessagePack替代JSON-RPC,提升编码效率,减少内存占用。
查询监控策略:提供接口查询指定机器的监控策略列表。
模板继承问题修复:改进聚合逻辑,确保所有子模板监控策略生效。
报警禁用:支持5种类型禁用,避免误报警。
三、Transfer改造Endpoint黑名单功能:禁用特定Endpoint或监控指标,避免数据过多影响性能。
指定监控项发送到OpenTSDB:重要监控指标直接保存至OpenTSDB,便于长时间查询。
四、Judge改造内存优化:仅缓存配置策略的监控项数据,提高性能。
报警状态持久化:报警事件信息持久化存储,避免重启重复报警。
报警升级、ACK功能:实现报警等级调整和确认。
五、Graph改造索引存储优化:采用Redis+Tair,提高性能。
过期索引自动清理:监控项索引超过1个月未上报自动删除,并在重新上报时重建。
历史数据查询优化:解决小时内数据查询误差问题。
六、Alarm改造报警合并、发散、白名单、分布式消费、报警方式调整、持久化与统计、报警红盘、模板负责人选项、基础监控自动报警。
七、Portal/Dashboard改造服务树绑定、权限认证、操作日志、shift多选、颜色调整、索引自维护、Dashboard刷新、screen中单图刷新、按环境应用监控模板。
八、新增模块Ping监控、字符串监控、同比环比监控、多条件监控。
总结 Mt-Falcon全面替换Zabbix,接入美团点评所有机器,监控项数量超过两亿,数据上报QPS达百万级。下一步重点是监控融合统一、配置页面优化、自动报警处理与数据运营。 我们致力于推动Open-Falcon社区发展,部分改进已合并至官方版本。Open-falcon-基础系列(二)-安装与部署(单机版)
在安装与部署Open-falcon单机版过程中,首先确保Redis和Mysql已正确安装并运行。可以通过yum安装或自行安装,安装后确认服务运行无误。
接着,初始化MySQL表结构。成功后,你将看到特定的数据库已创建。
后端部署阶段,由于使用Go语言编写,需先安装Go环境。成功安装后,你会收到相应提示。然后,使用git clone命令获取项目,检查目录中是否出现"go"文件夹。
项目编译打包成功后,创建工作目录并解压二进制包。启动所有后端组件,记得使用命令行输入参数,如“real_user”作为数据库登录名,“real_password”为数据登录密码。
前端部署完成,需注意dashboard用户管理。注册账号后,为防止未经授权的注册,需修改api组件的配置文件cfg.json,将signup_disable配置项设置为true并重启API。使用完毕后,再将配置选项恢复。
至此,单机版本的Open-falcon安装部署已完成。最后,通过IP:访问即可。后续将详细介绍dashboard功能。
感谢阅读,如觉得内容有价值,请关注、点赞、收藏,您的支持是推动我继续分享的动力。期待与您的交流与互动!