linux企业实战 --zabbix定义

我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能,而zabbix就可以做到这些,除了zabbix,你可能还听说过cacti、nagios、ganglia等类似的监控系统,但是此处,我们只详细讲述 zabbix

1. 通过zabbix能够监控哪些硬件资源呢?

理论上来说,只要是与我们的业务有关的硬件资源,都应该被监控,比如主机、交换机、路由器、UPS等等,但是,监控它们的前提是能与它们进行通讯,那么问题来了,由于硬件的不同,导致我们无法使用统一的方法去监控他们,这个时候,就需要监控程序有一定的通用性,或者说,监控程序需要能够与多种硬件设备通讯,才能满足我们的监控需求

eg: 如果被监控的对象是一台安装了linux操作系统的服务器,那么我们可以通过ssh或者telnet这种远程工具与被监控对象建立起通讯的通道,可是如果被监控的对象是一台安装了其他操作系统的服务器呢,更甚之,被监控的对象并不是服务器,而只是一台交换机或者路由器呢,所以,zabbix如果想要能够全面的监控这些对象,则需要能够通过各种方法与它们进行通讯

2. zabbix能够支持的通讯方式,总结如下:

  • agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式
  • ssh/telnet: 通过远程控制协议进行通讯,比如ssh或者telnet。
  • SNMP: 通过SNMP协议与被监控对象进行通讯,SNMP协议的全称为Simple Network ManagementProtocol,被译为“简单网络管理协议",通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件往往都支持SNMP协议,SNMP是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式,只不过是在这些设备中内置了SNMP的agent而已,所以,大部分网络设备都支持这种协议。
  • IPMl:通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。
  • JMX:通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),监掏VM虚拟机时,使用这种方法也是非常不错的选择。

3. zabbix agent

一般情况下,我们将zabbix agent部署到被监控主机上,由agent采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为zabbix server,zabbix server将从agent端接收到的信息存储于zabbix的数据库中,我们把zabbix的数据库端称为zabbix database,如果管理员需要查看各种监控信息,则需要zabbix的GUl,zabbix的GUI是一种Web GUl,我们称之为zabbix web,zabbix web是使用php编写的,所以,如果想要使用zabbix web展示相关监控信息,需要依赖LAMP环境,不管是zabbix server,或是zabbix web,他们都需要连接到zabbix database获取相关数据。
在这里插入图片描述

当监控规模变得庞大时,我们可能有成干上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?

如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?

其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成干上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模>庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。
在这里插入图片描述

4. 总结:

  • zabbix agent:部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。
  • zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
  • zabbix database:用于存储所有zabbix的配置信息,监控数据的数据库。
  • zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,>可以单独部署在独立的服务器上。

我们知道,agent端会将采集完的数据主动发送给server端,这种模式我们称之为主动模式,即对于agent端来说是主动的。其实,agent端也可以不主动发送数据,而是等待server过来拉取数据,这种模式我们称之为被动模式。不管是主动模式还是被动模式,都是对于agent端来说的,而且,主动模式与被动模式可以同时存在,并不冲突。管理员可以在agent端使用一个名为zabbix_sender的工具,测试是否能够向server端发送数据。管理员可以在server端使用一个名为zabbix_get的工具,测试是否能够从agent端拉取数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zabbix是一款开源的网络监控和报警系统,可以用于监控服务器、网络设备、虚拟机等。下面是Linux系统上安装Zabbix的操作步骤: 1. 安装所需软件: - 在Debian/Ubuntu系统上,使用以下命令安装所需软件: ``` sudo apt-get update sudo apt-get install apache2 mysql-server mysql-client php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap php-xmlrpc ``` - 在CentOS/RHEL系统上,使用以下命令安装所需软件: ``` sudo yum install httpd mariadb-server mariadb php php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap php-xmlrpc ``` 2. 配置数据库: - 启动并设置MariaDB/MySQL服务: ``` sudo systemctl start mariadb sudo systemctl enable mariadb ``` - 运行以下命令来设置MariaDB/MySQL的root密码和其他配置: ``` sudo mysql_secure_installation ``` - 创建一个新的数据库和用户: ``` sudo mysql -u root -p CREATE DATABASE zabbixdb character set utf8 collate utf8_bin; GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT; ``` 3. 下载和安装Zabbix Server: - 下载最新的Zabbix Server软件包: ``` wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb ``` - 安装Zabbix Server软件包: ``` sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb sudo apt-get update sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent ``` 4. 导入Zabbix数据库模板: - 运行以下命令导入Zabbix数据库模板: ``` sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | sudo mysql -u zabbixuser -p zabbixdb ``` 5. 配置Zabbix Server: - 编辑Zabbix Server配置文件: ``` sudo nano /etc/zabbix/zabbix_server.conf ``` - 修改以下参数: ``` DBHost=localhost DBName=zabbixdb DBUser=zabbixuser DBPassword=password ``` - 保存并关闭文件。 6. 配置Zabbix Frontend: - 编辑Zabbix Frontend配置文件: ``` sudo nano /etc/zabbix/apache.conf ``` - 修改以下参数: ``` php_value date.timezone Asia/Shanghai ``` - 保存并关闭文件。 7. 启动Zabbix服务: - 启动Zabbix Server和Zabbix Agent服务: ``` sudo systemctl start zabbix-server sudo systemctl enable zabbix-server sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent ``` 8. 访问Zabbix Web界面: - 打开Web浏览器,访问以下URL: ``` http://服务器IP地址/zabbix ``` - 根据安装向导完成Zabbix的初始化配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值