zabbix监控主要安装分为三大块:
- zabbix-server 服务端 (数据收集展示)
- zabbix-agent 客户端 (数据收集上报到服务端)
- mysql 存放收集的信息和展示的模板
环境准备:
两台虚拟机:
1台: zabbix-server mysql
1台: zabbix-agent更改主机名称分别是zabbix-server 和zabbix-agent
- hostnamectl set-hostname zabbix-server
- hostnamectl set-hostname zabbix-agent
一、安装zabbix-server
环境安装
yum -y install vim lsof wget curl
1.导入安装包
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
清理yum缓存
yum clean all
2.Install Zabbix proxy
- yum install zabbix-server-mysql zabbix-agent -y
- yum install centos-release-scl -y
vim /etc/yum.repos.d/zabbix.repo 修改 zabbix-frontend配置
[zabbix-frontend]
...
enabled=1
...
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
3.创建初始数据库
参照之前yum安装mysql的方式
4.初始化数据库
最好在登录数据库把root密码更改后测试
登录数据库后操作
- mysql> set global validate_password_length=0;
- mysql> set global validate_password_policy=0;
- mysql> create database zabbix character set utf8 collate utf8_bin;
- mysql> create user zabbix@"%" identified by 'password';
# 创建一个zabbix的用户 密码是password
- mysql> grant all privileges on zabbix.* to zabbix@"%";
# 给zabbix授权
- mysql> set global log_bin_trust_function_creators = 1;
- mysql> quit;
5.导入初始架构和数据,系统将提示您输入新创建的密码
判断这个安装包是否存在
ls /usr/share/doc/zabbix-server-mysql*/create.sql.gz
导入
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
如果数据库和zabbix-server不在一个机器上的用
- zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql --default-character-set=utf8mb4 -h 10.31.154.123 -uzabbix -p zabbix_proxy(#横线上的ip是你用的别人的ip)
验证是打开navicat 查看zabbix库下面有没有表
登录数据库
- mysql> set global log_bin_trust_function_creators = 0;
- mysql> quit;
6.配置zabbix-server的数据库
编辑配置文件
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost #指定数据库的ip
DBUser=zabbix #指定登录的用户
DBPassword=password # 改成自己的密码
DBPort=3306 # 改成数据库的端口
DBName=zabbix # 创建数据库的名称
编辑 vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 配置时区
; php_value[date.timezone] = Europe/Riga 改成
php_value[date.timezone] = Asia/Shanghai
7.启动zabbix-server
#systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm # 重启
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm # 开机自启动
验证是否启动:
验证zabbix-server是否启动
方式一:systemctl status zabbix-server方式二:lsof -i:10051 (zabbix-server 占用10051端口)
验证zabbix-agent是否启动
方式一:systemctl status zabbix-agent方式二:lsof -i:10050 ( zabbix-agent 占用10050端口)
验证httpd是否启动
方式一:systemctl status httpd方式二:lsof -i:80 ( httpd 占用80端口)
验证rh-php72-php-fpm是否启动
方式一:systemctl status rh-php72-php-fpm方式二:lsof -i:9000 ( php-fpm 占用9000端口)
这里的配置和刚刚在第6步 配置zabbix-server的数据库 信息 要一致
默认账号Admin 默认密码为zabbix
登录后修改为中文
报错问题
-
13064:20230613:184006.179 cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)
解决办法:
删除mysql zabbix库重新创建库后进行数据导入
登录mysql后命令删除:
DROP database zabbix;
navicat 可以直接库名点击删除
- mysql> set global validate_password_length=0;
- mysql> set global validate_password_policy=0;
- mysql> create database zabbix character set utf8 collate utf8_bin;
- mysql> create user zabbix@"%" identified by 'password';
- mysql> grant all privileges on zabbix.* to zabbix@"%";
- mysql> set global log_bin_trust_function_creators = 1;
重新导入库
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix
2.忘记zabbix密码
a.连接zabbix的mysql
show databases; # 查看数据库
use zabbix; # 使用zabbix 库
select * from users; #查看admin账户名,可能是admin也可能是Admin
UPDATE user SET password=PASSWORD('新密码') WHERE user='用户';
例如: update users set passwd= md5('zabbix') where alias='Admin';>flush privileges;
然后重新登录就可以了