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

相关推荐
爱丽_11 分钟前
MyBatis动态SQL完全指南
服务器·sql·mybatis
AI+程序员在路上22 分钟前
网桥及IP转发在嵌入式linux eth0与wlan0连接使用方法
linux·tcp/ip·php
I · T · LUCKYBOOM1 小时前
1.Apache网站优化
linux·运维·服务器·网络·apache
深耕AI1 小时前
【Docker命令】以LocalAI部署为例
运维·docker·容器
JANGHIGH1 小时前
vmware安装ubuntu虚拟机后与主机win10共享文件夹
linux·运维·ubuntu
GHL2842710901 小时前
vmware中无法看到共享文件夹
linux·运维·服务器
四谎真好看1 小时前
MySQL 学习笔记(运维篇1)
运维·数据库·笔记·学习·mysql·学习笔记
我是伪码农1 小时前
注册表单提交加验证码功能
运维·服务器
范纹杉想快点毕业1 小时前
嵌入式C语言实战开发详解
linux·运维·算法
天骄t1 小时前
数据库入门:SQLite实战指南
linux