EDAS 专有网络ECS集群应用数据采集实践
对于云上的EDAS用户来说,后端监控日志及调用链信息对定位和应用诊断及其重要,EDAS目前主要分ECS集群和K8S集群,K8S集群部署应用通过ARMS收集应用日志。ECS集群因为大部分ECS都是专有网络,因vpc天然网络环境隔离,所以EDAS针对专业网络ECS集群提供了一个特殊的解决方案:日志采集器(鹊桥)。本文将就日志采集器进行介绍和技术支持遇到的经典案例进行分享
日志采集器示意图
日志采集器分为 Server 端和 Client 端。SProxy 是安装在您应用实例上的日志采集器 Client。Cproxy是安装在EDAS后端集群。通过cproxy->sproxy->hblog 获取日志
日志采集器排查
现象:
在 EDAS 的服务中,如果获取不到数据,所有和视图以及调用链相关的服务均变得不可用;这部分功能包括监控(基础监控、服务监控),报警,调用链
重要排查方向:
1.8002和8182重要端口,安装日志采集服务器执行命令'netstat -ant|grep 8002'检测端口(8002)是否建立成功。应用服务器执行命令'netstat -ant|grep 8182'查看 8182 端口是否处于监听状态且有连接信息。
2.核实sproxy和hblog日志是否异常
默认安装目录:/root/sproxy
sproxy日志目录:/root/sproxy/log/console.log
/root/sproxy/log/error.log
hblog日志目录:/usr/alisys/dragoon/log/hblog.log
3.网络应用服务器和日志采集器的网络、日志采集器到后端cproxy的网络
4.日志采集器安装所在ecs服务器的性能,应用服务器性能
日志采集器相关问题
1.VPC 中安装日志采集器大致建议比例
• 需要根据日志量、服务器性能等综合判断,目前个人建议40-50台ECS的应用需要找一个ECS安装日志采集器
2.应用部分某种类型调用链获取不到或者监控无数据。
• 调用链和监控数据需要有访问请求流量才会产生,如果无客户访问网站或者并不是hsf等服务,则不会有数据
3.手动安装命令:
• 以北京为例 wget -q -O /root/ins.sh http://edas-bj.vpc100-oss-cn-beijing.aliyuncs.com/agent/prod/install_scripts/install_sproxy_entry.sh && sh /root/ins.sh -vpcid "客户的vpc id" 其中域名注意变化
4.日志采集器配置
配置文件是 sproxy/priv/queqiao_sproxy.config,配置内容:
{vpc_instance_id, "vpc-bpxxxxxvn"}, %% 当前sproxy所在的vpc的标识,内容为空表示使用ip地址判断
{version, "2.0.0"}, %% 当前sproxy所在的vpc的标识,内容为空表示使用ip地址判断 {cproxy_info, [{ {cproxy_addr, "100.x.x.31"}, %% 配置cproxy的地址信息 {cproxy_reg_port, 8002}, %% cproxy的监听注册端口 {cproxy_conn_retry_counts, 10000000000}, %% 每个sproxy尝试与cproxy尝试建立链接的次数 {cproxy_conn_retry_interval, 5}, %% 尝试建立链接的秒间隔 {cproxy_conn_heartbeat_interval, 20} %%保持链接, 单位秒 },{ {cproxy_addr, "100.x.x.31"}, %% 配置cproxy的地址信息 {cproxy_reg_port, 8002}, %% cproxy的监听注册端口 {cproxy_conn_retry_counts, 10000000000}, %% 每个sproxy尝试与cproxy尝试建立链接的次数 {cproxy_conn_retry_interval, 5}, %% 尝试建立链接的秒间隔 {cproxy_conn_heartbeat_interval, 20} %%保持链接, 单位秒 },{ {cproxy_addr, "100.100.19.32"}, %% 配置cproxy的地址信息 {cproxy_reg_port, 8002}, %% cproxy的监听注册端口 {cproxy_conn_retry_counts, 10000000000}, %% 每个sproxy尝试与cproxy尝试建立链接的次数 {cproxy_conn_retry_interval, 5}, %% 尝试建立链接的秒间隔 {cproxy_conn_heartbeat_interval, 20} %%保持链接, 单位秒 },{ {cproxy_addr, "100.x.x.32"}, %% 配置cproxy的地址信息 {cproxy_reg_port, 8002}, %% cproxy的监听注册端口 {cproxy_conn_retry_counts, 10000000000}, %% 每个sproxy尝试与cproxy尝试建立链接的次数 {cproxy_conn_retry_interval, 5}, %% 尝试建立链接的秒间隔 {cproxy_conn_heartbeat_interval, 20} %%保持链接, 单位秒 }] },
5.操作命令
停止: ./run_sproxy_rel.sh stop
启动: ./run_sproxy_rel.sh start
重装:sh /root/install_sp.sh -force
配置原因导致无法采集数据案例(步骤分析)
问题现象:用户正常安装采集器后,页面监控大盘数据还是无法查看,具体现象如截图:
排查步骤:
1.登录服务器核实8182端口是否建立成功,netstat -ant|grep 8182
2.根据问题截图确认了应用服务器的安全组配置,确认安全组对采集器放开了8182端口(排出网络原因)
3.登录采集器服务器 执行 netstat -ant|grep 8002没有建立连接
4.定位是否没有成功安装采集器,重新重新安装后,再次确认8002没有建立连接。
5.定位sproxy日志信息, 查看/root/sproxy/log/console.log 发现报错提示cproxy地址127.0.0.1链接失败
6.日志采集器应该是后端服务器,不应该是本地ip的,核实queqiao_sproxy.config配置cproxy的地址错误
解决方案:
1、保留原有配置mv queqiao_sproxy.config queqiao_sproxy.config.bak
2、复制sproxy/priv下queqiao_sproxy_hz文件,新命名queqiao_sproxy.config: cp queqiao_sproxy_hz.config queqiao_sproxy.config
3.停止重启采集器 ./run_sproxy_rel.sh stop && ./run_sproxy_rel.sh
正常现象
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ThinkPHP 6.0.2 版本发布——2020 新年快乐!
V6.0.2版本发布,祝大家2020新年快乐! 本次更新包含一个可能的Session安全隐患修正,建议更新。 主要更新: 改进设置方法后缀后的操作名获取问题 修正optimize:schema指令 修正Request类inputData处理 改进中间件方法支持传多个参数 修正sessionid检查的一处隐患 完善对15位身份证号码的校验 增加远程多对多关联支持 增加MongoDb的事务支持(mongodb版本V4.0+) 改进insertAll的replace支持 安装和更新 V6版本开始仅支持Composer安装及更新,支持上个版本的无缝更新,直接使用 composer update 更新到最新版本即可。 如果需要全新安装,使用: composer create-project topthink/think tp 官方文档 官方6.0完全开发手册 6.0入门必读教程
- 下一篇
EMR弹性低成本离线大数据分析
场景描述 布式计算框架系统分别为Hadoop、Spark和Storm, Hadoop可以运用在很多商业应用系统,可以轻松集成结构化、半结构化以及非结构化数据集,Spark采用了内存计算,允许数据载入内存作反复查询,融合数据仓库、流处理和图形计算等多种计算范式,Spark能够与Hadoop 很好地结合,Storm用于处理高速、大型数据流的分布式实时计算系用,为Hadoop添加可靠的实时数据处理能力。海量离线数据分析可以应用于多种商业系统环境,例如电商海量日志分析、用户行为画像分析;科研行业例如海量离线计算分析和数据查询;游戏行业的游戏日志分析、用户行为分析。 方案优势 高性能、低成本 快速部署 高弹性 多种计算模式 无缝对接开源生态 一站式管理平台 产品列表 E-MapReduce EMR 日志服务 SLS 对象存储 OSS 弹性伸缩服务 ESS 抢占式 ECS 实例 直达最佳实践 》》
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池