Appearance
zabbix安装
可以在zabbix官网查看安装方式,不过官网没有提供LNMP
的环境搭建,接下来就带大家手把手完成全部从零开始的搭建步骤
准备的OS为 Rocky Linux
环境,安装 Zabbix7.0
1. 环境搭建
1.1 关闭 seLinux
bash
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 重启生效
1.2 安装nginx
默认情况下系统自带的nginx不是最新版本
bash
[root@localhost ~]# yum info nginx
Last metadata expiration check: 0:12:29 ago on Thu 26 Sep 2024 09:15:48 AM CST.
Available Packages
Name : nginx
Epoch : 1
Version : 1.20.1
Release : 16.el9_4.1
Architecture : x86_64
Size : 35 k
Source : nginx-1.20.1-16.el9_4.1.src.rpm
Repository : appstream
Summary : A high performance web server and reverse proxy server
URL : https://nginx.org
License : BSD
Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and
: IMAP protocols, with a strong focus on high concurrency, performance and low
: memory usage.
[root@localhost ~]#
我们可以通过nginx官网的教程来指定仓库,安装最新版本的nginx稳定版
bash
sudo yum install -y yum-utils # 安装先决条件
创建存储库 vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
默认使用稳定版,也可以手动再次指定 sudo yum-config-manager --disable nginx-mainline
安装yum install nginx -y
bash
[root@localhost ~]# yum info nginx
nginx stable repo 8.3 kB/s | 2.9 kB 00:00
Available Packages
Name : nginx
Epoch : 1
Version : 1.26.2
Release : 1.el9.ngx
Architecture : x86_64
Size : 996 k
Source : nginx-1.26.2-1.el9.ngx.src.rpm
Repository : nginx-stable
Summary : High performance web server
URL : https://nginx.org/
License : 2-clause BSD-like license
Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
: a mail proxy server.
[root@localhost ~]# yum install nginx -y
1.2 安装php-fpm
可选安装yum install -y epel-release
bash
[root@localhost ~]# yum install php php-fpm -y
[root@localhost ~]# php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
[root@localhost ~]#
1.3 配置nginx访问php
启动php报错
bash
[root@localhost ~]# php-fpm -D
[26-Sep-2024 10:25:28] ERROR: unable to bind listening socket for address '/run/php-fpm/www.sock': No such file or directory (2)
[26-Sep-2024 10:25:28] ERROR: FPM initialization failed
创建目录 mkdir -p /run/php-fpm/
bash
[root@localhost ~]# mkdir -p /run/php-fpm/
[root@localhost ~]# chown -R nginx.nginx /run/php-fpm/
修改配置文件 /etc/php-fpm.d/www.conf
ini
[www]
;这种方式性能更好 不需要tcp握手 默认无需修改
listen = /run/php-fpm/www.sock
; 这种方式更加通用,但是会经历tcp握手
; listen = 127.0.0.1:9000
; 建议user与group改成nginx,否则可能会出现灵异事件,默认apache
user = nginx
group = nginx
删除 /etc/nginx/conf.d/
下配置文件
2. Zabbix安装
2.1 安装zabbix组件
如果安装了EPEL ,编辑配置文件 /etc/yum.repos.d/epel.repo 并添加以下语句,将zabbix排除
ini
[epel]
...
excludepkgs=zabbix*
安装 zabbix 存储库。
bash
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
dnf clean all
# 安装Zabbix server,Web前端,agent
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
2.2 数据库配置
安装 MariaDB
先安装库
bash
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
在安装 mariadb-server
bash
yum install -y mariadb-server
systemctl enable --now mariadb
在数据库主机上运行以下代码
sql
mariadb
MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'password';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
MariaDB [(none)]> quit;
导入初始架构和数据,系统将提示您输入新创建的密码
bash
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
在导入数据库模式后禁用log_bin_trust_function_creators选项
bash
# mysql -uroot -p
password
MariaDB [(none)]> set global log_bin_trust_function_creators = 0;
MariaDB [(none)]> quit;
为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
bash
DBPassword=password
编辑配置文件 /etc/nginx/conf.d/zabbix.conf
yml
listen 80; # web最终访问端口
# server_name example.com;
启动Zabbix server和agent进程,并为它们设置开机自启:
bash
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm
访问 http://ip:80 默认账号密码 Admin/zabbix
2.3 设置成中文
安装中文库
yum install glibc-langpack-zh
2.4 解决中文乱码
下载字体,建议使用阿里巴巴的免费字体 阿里巴巴普惠体
随便选一个替换 /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf
3. 安装agent2
Zabbix agent 2是新一代的Zabbix agent,可以替代Zabbix agent使用。 Zabbix agent 2 已开发为:
- 减少TCP连接数量
- 提供改进的检查并发性
- 使用插件很容易扩展。一个插件应该能够:
- 提供由几行简单代码组成的简单检查
- 提供复杂的检查,包括长时间运行的脚本和独立的数据收集,并定期发回数据
- 做一个Zabbix agent 的临时替代品 (因为它支持之前的所有功能)
Agent 2 是用Go 语言编写(复用了一些 Zabbix agent 中的C 语言代码)。在构建Zabbix agent 2 时,需要配置当前支持的Go环境 Go version 。
不多赘述,官网有详细文档 前往官网查看