如何监控分散在不同的局域网内的服务器和网络设备?

IT狂人日志 2023-07-30 16:21:48

在IT运维工作中,监控的重要性,想必不用我再多说什么了,毕竟谁都想及早发现故障,有效的监控,总比对着服务器和网络设备烧香、跪拜来得靠谱吧。

而作为一个IT外包服务公司,由于需要监控的服务器和网络设备比较多,而且分布在众多的局域网内,所以分布式的监控,肯定是非常必要的,当然也同样适用于拥有多地分公司的集团企业。

我们的做法是,在公有云租赁一台云主机,部署Zabbix Server,最初监控的设备比较少的时候,直接在客户的防火墙或者路由器上开放相应的端口,然后Zabbix Server逐一添加被监控设备就行了。

但是,随着需要监控的设备越来越多,这种方式显然跟不上节奏了,所以不得不开始部署分布式的Zabbix。

其方法就是:在内网部署Zabbix Proxy,来代表云端的Zabbix server在本地收集数据,然后将数据统一上报给云端的Zabbix server。

这种方法,有一个非常显著的优势,就是不再需要被监控的客户拥有公网固定IP,只要有普通的宽带就可以了。

还有就是,proxy 只需要一个到达Zabbix server的TCP连接即可,路由器仅需配置一条端口就可以了,防火墙的话,当然还需要一条放行规则。

Zabbix Server的安装和配置,前面已经有文章写过了,所以就不再重复了, 下面以Centos系统为例,讲解一下Zabbix Proxy的安装和配置。

安装mysql数据库

yum install mysql-community-server -y

如果报错 则用yum install mysql-community-server --nogpgcheck -y

启动mysql服务并设置开机自启

查看mysql初始密码

mysql -u root -p ,然后输入初始密码

修改mysql初始密码

alter user 'root'@'localhost' identified by 'password';

至此mysql安装成功。

2、部署Zabbix Proxy

步骤一  Install Zabbix repository

# rpm-Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm

# yum clean all

步骤二  Install Zabbix proxy

# yum install zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

步骤三  创建初始数据库

在数据库主机上运行以下代码。

# mysql -uroot -p

Password

mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;

mysql> create user zabbix@localhost identified by 'password';

mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;

mysql> set global log_bin_trust_function_creators = 1;

mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy

等待一段时间后,导入数据库成功。

# mysql -uroot -p

password

mysql> set global log_bin_trust_function_creators = 0;

mysql> quit;

步骤四 配置Zabbix proxy的数据库文件

编辑配置文件 /etc/zabbix/zabbix_proxy.conf

主要是填写云端Zabbix Server的弹性IP,以及Zabbix Proxy数据库对应的密码。

修改完毕后保存退出。

步骤五 启动zabbix-proxy服务,并设置为开机自启动。

# systemctl restart zabbix-proxy

# systemctl enable zabbix-proxy

查看zabbix-proxy服务

# systemctl status zabbix-proxy

正确情况,此时如下图所示

Zabbix-proxy部署到此成功。

3、端口映射及防火墙安全策略。

Proxy默认聆听端口是10051,由于Server在云端,所以需要将内部10051端口映射到公网,如果是防火墙的话,当然还需要匹配的安全策略,这个在之前已经写过很多教程了,就没必要重复了,有需要的朋友,可以翻看我之前写的文章。

在zabbix-server服务器上添加proxy和被监控的设备

被监控的内网设备,处于一个拨号上网的宽带下,没有固定的公网IP,所以选择主动模式,意思就是proxy主动向云端的server报送数据。

举例,华为防火墙监控参数配置如下图所示:

在云端的Zabbix Server上添加被监控的华为防火墙:

下面这个图片,是云端Zabbix Server通过端口映射的方式直接监控到内网的服务器,以及Proxy模式监控内网服务器的对比,从图片中可能看到,无论采购哪种方式,监控到数据是一样的。

显然,需要监控的设备分散在不同的局域网内的话,显然是分布式(即Proxy模式)更方便、更有优势,也在相当程度上,减轻了服务器的负担。

1 阅读:13

IT狂人日志

简介:网络工程师,从事IT行业20年,写点原创技术类文章