目录
zabbix是一个监控软件,其可以监视各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。
zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作嘻嘻
zabbix agent会向zabbix server 报告可用性、完整性及其他统计信息。
web页面也是zabbix的一部分,通常和zabbix server位于同一台物理设备上,但是在特殊情况下也可以分开配置,web页面主要提供了直观地监控信息,以方便运维人员监控管理。
zabbix 数据库内存储了配置信息、统计信息等zabbix的相关内容。
zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。
zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。
zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。
zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。
硬件监控:Zabbix IPMIInterface,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等
系统监控: Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
Java监控: ZabbixJMX Interface,通过JMX进行监控,JMX (java management extensions,即iava管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。
网络设备监控:Zabbix SNMP Iterface,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。
应用服务监控:Zabbix Agent UserParameter
MySOL数据库监控: percona-monitoring-plulgins
URL监控: Zabbix Web 监控
1、主机(host)
要监控的设备,可以由IP或者是主机名(必须可解析) 指定
2、主机组 (host group
主机的逻辑容器,包含主机和模板,主机组通常在给用户或者是用户组指派监控权限时使用。
3、监控项 (item3
个特定监控指标的相关数据,比如内存的大小、CPU的使用率,甚至是服务的运行状态等等。监控项数据来源于被监控对象,并且每个监控项都由一个key来标识。
4、触发器(trigger)
一个表达式,用于评估监控项的值是否在合理的范围内。当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常
5、事件 (event)
触发器触发的一个特定事件,或者是zabbix定义的一个自动上线注册主机的事件
6、动作 (action)
指根据配置,zabbix对于触发器触发的特定事件进行处理的具体措施,如执行某个脚本,或者是向管理员邮箱发送邮件等等。
7、报警升级 (escalation)
发送警报或者是执行远程命令的自定义方案
8、媒介(media)
发送通知(告警)的手段,如微信、邮件、钉钉等等。
9、通知(notification)
通过指定的媒介,向用户发送的有关事件的信息
10、远程命令(remote command)
指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。
11、模板(template)
用于快速定义被监控主机的预设条目集合,通常包括了监控项、触发器、应用等,模板可以直接链接至某个主机。
12、应用(application)
一组监控项的集合。
13、web场景(web scennario
用于检测web站点可用性的一个或多个HTTP请求
14、前端(frontend)
zabbix的web接口。
这些术语,我们都会在后文中直接使用而不过多赘述,在企业技术交流中也会经常使用
zabbix最简单的架构,监控设备和被监控之间的直接相连,zabbix_server 和zabbix_client之间直接进行数据交互
proxy是连接server和client之间的桥梁,其本身不存放数据,只是将zabbix_agent端发来的数据暂存,然后再交给server。这种架构一般用于跨机房、跨网络的中型网络架构。
在server_proxy_client架构中,server设备的宕机会导致整个系统瘫痪而无法正常工作。
三、master_node_client架构
master_node_client架构是zabbix最复杂的架构。一般用于跨机房、跨网络、监控设备较多的大型网络架构。与master_proxy_client架构i相比,master_node_client架构的主要区别在于node与proxy上
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
vim zabbix.repo
[zabbix-frontend]
enabled=1
yum install -y epel-release centos-release-scl 安装依赖源
yum install -y zabbix-apache-conf-scl 用于连接apache
yum install -y zabbix-web-mysql-scl 用于连接数据库
yum install -y httpd web
yum install -y mariadb-server mariadb 数据库
yum install -y zabbix-server-mysql zabbix server (服务)
yum install -y zabbix-agent zabbix agent(客户)
systemctl start mariadb 启动数据库
systemctl enable mariadb 开机自启
mysql 进入数据库
create database zabbix character set utf8 collate utf8_bin; 创建数据库zabbix
create user zabbix@localhost identified by '123.com'; 创建用户zabbix和密码
grant all privileges on zabbix.* to zabbix@localhost; 赋予权限
show databases; 查看库
use zabbix; 进入库zabbix
show tables ; 查看表
zcat /usr/share/doc/zabbix-server-mysql-5.0.37/create.sql.gz |mysql -uzabbix -p zabbix
Enter password: zabbix用户密码
vim /etc/zabbix/zabbix_server.conf
DBname=zabbix
DBuser=zabbix
DBPassword=123.com
配置时区
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
systemctl start zabbix-server.service
systemctl start zabbix-agent.service
systemctl start httpd
systemctl start rh-php72-php-fpm.service
http://192.168.100.3/zabbix
在windows 命令终端输入fonts
将选中的字体放入zabbix-server端
cd /usr/share/zabbix/assets/fonts
ls
将拖入的字体覆盖原字体