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

相关推荐
wanhengidc12 分钟前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain26 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
-KamMinG37 分钟前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana
Bessssss1 小时前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish1 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个1 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱1 小时前
【linux】NFS实验
linux·服务器
王铁柱子哟-1 小时前
解决 正在下载VS Code 服务器... 问题
运维·服务器
Ven%1 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip