一、系统概述:
1)学习Linux技术,后期从事Linux运维方面的工作,作为运维人员最主要的工作职责之一:保障企业服务器、门户网站、业务系统、数据库高效、稳定的运行,一旦出现异常或者故障能够第一时间去解决和处理。
2)作为运维人员是如何第一时间去获取企业服务器、门户网站、业务系统、数据库等运行状态的呢?可以通过手工方式7x24登录、刷新和访问,还可以借助开源监控软件平台7x24x365实时监控其运行状态,一旦有故障第一时间给运维人员发送报警消息,运维人员能够第一时间解决,减少企业的损失。
3)在互联网IT企业中,目前有哪些主流的开源监控软件呢?
MRTG;
Cacti;
Nagios;
Ganglia;
Zabbix;
Prometheus;
4)Zabbix是一款开源的、免费的分布式监控平台,目前在企业中使用最多的一款监控软件,主要可以监控如下四个层面的指标:
硬件层面
Zabbix可以监控硬件设备,例如监控服务器CPU温度、风扇转速、硬盘的异常、电源的异常、机箱是否被黑客入侵等。
软件层面
Zabbix可以监控各种应用程序、软件服务,例如可以监控Nginx、Tomcat、LVS、Keepalived、MQ、ZK、MYSQL、Redis、Hadoop等服务端口、进程、运行状态、软件服务返回值、关键词。
系统层面
Zabbix可以监控Windows/Linux操作系统,例如可以监控操作系统CPU、MEM、NET、DISK、Open files、Process、User login、Load等状态、数值。
网络层面
Zabbix可以监控网络设备,例如交换机、路由器、防火墙,例如监控网络设备的入口、出口带宽、设备之间连通性、数据丢包率等。
1、从0开始构建Zabbix监控平台,首先要了解Zabbix监控平台五大组件;
Zabbix五大组件有哪些?组件之间有什么关系吗?
Zabbix五大组件有哪些,组件之间有什么关系吗?Zabbix-Web:是基于PHP语言开发的web网站程序(UI界面)主要是用于用户、管理员通过浏览器访问web平台,对zabbix监控进行查看、配置、浏览等、可以实时从后端数据库中读取监控数据,在web页面上进行展示。
Zabbix_Database:是关系型数据库系统,主要是用于存储客户端的监控数据、用户名、密码等权限、数据库软件种类:Oracle MySQL、Mariadb、Postgresql等;
ZABBIX-Server:是整个Zabbix监控的核心组件,其自身是基于C语言开发的,主要适用于监控和收集客户端的数据,并且持久化将监控数据存储到Database数据库中。
Zabbix-Proxy:是Zabbix监控平台的分布式节点,主要用于分担Zabbix Server压力,可以代替ZABBIX-Server去监控和收集客户端去监控和收集客户端的监控数据。最终将监控数据发送给zabbix-server
Zabbix_Agent:也被成为监控端,客户端服务器上部署Agent程序,通过Agent程序可以抓取本地监控数据(CPU、MEM、NET、DISK、Open files、关键词、状态码),最终监控到的数据上报给Zabbix Server。Proxy(主动模式、被动模式、均是以Agent参考)。
zabbix-server组件架构图
基于CentOS7.x Linux操作系统构建一套Zabbix监控平台,至少需要部署哪些组件呢?Zabbix-Server、Zabbix-WEB、Zabbix-Database、Zabbix-Agen;