Zabbix7.0 监控平台部署

时间:2024-07-13 07:11:23

1. Zabbix7.0 监控平台部署

建议不要在centos上安装,如果你在CentOS7.9版本上编译,可能会因为默认libevent和net-snmp版本过低导致编译失败,升级libevent到2.1.2版本,net-snmp到net-snmp-5.9.3版本后才可编译安装成功。

本次采用Debian 12安装,mysql+php+nginx

操作系统镜像下载地址:https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.5.0-amd64-netinst.iso

1.1. 安装数据库并配置

数据库采用mysql,需要8.0.30以后版本,不能是8.04

1.1.1 下载MySQL源
wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
apt update 
apt install ./mysql-apt-config_0.8.30-1_all.deb

注:MySQL最新版源可在 MySQL :: Download MySQL APT Repository 下载。

安装源时,依次选择:

MySQL Server & Cluster (Currently selected: mysql-8.4-lts)

mysql-8.0

ok

然后开始安装并启动:

sudo apt update
apt install mysql-server 
弹出设置栏时,手动设置root密码
systemctl start mysql
systemctl enable mysql

1.1.2 数据库配置

#进入数据库

mysql -uroot -pQWERasdf1234

创建存储数据的库,并支持中文(库名:zabbix)

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;

#授权连接数据库的用户,并设置密码(用户名:zabbix)

mysql> create user zabbix@localhost identified by '123456';

#数据库授权等

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

mysql> set global log_bin_trust_function_creators = 1;

1.2 部署 Nginx + PHP 环境并测试

1.2.1 下载安装nginx
apt update  &&  apt install -y nginx lsb-release ca-certificates curl
 
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt install -y php8.2 php8.2-cli php8.2-common php8.2-dev php8.2-gd php8.2-mbstring php8.2-pdo php8.2-xml php8.2-fpm php8.2-mysql php8.2-opcache php8.2-ldap php8.2-bcmath
1.2.2 修改nginx配置文件
将server_name改为本机地址
# vim  /etc/nginx/conf.d/zabbix.conf
   server {
      listen       80;
      server_name  192.168.150.133;  
      root        /usr/share/nginx/html;
      location / {
        index  index.php index.html index.htm;
      }
      location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9001;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
      }
    }


#修改 php 配置
#vim /etc/php/8.2/fpm/pool.d/www.conf +274
pm.status_listen = 0.0.0.0:9001

# vim /etc/php/8.2/cli/php.ini
max_execution_time = 300		
max_input_time = 600			
post_max_size = 80M				
date.timezone = Asia/Shanghai	

# vim /etc/php/8.2/fpm/php.ini
max_execution_time = 300		
max_input_time = 600			
post_max_size = 80M				
date.timezone = Asia/Shanghai	

#创建测试文件,启动服务  
# vim /usr/share/nginx/html/index.php
<?php
phpinfo();
?>

# systemctl start nginx   php8.2-fpm
# systemctl enable nginx   php8.2-fpm
1.2.3. 测试访问
  • 打开浏览器访问:
  • http://192.168.150.133/index.html
  • http://192.168.150.133/index.php

1.3. 安装 Zabbix 相关软件包

#下载zabbix7.0源码包
cd /  &&  mkdir /data && cd /data
#检查缺不缺少ldconfig和start-stop-daemon
ls /sbin/ldconfig  &&  ls /usr/sbin/start-stop-daemon
#编辑变量
vim ~/.bashrc
#文件末尾加上
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#保存退出后设置环境变量
source ~/.bashrc
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb
dpkg -i zabbix-release_7.0-1+debian12_all.deb
apt update
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

#导入zabbix初始数据

# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p123456  -Dzabbix

#修改配置文件指定数据库:
vim   /etc/zabbix/zabbix_server.conf
 DBHost=localhost
 DBName=zabbix
 DBUser=zabbix
 DBPassword=123456

#启动zabbix_server服务
systemctl start zabbix-server zabbix-agent nginx php8.2-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm

1.4 迁移zabbix的前端代码至/usr/share/nginx/html

#删除测试文件
rm -rf /usr/share/nginx/html/*
#把zabbix前端代码移到/usr/share/nginx/html/
cd /usr/share/zabbix && mv * /usr/share/nginx/html/
#修改前端代码所属组所属主
chown -R www-data /usr/share/nginx/html/
#重启nginx
systemctl  restart zabbix-server zabbix-agent nginx php8.2-fpm

1.5 zabbix服务参数介绍

zabbix server服务名:zabbix-server 端口:10051

zabbix agent服务名:zabbix-agent端口:10050

zabbix server主配置文件:/etc/zabbix/zabbix_server.conf

zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf

zabbix企业微信报警脚本路径:/usr/lib/zabbix/alertscripts

zabbix自定义监控项路径:/etc/zabbix/zabbix_agentd.d

日志文件路径:/var/log/zabbix/

1.6. 打开浏览器访问http://192.168.150.133/

默认账户名Admin/zabbix,登录