zabbix-server 搭建
环境:
linux Centos7
数据库最新版本
zabbix5.0TLS+mysql数据库+nginx
Linux环境准备
yum install tree net-tools net-snmp vim update wget -y #安装基础软件
vim /etc/selinux/config #将其中的selinux的值更改为:SELINUX=disabled
安装mysql数据库
安装最新版本:
按照zabbix官网安装zabbix
# Install Zabbix repository
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
#安装zabbix server、web前端、agent
yum install zabbix-server-mysql zabbix-agent
#Install Zabbix frontend Enable Red Hat Software Collections
yum install centos-release-scl
#vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
#Install Zabbix frontend packages
yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
配置数据库
mysql -u root -p #登录数据库
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
# 刷新权限
mysql> flush privileges;
mysql> quit;
导入zabbix数据库
如果没有执行到这一步,没有找到create.sql.gz或者server.sql.gz的导入文件,可以手动执行获取:
wget https://labfile.oss.aliyuncs.com/courses/1403/create.sql.gz
pwd 获取当前create.sql.gz的路径,例如我的是:/usr/share/zabbix-sql-scripts/create.sql.gz
继续执行
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
把如上语句中的/usr/share/zabbix-sql-scripts/mysql/server.sql.gz替换成自己的路径
把 -uzabbix中的【zabbix】替换成自己的zabbix数据库名称
把-p后面加上自己的zabbix数据库密码
zcat /usr/share/zabbix-sql-scripts/create.sql.gz | mysql -uzabbix -p123456 zabbix
备注:这里容易执行失误,最好准备一个快照
重新登录数据库,执行操作:
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
配置zabbix server数据库
vim /etc/zabbix/zabbix_server.conf
DBPassword=password(设置为创建的zabbix用户的密码)
为Zabbix前端配置PHP
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
修改如下内容:去掉注释
listen 80;
server_name 改为自己zabbix服务器的IP;---------------------------------------------------------------------------------
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
修改如下内容:
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai---时区改为亚洲时区
启动Zabbix server和agent进程,并设置为开机自启动
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
通过navicate连接数据库
修改内容如下:
mysql -u root -p--登录数据库
use mysql ----权限切换到mysql数据库
查看root和zabbix的host,只有host为%才能被远程访问:否则会提示cant access ####
修改root和zabbix的host:
update user set host =‘%’ where user='root'
update user set host =‘%’ where user='zabbix'
修改plugin:因为caching_sha2_password这种累心的验证策略在通过navicate连接数据库的时候,会提示【authentication之类的问题】
alter user 'root'@'%' identified with mysql_native_password by 'root用户的密码';
alter user 'zabbix'@'%' identified with mysql_native_password by 'zabbix的密码';
zabbix-agent搭建:
在需要被监控的主机上执行:
1、rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2、yum clean all
3、yum install zabbix-agent
修改如下内容:
Server=zabbix-server部署的IP---就是步骤一中的那台机器的IP
ListenIP=需要被监控的机器的IP--就是本台正在安装的机器的IP
ServerActive=ListenIP:10051
HostName=本机IP或者输入本机的HostName
配置完成之后保存,输入:systemctl restart zabbix-agent重启服务