更新时间:2024-11-05 GMT+08:00
公网如何接入APM
前提条件
- 已购买华为云弹性云服务器ECS作为跳板机。
- 弹性云服务器已绑定弹性IP地址。
- 推荐CentOS 6.5 64bit及其以上版本的镜像, 最低规格为1vCPUs | 1GB,推荐规格为2vCPUs | 4GB。
- 推荐使用iptables作为跳板机转发实现。
操作步骤
请先在华为云上购买一台弹性云服务器作为跳板机,然后执行如下操作。
- 登录弹性云服务器,修改跳板机ECS的安全组规则。
- 在ECS详情页,单击安全组页签,进入安全组列表页。
- 单击具体的安全组名,单击“更改安全组规则”,进入安全组详情页。
- 在该安全组详情页,单击“入方向规则 > 添加规则 ”,按表1添加安全组规则。
- 获取APM上报地址,参见探针接入地址。
- 以root用户登录跳板机,执行iptables转发命令。
如果没有iptables相关服务,需要先安装,命令如下。
yum install iptables-services systemctl stop firewalld.service systemctl disable firewalld.service systemctl mask firewalld.service
- 开启数据转发功能。
# 编辑文件 vim /etc/sysctl.conf # 增加一行 net.ipv4.ip_forward=1 # 使数据转发功能生效 sysctl -p
- 将本机(跳板机)端口的数据转发到上报到APM的端口。
# 编辑文件 vim /etc/sysconfig/iptables # *filter新增 -A INPUT -p tcp -m state --state NEW -m tcp --dport 41333 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 41335 -j ACCEPT # *新增NAT规则 -A OUTPUT -p tcp --dport 41333 -j DNAT --to-destination {上报到APM的主机IP}:41333 -A PREROUTING -p tcp --dport 41333 -j DNAT --to-destination {上报到APM的主机IP}:41333 -A POSTROUTING -d {上报到APM的主机IP}/32 -p tcp --dport 41333 -j SNAT --to-source {跳板机ip} -A OUTPUT -p tcp --dport 41335 -j DNAT --to-destination {上报到APM的主机IP}:41335 -A PREROUTING -p tcp --dport 41335 -j DNAT --to-destination {上报到APM的主机IP}:41335 -A POSTROUTING -d {上报到APM的主机IP}/32 -p tcp --dport 41335 -j SNAT --to-source {跳板机ip} # 如果存在以下规则,需要删除 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
- 重启iptables。
systemctl restart iptables
- 验证端口转发是否成功。
curl -kv https://{跳板机ip}:41333 curl -kv https://{跳板机ip}:41335
- 开启数据转发功能。
- 修改javaagent中的apm.config配置文件。
master.address=https://{跳板机公网ip}:41333 access.address={跳板机公网ip}:41335
- 重启应用。
父主题: 接入APM