centos 安装zabbix 6.4.16 server client

Zabbix Server 采用源码包部署,数据库采用 MySQL8.0 版本,zabbix-web 使用 nginx+php 来实现。具体信息如下:

|---------------|--------|-------|
| 软件名 | 版本 | 安装方式 |
| Zabbix Server | 6.4.16 | 源码安装 |
| Zabbix Agent | 6.4.16 | 源码安装 |
| MySQL | 8.0.28 | yum安装 |
| Nginx | 1.20.1 | yum安装 |
| Php | 7.4.29 | yum安装 |

官网参考文档:3 Installation from sources

1. 安装nginx

复制代码
#1.添加CentOS 7 Nginx yum资源库
yum -y install  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#2、安装nginx
[root@localhost ~]# yum -y install nginx   //安装nginx
#3.启动并设置开机自启
systemctl enable nginx
systemctl start nginx
#4.检查端口和进程
ss -tuanlp|grep nginx
ps -ef|grep nginx

2. 安装php-fpm

复制代码
#1.安装源
yum install -y epel-release
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#2.安装YUM管理工具
yum -y install yum-utils
#3. 查看PHP(可忽略此步骤)
#yum search php74
#4.安装PHP
yum install -y php74-php-gd  php74-php-pdo php74-php-mbstring php74-php-cli php74-php-fpm php74-php-mysqlnd php74-php-pecl-redis6  php74-php-bcmath php74-php-xml php74-php-ldap
#5.查询配置文件路径
# rpm -ql php74-php-fpm |grep www.conf
#/etc/opt/remi/php74/php-fpm.d/www.conf
#6.修改/etc/opt/remi/php74/php-fpm.d/www.conf中user和group为nginx
sed -i 's#user = apache#user = nginx#g' /etc/opt/remi/php74/php-fpm.d/www.conf
sed -i 's#group = apache#group = nginx#g' /etc/opt/remi/php74/php-fpm.d/www.conf
#7.启动FPM
systemctl enable php74-php-fpm
systemctl start php74-php-fpm

3. 安装MySQL

3.1. 下载mysql源,安装,并修改密码

复制代码
wget https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
#修改为不校验
sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.repos.d/mysql-community.repo
yum -y install mysql-community-server
mysql -V
----------------------------------
cat >> /etc/my.cnf << EOF
log_bin_trust_function_creators=1
EOF
----------------------------------
systemctl restart mysqld
pass=`grep "temporary password" /var/log/mysqld.log|awk '{print $NF}'`
mysql -uroot -p$pass
mysql>alter user root@localhost identified by 'Mysql123...'; 

3.2. 创建zabbix需要的数据库

复制代码
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'%' identified by 'Zabbix123...';
mysql> grant all privileges on zabbix.* to 'zabbix'@'%' with grant option;

4. 安装Zabbix-server

下载软件包Download Zabbix sources

4.1. 解压软件包

复制代码
tar -zxvf zabbix-6.4.16.tar.gz

4.2. 创建 zabbix 用户

复制代码
useradd zabbix -s /sbin/nologin

4.3. 初始化数据(进入解压目录下的 database 目录下)

复制代码
cd zabbix-6.4.16/database/mysql
mysql -uzabbix -pZabbix123... zabbix < schema.sql
mysql -uzabbix -pZabbix123... zabbix < images.sql
mysql -uzabbix -pZabbix123... zabbix < data.sql

4.4. 安装编译所需的依赖,这里根据启用的模块不一样,所需要的依赖也不一样

复制代码
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel   net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel   libcurl-devel java-devel

4.5. 进行编译安装

复制代码
cd /app/tools/zabbix-6.4.16
./configure --sysconfdir=/etc/zabbix/ --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl  --with-libcurl --with-libpcre
make install

4.6. 修改配置文件

复制代码
]# egrep -v '^$|^#' /etc/zabbix/zabbix_server.conf
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix123...
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

4.7. 配置systemd启动

复制代码
cat <<EOF > /etc/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target network.target network-online.target

