1. 为什么选择HertzBeat监控Linux系统
在运维领域,监控系统的重要性不言而喻。传统的监控方案如Zabbix、Prometheus虽然功能强大,但部署复杂、学习曲线陡峭。HertzBeat作为新兴的开源实时监控工具,凭借其"无Agent"的设计理念和5分钟快速上手的特性,正在改变这一局面。
HertzBeat的核心优势在于:
- 零侵入式监控:无需在被监控主机安装任何代理程序,通过SSH协议即可采集数据
- 开箱即用的模板:内置Linux全维度监控指标,包括CPU、内存、磁盘、网络等关键指标
- 可视化告警:支持阈值配置和多渠道通知(邮件、钉钉、企业微信等)
- 轻量级架构:单机版仅需Docker即可运行,资源占用极低
实际测试中,一台2核4G的虚拟机即可同时监控50+台Linux服务器,CPU占用率保持在5%以下
2. 五分钟快速部署实践
2.1 环境准备
确保具备以下条件:
- 监控服务器:可运行Docker的任意Linux/Windows主机
- 被监控Linux:开启SSH服务(默认22端口),建议使用密钥认证
- 网络互通:监控服务器能访问被监控主机的SSH端口
2.2 Docker一键部署
docker run -d -p 1157:1157 \ -e LANG=zh_CN.UTF-8 \ -e TZ=Asia/Shanghai \ --name hertzbeat \ apache/hertzbeat部署完成后访问http://服务器IP:1157,默认账号密码admin/hertzbeat
2.3 添加Linux监控
- 登录控制台 → 监控菜单 → 操作系统监控 → Linux
- 点击"新增Linux监控",填写:
- 主机IP:被监控服务器地址
- SSH端口:默认为22
- 认证方式:密码/密钥
- 采集间隔:建议生产环境设置为60秒
关键配置建议:
- 对于高安全要求环境,推荐使用SSH密钥认证
- 生产环境建议将采集间隔设置为60-300秒,避免频繁采集影响性能
- 可配置多台HertzBeat实例实现高可用
3. 核心监控指标详解
3.1 系统基础指标
| 指标组 | 关键指标 | 说明 | 告警建议阈值 |
|---|---|---|---|
| CPU | usage | 使用率 | >90%持续5分钟 |
| load | 负载 | 1分钟>核数*2 | |
| 内存 | usage | 使用率 | >90% |
| available | 可用内存 | <1GB | |
| 磁盘 | usage | 使用率 | >90% |
| io_await | IO等待 | >50ms | |
| 网络 | in_usage | 入向带宽 | >90%持续5分钟 |
3.2 高级监控配置
通过修改collector.yml可实现深度定制:
linux: disk: exclude_fs: "tmpfs|devtmpfs" # 排除临时文件系统 network: exclude_if: "lo|docker" # 排除环回和docker接口性能优化技巧:
- 对容器化环境,建议排除Docker相关指标
- 大数据集群可针对性监控HDFS、YARN等特定目录
- 高IO场景需关注
await和util指标
4. 告警配置实战
4.1 配置CPU使用率告警
- 进入"告警规则" → "新增阈值规则"
- 选择指标:
linux.cpu.usage - 设置条件:
>90持续2个周期 - 告警级别:严重
4.2 钉钉机器人集成
- 在钉钉群添加自定义机器人,获取Webhook地址
- 在HertzBeat中配置通知接收人:
alert: dingtalk: webhook: "https://oapi.dingtalk.com/robot/send?access_token=xxx" secret: "SECxxx" - 测试告警:手动触发阈值测试消息推送
告警优化建议:
- 设置分级告警(Warning/Critical)
- 配置告警抑制避免风暴
- 重要业务建议增加语音告警
5. 生产环境最佳实践
5.1 高可用部署方案
# 主节点 docker run -d --name hertzbeat-master \ -p 1157:1157 \ -v /data/hertzbeat/data:/opt/hertzbeat/data \ apache/hertzbeat # 从节点(至少2台) docker run -d --name hertzbeat-slave \ -e MODE=collector \ -e MANAGER_HOST=hertzbeat-master \ apache/hertzbeat5.2 性能调优参数
在application.yml中调整:
spring: task: execution: pool: core-size: 10 # 根据监控节点数调整 max-size: 505.3 安全加固措施
- 修改默认密码
- 启用HTTPS:
docker run -v /path/to/certs:/certspath \ -e SERVER_SSL_ENABLED=true \ -e SERVER_SSL_KEY_STORE=/certspath/server.p12 \ apache/hertzbeat - 配置IP白名单
6. 常见问题排查指南
问题1:SSH连接超时
- 检查网络连通性
- 确认SSH服务正常运行
- 检查防火墙规则
问题2:指标采集不全
- 确认账号有足够权限
- 检查
collector.log日志 - 调整采集超时时间:
linux: timeout: 30s问题3:高资源占用
- 减少非必要指标采集
- 调整采集间隔
- 升级服务器配置
经过多个生产环境验证,HertzBeat在保持轻量级的同时,能够满足企业级监控需求。某电商平台使用其监控200+节点,日均处理千万级数据点,系统稳定性达到99.99%。对于需要快速构建监控体系的中小团队,这无疑是性价比极高的选择。