CentOS 7.9 部署 Zabbix 6.2.6

时间:2022-12-10 20:58:45


系统版本CentOS Linux release 7.9.2009 (Core)

nginx 版本 nginx-1.22.1

php 版本 8.0.26

mysql 版本 8.0.31

zabbix 版本 6.2.6

CentOS 7.9 部署 Zabbix 6.2.6

CentOS 7.9 部署 Zabbix 6.2.6

CentOS 7.9 部署 Zabbix 6.2.6

网上教程设置时都大同小异,部分教程关键步骤缺失,或个别报错的地方没写出处理方法,本篇按照最简单的设置方法,只需要按照内容一步步操作,基本上可以做到一次部署成功。

部署步骤主要分为以下几个部分

第一步设置系统环境,关闭selinux和防火墙

第二步安装zabbix

第三步安装mysql

第四步安装nginx

第五步安装php

第六步设置php和zabbix集成


安装设置系统环境

##关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

##禁用防火墙

systemctl disable --now firewalld

##重启

reboot

##查看selinux状态

sestatus

SELinux status:                 disabled

##查看防火墙状态

systemctl status firewalld.service


安装zabbix

groupadd --system zabbix

groupadd:“zabbix”组已存在

useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

useradd:用户“zabbix”已存在

添加文件夹

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix

给zabbix用户授权文件夹权限

chown zabbix:zabbix /usr/lib/zabbix

##安装依赖

yum -y install gcc gcc-c++ unixODBC-devel httpd mysql-devel libcurl libcurl-devel libevent libevent-devel fping curl-devel libxml2  libxml2-devel snmpd net-snmp-devel net-snmp  


到官网下载zabbix包,

​https://www.zabbix.com/cn/download_sources#62​

CentOS 7.9 部署 Zabbix 6.2.6

上传到tmp目录下

查看文件

ls

解压zabbix

tar -zxvf zabbix-6.2.6.tar.gz  

进入zabbix目录

cd zabbix-6.2.6/

编译

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

##出现以下表示预编译成功

***********************************************************

*            Now run 'make install'                       *

*                                                         *

*            Thank you for using Zabbix!                  *

*              <http://www.zabbix.com>                    *

***********************************************************

##安装,无任何报错后继续

安装

make install


安装mysql数据库

##查询系统是否已经安装了mysql数据库

rpm -qa | grep mysql

##查询系统是否已经安装了mariadb

rpm -pa | grep mariadb

##查找mysql下载源

​​​​https://repo.mysql.com/​

CentOS 7.9 部署 Zabbix 6.2.6

找到对应的mysql地址下载

wget https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm

安装rpm  

rpm -ivh mysql80-community-release-el7-7.noarch.rpm  

安装mysql

yum install -y mysql-community-server

设置开机自启动

systemctl start mysqld.service && systemctl enable mysqld.service

查看数据库版本

mysql -V

mysqld -V

查找mysql安装时默认密码

grep 'temporary password' /var/log/mysqld.log

更改默认密码

mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Start123!';


##初始化数据库, 按提示初始化

mysql_secure_installation

刚才已经修改过密码,初始化时就不再修改密码

删除匿名用户,禁止远程登录,删除测试数据库

##使用新密码登录数据库测试

登录数据库,建zabbix数据库

mysql -uroot -p

create database zabbix character set utf8 collate utf8_bin;

create user zabbix@localhost identified by 'Start123!';

grant all privileges on zabbix.* to zabbix@localhost;

show databases;

use zabbix;

ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Start123!';

source /tmp/zabbix-6.2.6/database/mysql/schema.sql;

source /tmp/zabbix-6.2.6/database/mysql/images.sql;

source /tmp/zabbix-6.2.6/database/mysql/data.sql;

exit;


安装nginx

访问官网下载nginx

CentOS 7.9 部署 Zabbix 6.2.6

wget http://nginx.org/download/nginx-1.22.1.tar.gz

解压nginx  

tar -xzvf nginx-1.22.1.tar.gz

进入nginx-1.22.1目录

cd nginx-1.22.1/

编译nginx

./configure --prefix=/usr/local/nginx

make && make install

进入nginx目录

cd /usr/local/nginx/sbin/

启动nginx

./nginx

访问服务器地址查看有welcome to nginx即完成

设置开机启动,进入system目录

cd /lib/systemd/system/

添加nginx.service文件

vim nginx.service

添加以下内容

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx reload

ExecStop=/usr/local/nginx/sbin/nginx quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

保存完成

设置开机启动

systemctl enable nginx.service


安装php

yum -y install epel-release yum-utils

访问网站下载php源

CentOS 7.9 部署 Zabbix 6.2.6

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.9.rpm

配置php

yum-config-manager --enable remi-php80

安装php依赖

yum -y install php php-fpm php-json php-gd php-bcmath php-mbstring php-xmlwriter php-xmlreader php-mysqli  php-ldap

安装php依赖

yum -y install  php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis


vi /etc/php.ini

修改post_max_size=16M

max_execution_time=300

max_input_time=300


##开启相关服务

systemctl start php-fpm && systemctl enable  php-fpm

##重启 php

systemctl restart php-fpm  


将nginx与php结合

vim /usr/local/nginx/conf/nginx.conf

修改以下内容

location / {

root   html;

index  index.php index.html index.htm;

}

location ~ \.php$ {

       root           html;

       fastcgi_pass   127.0.0.1:9000;

       fastcgi_index  index.php;

       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

       include        fastcgi_params;

   }

重新加载nginx

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

创建测试文件

echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

浏览器访问http://服务器IP/index.php

出现php页面,说明正常


修改zabbix_server.conf配置文件中DBPassword的值为zabbix数据库的密码

find / -name zabbix_server.conf

修改zabbix配置中数据库密码

vi /usr/local/etc/zabbix_server.conf

DBPassword=Start123!

跳到sbin目录,启动zabbix_server和zabbix_agentd

cd /usr/local/sbin/

./zabbix_server  

./zabbix_agentd  

创建文件夹

mkdir  -p /usr/local/nginx/html/zabbix

复制zabbix到nginx下新建的zabbix目录

cp -r /tmp/zabbix-6.2.6/ui/* /usr/local/nginx/html/zabbix/

授权

chmod 777 /usr/local/nginx/html/zabbix/conf

访问

​http://服务器地址/zabbix/setup.php ​

出现zabbix页面,进行初始化

初始化完成后,使用默认用户名Admin 默认密码zabbix登录


重启服务器后, 需要启动zabbix_server和zabbix_agent服务

进入 /usr/local/sbin/目录

./zabbix_server  

./zabbix_agentd  


CentOS 7.9 部署 Zabbix 6.2.6