deepflow-agent在传统服务器(虚机、物理机)上的部署方法

本文主要说明使用deepflow监控非k8s服务器的情况,应用场景是,deepflow-server已经具备,在其他服务器上安装部署deepflow-agent并连接到已有的deepflow-server(可能不在同一台主机)。

大概部署拓扑图:

1、部署deepflow-server

关于deepflow-server,该组件部署方式参考deepflow官方文档:

All-in-One 快速部署 | DeepFlow 文档

deepflow-server是必须部署在k8s之上,这是官方硬性规定,flow-agent可以部署在任意环境。 

2、添加主机网段信息(一般不需要此操作,server默认包含大多数网段,不涉及的可忽略此步骤)

需要注意的是,你部署的agent所在主机,必须在你部署的deepflow-server管辖的网段之内,deepflow-server默认支持管辖下列网段的服务器:

 local_ip_ranges:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
- 169.254.0.0/15
- 224.0.0.0-240.255.255.255

如果你需要部署agent的主机网段不在上述列表内,请自行在该配置中添加

修改 values-custom.yaml 自定义配置文件(该文件默认在/root/deepflow/values-custom.yaml):

# add
configmap:
  server.yaml:
    controller:
      genesis:
        local_ip_ranges:
        - 10.0.0.0/8
        - 172.16.0.0/12
        - 192.168.0.0/16
        - 169.254.0.0/15
        - 224.0.0.0-240.255.255.255
        # - 7.8.0.0/16  # 添加主机的网段信息
      trisolaris:
        trident-type-for-unkonw-vtap: 3  # required 

修改上述文件后需要重启deepflow-server使配置生效

执行:

helm upgrade deepflow -n deepflow -f values-custom.yaml deepflow/deepflow

kubectl delete pods -n deepflow -l app=deepflow -l component=deepflow-server

3、部署虚机上的deepflow-agent

3.1  创建主机域名

执行下列命令,其中-i参数xx.xx.xx.xx替换为实际的deepflow-server主机IP

unset DOMAIN_NAME
DOMAIN_NAME="legacy-host"  # 可随意设置域名: domain name

cat << EOF | deepflow-ctl -i xx.xx.xx.xx domain create -f -
name: $DOMAIN_NAME
type: agent_sync
EOF

如果不添加-i参数指定server IP,将会使用默认参数(本机IP),并提示:curl (http://localhost:30417/v1/domains/) failed, (Post "http://localhost:30417/v1/domains/": dial tcp localhost:30417: connect: connection refused)

该指令执行成功,将会返回一些列信息,类似:

{
    "DATA": {
        "AZ_COUNT": 0,
        "CLUSTER_ID": "",
        "CONFIG": {
            "controller_ip": "deepflow-server-IP",
            "region_uuid": "ffffffff-ffff-ffff-ffff-ffffffffffff"
        },
        "CONTROLLER_IP": "deepflow-server-IP",
        "CONTROLLER_NAME": "server-host",
        "CREATED_AT": "2023-09-15 10:39:42",
        "DISPLAY_NAME": "5260639a-fe28-4867-91e6-cf3dc40180f3",
        "ENABLED": 1,
        "ERROR_MSG": "",
        "ICON_ID": 0,
        "ID": "",
        "K8S_ENABLED": 1,
        "LCUUID": "caece4af-ff4f-5c2d-8807-ec4be44e4250",
        "NAME": "legacy-host",
        "POD_CLUSTERS": null,
        "REGION_COUNT": 0,
        "STATE": 1,
        "SYNCED_AT": "",
        "TYPE": 23,
        "VTAP_CTRL_IP": "",
        "VTAP_CTRL_MAC": "",
        "VTAP_NAME": ""
    },
    "DESCRIPTION": "",
    "OPT_STATUS": "SUCCESS"
}

3.2 创建采集器组(group)

每个agent都属于某个组(group),group可以管理一系列agent

3.2.1 创建group并获取group ID

通过下列命令创建group并查看group ID,后续会在agent配置中使用,其中xx.xx.xx.xx替换为deepflow-server所在主机的IP

unset AGENT_GROUP
AGENT_GROUP="legacy-host"  # 可随意设置group名称

# 创建group
deepflow-ctl -i xx.xx.xx.xx agent-group create $AGENT_GROUP
# 查看 agent-group ID
deepflow-ctl -i xx.xx.xx.xx agent-group list $AGENT_GROUP 

上述命令会返回group信息

NAME                                            ID
legacy-host                                     g-Hl0fKJ5xc3

3.2.2 创建采集器group配置文件 agent-group-config.yaml: 

vtap_group_id: g-Hl0fKJ5xc3 # 这里配置刚刚拿到的group ID
platform_enabled: 1

3.2.3 创建采集器group配置

将-i参数xx.xx.xx.xx替换为deepflow-server所在主机IP

deepflow-ctl -i xx.xx.xx.xx agent-group-config create -f agent-group-config.yaml

3.3 部署deepflow-agent 

3.3.1 下载deepflow-agent

curl -O https://deepflow-ce.oss-cn-beijing.aliyuncs.com/rpm/agent/stable/linux/$(arch | sed 's|x86_64|amd64|' | sed 's|aarch64|arm64|')/deepflow-agent-rpm.zip
unzip deepflow-agent-rpm.zip
yum -y localinstall x86_64/deepflow-agent-1.0*.rpm

3.3.2 修改 deepflow-agent 的配置文件 /etc/deepflow-agent.yaml 

controller-ips:
  - 10.1.xx.xx  # 配置K8S节点IP列表:
vtap-group-id-request: "g-Hl0fKJ5xc3"  # 配置3.2.1中获取的agent-group ID

3.3.3 启动 deepflow-agent  

systemctl enable deepflow-agent
systemctl restart deepflow-agent

至此,在虚机上部署deepflow-agent相关内容介绍完毕,可以在grafana上面查看是否有上述节点信息。

或者执行下列命令查看当前deepflow-server上的agent列表信息是否包含刚刚部署的节点

deepflow-ctl -i xx.xx.xx.xx agent list 

不出意外的话上述命令将会显示刚刚部署的agent,所属group为legacy-host

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值