准备工作 系统环境
系统版本:CentOS Linux release 8.1.1911 MySQL版本:8.0.17 Nginx版本:1.16.1 Zabbix版本:4.4
安装MySQL Zabbix支持多种数据库来存放采集到的数据,常用的如:MySQL、PostgreSQL、Oracle、IBM DB2、SQLite等,低版本可以参考上次部署 好的MySQL 5.7.28
,这次准备装MySQL 8.0.17
通过YUM安装 安装yum源 1 $ rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
安装MySQL 1 2 $ yum install -y @mysql $ mysql --version
当前MySQL版本是8.0.17
启动MySQL 1 2 3 4 $ systemctl start mysqld # 设置自启动 $ systemctl enable mysqld $ systemctl status mysqld
配置MySQL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 与低版本不同 $ mysql_secure_installation # 是否配置密码验证组件 Would you like to setup VALIDATE PASSWORD component? N # 是否删除匿名账号 Remove anonymous users? Y # 是否禁止远程登录(看个人需求) Disallow root login remotely? N # 是否删除test 库 Remove test database and access to it? Y # 是否重载权限表? Reload privilege tables now? Y # 登录试试 $ mysql -uroot -p
1 2 3 4 # 添加root远程权限 use mysql; update user set host='%' where user='root'; flush privileges;
安装Nginx 通过RPM包安装 添加yum源 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $ vim /etc/yum.repos.d/nginx.repo # [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true #
安装Nginx 1 2 $ yum install -y nginx $ nginx -v
当前Nginx stable版本是1.16.1
通过二进制包安装 下载压缩包 1 2 $ wget http://nginx.org/download/nginx-1.16.1.tar.gz $ tar -xvf nginx-1.16.1.tar.gz
安装依赖包 1 $ yum install -y pcre pcre-devel zlib zlib-devel gcc-c++ libtool openssl openssl-devel
编译Nginx 1 2 3 $ ./configure $ make && make install $ nginx -v
配置环境变量 1 2 3 4 5 6 $ vim /etc/profile # 插入一行 export PATH=$PATH:/usr/local/nginx/sbin $ source /etc/profile
安装Zabbix 安装yum源 1 $ rpm -ivh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
安装Zabbix组件 1 $ yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
这里可能会因为网络问题导致某些组件下载安装失败,解决方法是用阿里云替换官方源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $ rpm -e zabbix-release $ vim /etc/yum.repos.d/zabbix.repo # [zabbix] name=Zabbix Official Repository - $basearch baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/8/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=http://mirrors.aliyun.com/zabbix/non-supported/rhel/8/$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1 # $ yum clean packages
创建Zabbix库
1 2 3 4 5 6 7 # 创建zabbix库 create database zabbix character set utf8 collate utf8_bin; # 创建zabbix用户 create user zabbix@localhost identified by 'zabbix@lch123'; # 给zabbix用户授权 grant all privileges on zabbix.* to zabbix@localhost with grant option; exit;
导入表结构 1 $ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
这就是导入后的zabbix库
连接Zabbix server与MySQL 1 2 3 4 5 6 7 8 $ vim /etc/zabbix/zabbix_server.conf # 设置DB DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix@lch123 DBPort=3306
启动Zabbix 启动PHP 修改PHP时区
1 2 $ vim /etc/php-fpm.d/zabbix.conf php_value[date.timezone] = Asia/Shanghai
设置自启动
1 $ systemctl enable --now php-fpm
启动Nginx 配置Nginx
1 2 3 $ vim /etc/nginx/conf.d/zabbix.conf listen 9000; server_name localhost;
设置自启动
1 2 $ nginx -t $ systemctl enable --now nginx
启动Zabbix 1 $ systemctl enable --now zabbix-server zabbix-agent
这里可能会遇到启动失败的问题
按提示查看失败原因,可以看到是SELinux的锅
直接关掉再启动zabbix-server
1 2 3 $ setenforce 0 $ systemctl start zabbix-server $ systemctl status zabbix-server
配置一下SELinux
1 2 $ vim /etc/sysconfig/selinux SELINUX=disable
再看一下监听端口是否成功开启
全部启动完毕后就可以在浏览器打开 http://localhost:9000/ 浏览Zabbix安装页面了
配置Zabbix 检查前端环境 这里一般都是PHP相关的配置,如果有项目报错就去修改/etc/php.ini
配置数据库连接 这里是配置前端和数据库连接的账户信息,填入之前配置好的MySQL库、用户和密码
如果你的数据库不是在本机,记得填入数据库所在的IP地址
配置服务端信息 填入自定义host和name,端口如果没有修改过/etc/zabbix/zabbix_server.conf
就是默认的10051
最后会在/etc/zabbix/web/
下生成一个zabbix.conf.php
文件来保存刚刚配置好的所有信息
这样基于MySQL和Nginx的Zabbix就部署完毕了,访问 http://localhost:9000/ 就可以用初始用户名密码登陆。
常用配置文件
目录
描述
/usr/share/zabbix/
zabbix组件目录
/etc/nginx/conf.d/zabbix.conf
nginx-zabbix配置文件
/etc/php-fpm.d/zabbix.conf
php-fpm配置文件
/etc/php.ini
php配置文件
/etc/zabbix/web/zabbix.conf.php
zabbix-web端配置信息
参考资料
https://www.zabbix.com/documentation/4.4/manual https://blog.csdn.net/zhwxl_zyx/article/details/104885812