跳到主要内容

Collector在线部署

在部署各语言探针前,请先部署好Collector。UniAgent和Agent Collector不再支持听云平台,如果从听云平台迁移需要重新安装。

Agent Collector(以下简称Collector)是由APM Collector、Infra Collector和12个组件探针、Guanyun Collector构成的。

12个组件探针分别是Apache HTTP Server、Nginx、MySQL、Oracle、Redis、SNMP、PostgreSQL、MongoDB、Elasticsearch、RabbitMQ、Kafka、Network组件探针,负责采集对应组件的性能数据。其中,Network组件探针负责采集HTTP、TCP、ICMP协议数据。Infra Collector负责收集和汇总UniAgent采集的主机性能数据、组件性能数据和协议数据。

Guanyun Collector负责接入Zabbix、Prometheus、OpenTelemetry等监控数据。

一套基调观云平台系统可以部署多个Agent Collector。在同一环境部署多个Collector时,必须保证多个Collector版本相同,升级Collector时要尽快升级全部的Collector以保证功能一致。

准备主机资源

部署Collector的主机推荐配置如下:

  • 操作系统:需要systemd服务,Linux发行版建议: CentOS 7及以上、 Redhat 7及以上、Ubuntu 18及以上
  • CPU:4 Core及以上
  • 物理内存:8GB及以上

单个Collector每秒可以处理的trace数量和trace内span的数量有关系,单个trace内span数量越多,需要的计算资源就越多。部署在4 Core、8GB机器上的Collector通常可以承受4000TPS的trace数据。

CPU使用情况还和Collector相关的应用实例数量有关系,应用实例数量越多,需要的计算资源就越多。

在实践中,我们推荐按照以下公式计算需要部署的Collector数量:

Collector数量 = Max(应用实例总数/100, 一天内TPS的峰值/4000) + 1

环境信息确认

⚠️ 确认平台服务器和Collector所部署的服务器网络是否通畅

⚠️ 确认Collector部署的服务器CPU是ARM64还是x86_64架构,在安装页面选择和服务器CPU架构一致的版本。

⚠️ 在Collector服务器端的操作都需要使用root权限

开通网络策略(演示)

⚠️ 下面是演示的IP地址和端口,请根据实际项目内的地址和端口信息开通网络策略。

collector-network-4.0.png

源地址目标地址开通端口说明
192.168.5.2(Collector)192.168.5.1(观云平台)80Collector安装、上传数据到平台
192.168.5.3(业务应用)192.168.5.1(观云平台)80探针在线安装(如果不开通此网络策略,也可以将安装包复制到服务器上离线安装)
192.168.5.3(业务应用)192.168.5.2(Collector)7665,7666后端应用探针推送数据到Collector, APM Collector使用7665端口, Infra Collector使用7666端口
192.168.5.3(业务应用)192.168.5.2(Collector)7667或其他端口接入OpenTelemetry Trace数据需要开通7667端口,接入Prometheus Write数据需要开通其他端口,可自定义配置
观云报表用户192.168.5.1(观云平台)80平台报表访问

观云平台默认使用 80 端口对外提供服务,支持通过 Ingress 配置调整对外访问端口。具体配置方法详见平台部署文档。

