如何使用zabbix监控公网环境的云服务器(从小白到高级技术顾问!!!)
问题:当我们在本地部署了一台Zabbix服务器后,想要对云上的服务器做监控。但是zabbix一个在内网,云服务器一个在公网,网络环境不同该如何解决?能否检测到云服务器数据?
思路:使用NAT技术,将本地的zabbix服务器的内网地址映射成一个固定的公网地址解决网络问题。(NAT:网络地址转换技术)
步骤:出口防火墙–NAT地址转换–云服务器安全组放通端口-云服务器安装zabbix客户端-zabbix管理页面创建主机-查看监控数据
环境介绍:
zabbix服务器:zabbix4.0 内网-IP-172.16.96.x
云服务器:windows2008R2 公网-IP-129.28.xx.xx
NAT设备:深信服防火墙
宽带:企业专线,附送了固定IP
(补充:如果不是专线或者是ADSL也没有关系,一样会得到一个公网IP,记住不要关机zabbix)
操作流程:
一、网络地址转换,先解决内网zabbix服务器需要一个公网ip
1.远程登录zabbix服务器,输入命令
curl icanhazip.com #当前zabbix是可以上外网的,这条命令获取它的公网IP
可以看到,已经得到一个222.xxx.xxx.82的ip,这就是公网地址,把它先记下来,等会需要用。
如果网络环境是ADSL或者没有固定IP地址,就把这个IP记下来。只有不关机或者路由器不断网,也可以用一阵,待会就直接用这个IP来安装,与做策略。
2.网络设备上设置NAT,我这里是深信服防火墙上设置(其他设备,百度一下)
登录深信服防火墙,点击”策略”–“地址转换”
新建一个策略,转换内网zabbix服务器。
地址输入刚才的公网ip(有公网地址可以使用也可以)
端口设置10050-10051(zabbxi客户端端口号:10050;服务器端:10051)
二、登录云服务器管理控制台,设置安全组规则(防火墙),允许10050端口放行
这里模拟一下腾讯云的操作,顺便讲一下云服务器端口设置。
云上的服务器,一般是windwos跟linux系统,两个系统里面会自带一个防火墙。这里的防火墙建议关闭,因为外部在控制台还有一个防火墙(也叫安全组),一般用外面的做规则。
在云服务器的控制台,有一个叫安全组的,其实就是防火墙。基本上所有平台都有这项(见过腾讯、阿里、天翼云都有)。
安全组里面规则,一般设置入站规则,出站全部放通。入站规则,自带默认拒绝所有,所以当白名单处理,添加一个端口一条地址才会能访问。
一般情况下,企业里面,有出口的情况都是针对出口设置,这也是专线的好处。0.0.0.0/0是放开所有,基本等于暴露在公网上,是非常危险的,不建议用。
登录腾讯云管理控制台-点击实例-安全组-入站规则
添加一条规则,端口10050,地址设置刚才的IP或者内部网络出口
三、远程云服务器安装zabbix客户端
安装截图:注意安装的时候,填写中心地址的时候,填写刚才地址转换的公网地址:222.xxx.xxx.82
四、zabbix管理界面,添加监控主机,刚才的云服务器
登录zabbix管理界面,点击“配置”-“主机”-“创建主机”;创建或者有之前主机就克隆一个。
创建主机截图:
五、检查数据是否监控
监控项跟模板设置滤过,接下来配置好了,查看主机状态是否正常。
主机状态:
主机最新数据:
写在结尾:
如果认真看完的同学,基本上完全了解这个思路了。其实云跟我们单位内网最大的区别就是网络环境问题,解决了网络环境就跟部署在是本地一样的。
其实云端应用或者说云端开发端口,云端跟本地数据交互都是一个思路,1是解决内网与云服务器的通信,2是必要的时候使用内网端口映射,或者地址转换这种技术,让内网主机在公网能够识别,3是云服务器一定先开放端口,先设置安全组,不然网络一定不通
后续会写个端口检查的博客,测试网络端口的连通性。