开发者社区> 邓智良> 正文

EDAS 专有网络ECS集群应用数据采集实践

简介:
+关注继续查看

对于云上的EDAS用户来说,后端监控日志及调用链信息对定位和应用诊断及其重要,EDAS目前主要分ECS集群和K8S集群,K8S集群部署应用通过ARMS收集应用日志。ECS集群因为大部分ECS都是专有网络,因vpc天然网络环境隔离,所以EDAS针对专业网络ECS集群提供了一个特殊的解决方案:日志采集器(鹊桥)。本文将就日志采集器进行介绍和技术支持遇到的经典案例进行分享

日志采集器示意图

日志采集器分为 Server 端和 Client 端。SProxy 是安装在您应用实例上的日志采集器 Client。Cproxy是安装在EDAS后端集群。通过cproxy->sproxy->hblog 获取日志
image

image

日志采集器排查

现象:
在 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.日志采集器配置

image

配置文件是 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

配置原因导致无法采集数据案例(步骤分析)

问题现象:用户正常安装采集器后,页面监控大盘数据还是无法查看,具体现象如截图:
image

排查步骤:
1.登录服务器核实8182端口是否建立成功,netstat -ant|grep 8182
2.根据问题截图确认了应用服务器的安全组配置,确认安全组对采集器放开了8182端口(排出网络原因)
image

3.登录采集器服务器 执行 netstat -ant|grep 8002没有建立连接
image

4.定位是否没有成功安装采集器,重新重新安装后,再次确认8002没有建立连接。

image

5.定位sproxy日志信息, 查看/root/sproxy/log/console.log 发现报错提示cproxy地址127.0.0.1链接失败
image

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

正常现象

image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用飞天加速计划·高校学生在家实践阿里云ECS服务器的体验
知道你为什么会看到这个页面,既来之,则安之,简单认识一下吧
150 0
【飞天加速计划·高校学生在家实践】ECS使用体验
本文描述了使用ECS的起因和了解到飞天加速计划的经过,然后分享了ssh这一登陆云服务器的方便技能和docker这一安装软件的优秀方式,最后收获总结。
107 0
《企业级基础设施专场-基于ECS构建稳定、高业务弹性、低成本的企业应用实践解析_胡晓博》电子版地址
企业级基础设施专场-基于ECS构建稳定、高业务弹性、低成本的企业应用实践解析_胡晓博
25 0
云服务器日志备份的两种思路实践
## 1 背景 最近在做Incountry产品的SRE工作,由于线上的vault audit日志较大,导致磁盘利用率不足,需要对vault日志进行备份后并在机器上删除。初步考虑通过OSS来备份日志,以实现对日志文件备份的需求。 ## 2 思路一:通过ECS挂载OSS实现日志备份 参考文档:[通过云存储网关挂载OSS](https://help.aliyun.com/document_detail
129 0
ecs_安全组_vpc网络
ECS、ECS组件:安全组作用,网络规划、地域、可用区
257 0
EDAS 专有网络ECS集群应用数据采集实践
对于云上的EDAS用户来说,后端监控日志及调用链信息对定位和应用诊断及其重要,EDAS目前主要分ECS集群和K8S集群,K8S集群部署应用通过ARMS收集应用日志。ECS集群因为大部分ECS都是专有网络,因vpc天然网络环境隔离,所以EDAS针对专业网络ECS集群提供了一个特殊的解决方案:日志采集器(鹊桥)。本文将就日志采集器进行介绍和技术支持遇到的经典案例进行分享
291 0
阿里云ECS经典网络和专有网络有什么区别?
阿里云面向客户提供的网络类型服务有经典网络和专有网络两种,但这两者有什么区别呢?阿里官网给的解释是: 经典网络:IP地址由阿里云统一分配,配置简便,使用方便,适合对操作易用性要求比较高、需要快速使用 ECS 的用户。
9693 0
经典网络的ECS和专有网络的ECS跨账号内网互通
经典网络ECS和专有网络ECS需要实现跨账号内网互通时。常规的做法是,通过VPN的形式,在实现效果方面,VPN链路的稳定性受到公网抖动的影响,稳定性较差;在实现成本方面,需要购买额外的VPN服务。 而本文介绍的方案,通信链路走的是阿里云的高速内网,底延时高质量;并且,需要互通的ECS在同地域的情况下,零费用,零业务侵入。
3186 0
【新功能】ECS控制台迁移专有网络支持安全组克隆
目前,在操作迁移实例到专有网络时,ECS控制台支持一键将实例的经典网络安全组克隆到专有网络。 适用条件 使用主账号操作,需要保有经典网络实例。 功能特点 在进行迁移经典网络实例到专有网络时,点击克隆实例的经典网络安全组到专有网络,克隆完成后,克隆的专有网络安全组回自动添加到已选择的迁移后安全组列表中。
1818 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ECS全知道(上) 实例+计费
立即下载
ECS全知道(下) 镜像与快照+块存储、安全、网运维与监控
立即下载
冬季实战营第一期:从零到一上手玩转云服务器
立即下载