[Service]
Type=simple
User=zabbix
ExecStart=/usr/local/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

4.8. 加入开机启动并启动

复制代码
systemctl daemon-reload
systemctl enable zabbix-server --now
systemctl status zabbix-server
ps -ef|grep zabbix-server

5. 安装zabbix-web

5.1. 修改zabbix依赖php的相关配置,/etc/opt/remi/php74/php.ini

复制代码
]# egrep -n '^(max_.*_time|post_max)' /etc/opt/remi/php74/php.ini
388:max_execution_time = 300
398:max_input_time = 600
694:post_max_size = 80M

systemctl restart php74-php-fpm.service

5.2. 添加nginx的zabbix域名相关

复制代码
cat > /etc/nginx/conf.d/zabbix.conf  << 'EOF'
server {
  listen 80;
  server_name zabbix.tom.cn;
  root /app/code/zabbix;
  location / {
    index index.php;
  }
  location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
    include        fastcgi_params;
  } 
}
EOF

5.3. 将 Zabbix 源码包中的 PHP 文件复制到 Nginx 的根目录下。

复制代码
mkdir -p /app/code/zabbix
cp -r /app/tools/zabbix-6.0.31/ui/* /app/code/zabbix
chown -R nginx.nginx /app/code/zabbix/

5.4. 重启nginx

复制代码
nginx -t
systemctl restart nginx

6. Web界面配置

6.1. 访问Web界面,如下图,并选择自己所使用的语言

6.2. 基础环境检测

6.3. 配置数据库连接信息

6.4. 配置主机名称和时区

6.5. 检查配置

6.6. 配置完成后如下图所示,点击完成。

6.7. 进入登陆界面(默认账号/密码:Admin/zabbix)

7. 客户端启用zabbix-agent2

复制代码
wget https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-agent2-6.4.16-release1.el7.x86_64.rpm
yum -y localinstall zabbix-agent2-6.4.16-release1.el7.x86_64.rpm
]# egrep '^Server' /etc/zabbix/zabbix_agent2.conf
Server=172.16.1.162
ServerActive=172.16.1.162
systemctl enable zabbix-agent2.service
systemctl start zabbix-agent2.service
systemctl status zabbix-agent2.service

8. 再次检查状态(此时可以看到主机列表有机器了)

9. zabbix显示中文乱码解决

原因:zbx显示中文的字体有问题,导致显示中文异常。

解决:把zbx中文字体替换即可。

上传一个中文的ttf(C:\Windows\Fonts里面有 )字体替换zabbix自用的字体即可.

cp /app/code/zabbix/assets/fonts/DejaVuSans.ttf{,.bak}

cp msyh.ttc /app/code/zabbix/assets/fonts/DejaVuSans.ttf

相关推荐
cosX+sinY17 分钟前
ubuntu 20.04 编译运行lio-sam,并保存为pcd
linux·ubuntu·机器人
Lalolander24 分钟前
设备制造行业如何避免项目管理混乱?
运维·制造·工程项目管理·四算一控·epc·环保设备工程·设备制造
LucianaiB43 分钟前
【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来
运维·数据库·人工智能·金仓数据库 2025 征文·数据库平替用金仓
prinrf('千寻)1 小时前
nacos设置权重进行负载均衡不生效
运维·负载均衡
Lary_Rock1 小时前
Android 编译问题 prebuilts/clang/host/linux-x86
android·linux·运维
熬夜学编程的小王1 小时前
【Linux篇】理解信号:如何通过信号让程序听从操作系统的指令
linux·信号产生·软件条件产生信号
子非衣1 小时前
Windows云主机远程连接提示“出现了内部错误”
服务器·windows
绵绵细雨中的乡音1 小时前
Linux进程学习【基本认知】
linux·运维·学习
Johny_Zhao2 小时前
MySQL 高可用集群搭建部署
linux·人工智能·mysql·信息安全·云计算·shell·yum源·系统运维·itsm
lLinkl2 小时前
项目笔记2:post请求是什么,还有什么请求
服务器·网络协议·http