部署步骤

  1. 登录平台,在左侧导航栏中依次选“全部应用 > 部署状态 > Collectors管理”。

  2. 在“Collectors管理”页签的右上角单击“新增”,并配置Collector参数。

    collector-setup-4.0.png

    • 选择操作系统CPU类型:可选Linux x86_64 或Linux ARM64。

    • 选择Collector版本:私有化部署时,Collector安装包需要通过超级管理员admin登录系统,提前进行上传,才能在此处显示版本号。

    • 安装路径:路径须以/开头,路径仅允许包含字母、数字、下划线、中划线。默认安装路径是opt目录,没有特殊要求,建议不要对其进行修改。

    • ⚠️ 部署环境:用来标识Collector所在的数据中心、VPC、机房,相同部署环境的多个Collector之间会做负载均衡以及 Failover 处理,因此建议不要使用默认值。可以根据实际情况进行编写,例如:shenzheData,shanghaiData。在多个环境(例如不同机房、测试/生产)部署时,部署环境必须使用不同的值,否则会导致探针定向到错误的Collector地址无法建立连接、连接时断时续、探针获取到错误的配置、产生跨机房或网段的网络流量等各种故障。

    • ⚠️ Collector多网卡:当Collector所部署到的主机对外有多个IP时,可指定使用哪个IP与UniAgent进行通信,IP地址需要与UniAgent的IP地址同网段,如果IP指定不当,可能会产生探针与Collector网络不通、产生跨网段流量等问题。

    • APM Collector:负责和APM应用探针交互,默认使用7665端口。

    • Infra Collector:负责接收Infra主机探针采集的进程、磁盘、网络等数据,默认使用7666端口。

    • Guanyun Collector:负责接收Zabbix、Prometheus、OpenTelemetry、外部数据源等数据,默认使用7667端口。

    上述3个端口如果没有特殊要求建议不要对其进行修改。如果进行修改需调整对应开通的网络策略。

  3. 下载Collector安装脚本。

    • 方法一:单击点击生成,系统会生成一条命令,单击右侧的copy按钮后,在目标服务器上执行这条命令,Token有效时间是10分钟,失效后不能将执行命令,需刷新页面,获取新的命令。

    • 方法二:网络不通时,可直接单击右侧下载按钮下载安装脚本,并将安装脚本传到目标服务器。

  4. 安装Collector。

    执行上面步骤下载的安装脚本,由于需要在系统中安装自启动服务,所以需要root权限进行安装。

    如果需要指定安装参数,执行 安装脚本.sh --help 查看支持的安装参数。

    --install-path=/path/to            If the path does not exist, it will be created automatically.
    --runas-user=<user> The user must exist; if not, it needs to be manually created.
    --runas-group=<group> Optional. It will be the same as the user name when empty.
    --set-license_key=<value> Set license_key value in collector.yaml
    --set-zone_name=<value> Set zone_name value in collector.yaml
    --set-collector_ip=<value> Set collector_ip value in collector.yaml
    --set-apm_enabled=<true/false> Set apm_enabled value in collector.yaml
    --set-apm_port=<value> Set apm_port value in collector.yaml
    --set-apm_jvm_args="<jvm args>" Set apm_jvm_args value in collector.yaml
    --set-infra_enabled=<true/false> Set infra_enabled value in collector.yaml
    --set-infra_port=<value> Set infra_port value in collector.yaml
    --set-guanyun_enabled=<true/false> Set guanyun_enabled value in collector.yaml
    --set-guanyun_port=<value> Set guanyun_port value in collector.yaml
    --set-proxy_address=<value> Set proxy_address value in collector.yaml
    --set-proxy_username=<value> Set proxy_username value in collector.yaml
    --set-proxy_password=<value> Set proxy_password value in collector.yaml
  5. 验证

    安装目录默认为 /opt/tingyun-collector/

    使用以下命令查看运行状态 systemctl status tingyun-collector

    collector-status

  6. 完成部署后,在新增Collector部署页面最下方,单击查看部署状态按钮,跳转到Collectors管理页面,大约1分钟后在Collector列表中可查看新部署的Collector。

重启Collector

当修改了Collector配置后,需要重启Collector

使用以下命令重启Collector:

systemctl restart tingyun-collector

升级Collector

在平台 "全部应用 > 部署状态 > Collectors管理" 页面选择 "批量升级"

  1. 不支持跨大版本升级

    无法从 3.0 版本直接在线升级到 4.x 版本。

  2. 4.0 升级到 4.2+ 的特殊步骤

    由于 4.0 版本设计缺陷,配置无法直接升级。升级到 4.2 或更高版本时,需执行两次升级操作,才能保证 Collector 正常运行。

卸载Collector

使用以下命令卸载Collector:

sudo /opt/tingyun-collector/uninstall.sh