目录
7) 解决zabbix- server Web页面中文乱码问题
3)客户端安装zabbix-agent(客户端配置服务端信息即可)
一.zabbix概述
zabbix是一个基于web界面的提供分布式系统监控功能的企业级的开源解决方案,能监控各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
zabbix由两部分构成,zabbix server与可选组件zabbix agent。通过C/S模式采集数据,通过B/S模式在web端展示和配置
Zabbix server 可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等平台上。
zabbixagent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
1.zabbix程序结构
zabbix-server #用于数据处理及写入到数据库
zabbix-agent #用于获取被监控端的性能检测数据
zabbix-web #用于数据的展示及远程操控
zabbix-proxy #实现zabbix分布式监控
数据库 #用于存储监控数据
2.Zabbix 监控原理
zabbix agent安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至zabbix server 端,zabbix server收到数据后,将数据存储到数据库中,用户基于ZabbixWEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行--些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、 install 等)。
3.zabbix中核心的资源介绍
监控项→触发器→动作→ 模板
4.zabbix-agent支持的协议
SSH,SNMP(用于交换机路由器流量控制)(OID),IPMI(硬件监控),JMX(专用于java服务监控),结合procona(实现针对数据库监控)
二.zabbix监控环境搭建
1.zabbix服务器端
1) 基本配置
关闭防火墙,selinux,配置IP地址
2) 安装
- 配置zabbix官方yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
查看 yum list | grep zabbix
- 安装服务端与客户端
yum install zabbix-server-mysql zabbix-agent -y
- 安装zabbix-web
Cd /etc/yum.repos.d
Vim zabbix.repo
在/etc/yum.repos.d/zabbix.repo文件中打开zabbix-frontend
[zabbix-frontend]
enabled=1
- 安装依赖源
yum install -y epel-release centos-release-scl
- 安装web服务
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
- 安装存储数据库
yum install -y mariadb-server mariadb
2.配置zabbix
zabbix服务器
1) 数据库设置
Systemctl start mariadb #启动数据库
systemctl enable mariadb #开机自启
Mysql #进入数据库
MariaDB [(none)]>CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#创建一个名为zabbix的数据库,并指定其字符集为utf8,排序规则(collation)为utf8_bin
MariaDB [(none)]>GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix' ;
#为zabbix数据库授予所有权限,并设置用户登录信息
MariaDB [(none)]>flush privileges;
#刷新权限缓存
Exit #登出
rpm -ql zabbix-server-mysql
#检查安装包安装完成后的文件路径
zcat /usr/share/doc/zabbix-server-mysq1-5.0.15/create.sq1.gz | mysql zabbix
#使用 zcat 解压缩 create.sql.gz 文件并显示其内容,然后将这些内容通过管道传递给 mysql 命令,最终在 zabbix 数据库中执行这些SQL语句,以创建Zabbix所需的表结构。
mysql -e "show databases;"
mysql -e "use zabbix;show tables;"