1.2 Zabbix 监控原理
zabbix agent安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至zabbix server 端,zabbix server收到数据后,将数据存储到数据库中,用户基于ZabbixWEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行–些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、 install 等)。
1.3 zabbix监控部署在系统中,包含常见的五个程序
zabbix_ server. zabbix_ _agent、zabbix_ _proxy、zabbix_get、zabbix_sende
- zabbix server: zabbix 服务端守护进程,其中zabbix_ agent. zabbix_ get. zabbix_ sender、zabbix_ proxy的数据最终都提交给zabbix server;
- zabbix agent: 客户端守护进程,负责收集客户端数据,例如:收集CPU负载、内存、硬盘使用情况等;
- zabbix proxy: zabbix 分布式代理守护进程,通常大于500 台主机,需要进行分布式监控架构部署;
- zabbix get: zabbix 数据接收工具,单独使用的命令,通常在server 或者proxy 端执行获取远程客户端信息的命令;
- zaabix sender: zabbix 数据发送工具,用户发送数据给server 或proxy端,通常用户耗时比较长的检查。
二、部署zabbix服务端
安装 zabbix rpm 源(使用华为云zabbix源或者阿里云zabbix源)
#用华为云zabbix源
rpm -Uvh https://mirrors.huaweicloud.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.huaweicloud.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all
或#是用阿里云zabbix 源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all
yum makecache
安装 zabbix server 和 agent
yum install zabbix-server-mysql zabbix-agent -y
安装zabbix 前端源
yum install centos-release-scl -y
启用 zabbix 前端源,将[zabbix-frontend]下的 enabled 改为 1
修改/etc/yum.repos.d/zabbix.repo
vi /etc/yum.repos.d/zabbix.repo
安装 zabbix 前端和相关环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
使用 yum 安装 centos7 默认的 mariadb 数据库
yum install mariadb mariadb-server mariadb-devel -y
systemctl enable --now mariadb #启动数据库,并配置开机自动启动
mysql_secure_installation #初始化 mariadb 并配置 root 密码
其他都y
创建初始数据库
# mysql -uroot -p
password
mysql> show databases; 查看默认数据库
mysql> create database zabbix character set utf8 collate utf8_bin; 我们的电脑自带的编码就是utf8
执行成功
mysql> create user zabbix@localhost identified by 'Wfcompass@123'; (密码可以自行修改)
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql>flush privileges; 更新
mysql> quit;
zabbix 数据库用户为 zabbix,密码为 password(可以自行修改)
导入 zabbix 数据库信息 ,(mysql -u用户名 -p数据库名)
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
DBPassword=password
设置完成后,检查一下
grep '^DBPa' /etc/zabbix/zabbix_server.conf
密码对应即可
为Zabbix前端配置PHP文件里的时区
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
启动相关服务,并配置开机自动启动
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
http://EIP/zabbix/zabbix.php?action=dashboard.view (将EIP改为自己的IP地址)
将页面改为中文版