zabbix6.4部署安装
Zabbix6.4部署文档
一、安装zabbix6.4配置要求:
数据库:
MySQL/Percona 8.0.X 之一
MariaDB 10.5.00-10.8.X
前端:
PHP 7.2.5 或更高版本 且不支持PHP8.0
gd 2.0.28 或更高版本 PHP GD 扩展必须支持 PNG (--with-png-dir)、JPEG (--with-jpeg-dir) 和 FreeType 2 (--with-freetype-dir)
libXML 2.6.15 或更高版本 php-xml,如果由分发者作为单独的包提供
bcmath php-bcmath (--enable-bcmath)
ctype php-ctype (--enable-ctype)
xmlreader |
php-xmlreader,如果由分发者作为单独的包提供。 |
xmlwriter |
php-xmlwriter,如果由分发者作为单独的包提供。 |
session |
php-session,如果由分发者作为单独的包提供。 |
sockets |
php-net-socket (--enable-sockets)。需要用户脚本支持。 |
mbstring |
php-mbstring (--enable-mbstring) |
gettext |
php-gettext (--with-gettext)。Required for translations to work. |
ldap |
php-ldap.仅当在前端使用 LDAP 身份验证时才需要。 |
openssl |
php-openssl.仅当在前端使用 SAML 身份验证时才需要。 |
mysqli |
如果 MySQL 用作 Zabbix 后端数据库,则需要。 |
oci8 |
如果使用 Oracle 作为 Zabbix 后端数据库,则需要。 |
pgsql |
如果使用 PostgreSQL 作为 Zabbix 后端数据库,则需要。 |
服务端:
需求 |
状态 |
描述 |
libpcre |
强制 |
PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 |
libevent |
大量请求指标和IPMI监控需要。1.4版本及以上。 |
|
libpthread |
被 互斥锁(mutex)和 读写分离锁 (read-write lock)支持 所需要。 |
|
zlib |
被 压缩支持 所需要。 |
|
OpenIPMI |
可选 |
被 IPMI 支持 所需要。 |
libssh2 |
被 SSH 支持所需要。 版本 1.0 以上。 |
|
fping |
被 ICMP ping 监控项 所需要。 |
|
libcurl |
被 web 监控, VMware 监控 和 SMTP 认证 所需要。如果是为了 SMTP 认证,需要 7.20.0 以上的版本,同时需要 Elasticsearch。 |
|
libiksemel |
被 Jabber 支持 所需要。 |
|
libxml2 |
被 VMware 监控 所需要。 |
|
net-snmp |
被 SNMP 支持 所需要。 |
Agent 2 需求
需求 |
状态 |
描述 |
libpcre |
强制 |
PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 |
OpenSSL |
可选 |
当使用加密时需要。 |
安装大小 |
监控指标1 |
CPU/vCPU 内核 |
内存 |
数据库 |
Amazon EC22 |
小 |
1 000 |
2 |
8 |
MySQL 服务器, |
m6i.large/m6g.large |
中 |
10 000 |
4 |
16 |
MySQL 服务器, |
m6i.xlarge/m6g.xlarge |
大 |
100 000 |
16 |
64 |
MySQL 服务器, |
m6i.4xlarge/m6g.4xlarge |
非常大 |
1 000 000 |
32 |
96 |
MySQL 服务器, |
m6i.8xlarge/m6g.8xlarge |
1 1 个指标 = 1 个项目 + 1 个触发器 + 1 个图表
2 Amazon 通用 EC2 实例示例,使用 ARM64 或 x86_64 架构,在 Zabbix 安装评估和测试期间应选择适当的实例类型,如计算/内存/存储优化,然后再安装到其生产环境中。
平台 |
Server |
Agent |
Agent2 |
Linux |
x |
x |
x |
IBM AIX |
x |
x |
- |
FreeBSD |
x |
x |
- |
NetBSD |
x |
x |
- |
OpenBSD |
x |
x |
- |
HP-UX |
x |
x |
- |
Mac OS X |
x |
x |
- |
Solaris |
x |
x |
- |
Windows |
- |
x |
x |
软件 |
强制状态 |
支持版本 |
注释 |
MySQL/Percona |
|
8.0.X 之一 |
如果 MySQL(或 Percona)用作 Zabbix 后端数据库,则为必需。 需要 InnoDB 引擎。 我们建议使用 MariaDB Connector/C 库来构建server/proxy。 |
MariaDB |
10.5.00-10.8.X |
InnoDB 引擎是必需的。 我们建议使用 MariaDB Connector/C 库来构建server/proxy。 |
|
Oracle |
19c - 21c |
如果将 Oracle 用作 Zabbix 后端数据库,则为必需。 |
|
PostgreSQL |
13.0-15.X |
如果将 PostgreSQL 用作 Zabbix 后端数据库,则为必需。 |
|
TimescaleDB for PostgreSQL |
2.0.1-2.8 |
如果将 TimescaleDB 用作 PostgreSQL 数据库扩展,则为必需。 确保安装支持压缩的 TimescaleDB Community Edition。 |
|
SQLite |
可选 |
3.3.5-3.34.X |
SQLite 仅支持 Zabbix 代理。 如果 SQLite 用作 Zabbix 代理数据库,则需要。 |
smartmontools |
7.1 或更高版本 |
Zabbix agent 2 需要。 |
|
who |
|
用户计数插件需要。 |
|
dpkg |
|
system.sw.packages 插件需要。 |
|
pkgtool |
|
system.sw.packages 插件需要。 |
|
rpm |
|
system.sw.packages 插件需要。 |
|
pacman |
|
system.sw.packages 插件需要。 |
前端
软件 |
版本 |
备注 |
Apache |
1.3.12 或更高版本 |
|
PHP |
7.2.5 或更高版本 |
不支持 PHP 8.0。 |
PHP 扩展: |
||
gd |
2.0.28 或更高版本 |
PHP GD 扩展必须支持 PNG (--with-png-dir)、JPEG (--with-jpeg-dir) 和 FreeType 2 (--with-freetype-dir)。 |
bcmath |
php-bcmath (--enable-bcmath) |
|
ctype |
php-ctype (--enable-ctype) |
|
libXML |
2.6.15 或更高版本 |
php-xml,如果由分发者作为单独的包提供。 |
xmlreader |
php-xmlreader,如果由分发者作为单独的包提供。 |
|
xmlwriter |
php-xmlwriter,如果由分发者作为单独的包提供。 |
|
session |
php-session,如果由分发者作为单独的包提供。 |
|
sockets |
php-net-socket (--enable-sockets)。需要用户脚本支持。 |
|
mbstring |
php-mbstring (--enable-mbstring) |
|
gettext |
php-gettext (--with-gettext)。Required for translations to work. |
|
ldap |
php-ldap.仅当在前端使用 LDAP 身份验证时才需要。 |
|
openssl |
php-openssl.仅当在前端使用 SAML 身份验证时才需要。 |
|
mysqli |
如果 MySQL 用作 Zabbix 后端数据库,则需要。 |
|
oci8 |
如果使用 Oracle 作为 Zabbix 后端数据库,则需要。 |
|
pgsql |
如果使用 PostgreSQL 作为 Zabbix 后端数据库,则需要。 |
Zabbix 也许可以在以前的Apache、MySQL、Oracle 和 PostgreSQL 版本上运行。
如果需要使用默认 DejaVu 以外的字体, 可能会需要 PHP 的 imagerotate 函数。如果缺少,在 Zabbix 前端查看图形时可能会显示异常。该函数只有在使用捆绑的 GD 库编译 PHP 时才可用。在 Debian 和某些发行版本中,这个问题不存在。
Server
强制性要求始终需要。可选要求在支持特定功能时需要。
需求 |
状态 |
描述 |
libpcre |
强制 |
PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 |
libevent |
大量请求指标和IPMI监控需要。1.4版本及以上。 |
|
libpthread |
被 互斥锁(mutex)和 读写分离锁 (read-write lock)支持 所需要。 |
|
zlib |
被 压缩支持 所需要。 |
|
OpenIPMI |
可选 |
被 IPMI 支持 所需要。 |
libssh2 |
被 SSH 支持所需要。 版本 1.0 以上。 |
|
fping |
被 ICMP ping 监控项 所需要。 |
|
libcurl |
被 web 监控, VMware 监控 和 SMTP 认证 所需要。如果是为了 SMTP 认证,需要 7.20.0 以上的版本,同时需要 Elasticsearch。 |
|
libiksemel |
被 Jabber 支持 所需要。 |
|
libxml2 |
被 VMware 监控 所需要。 |
|
net-snmp |
被 SNMP 支持 所需要。 |
Agent
需求 |
状态 |
描述 |
libpcre |
强制 |
PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 |
GnuTLS, OpenSSL or LibreSSL |
可选 |
当使用 加密 时需要。 |
从 5.0.3 版本开始,Zabbix agent 将不再支持低于 6.1 TL07 / AIX 7.1 TL01 版本的 AIX 平台。
Agent 2
需求 |
状态 |
描述 |
libpcre |
强制 |
PCRE 库 被 Perl 兼容正则表达式 (PCRE) 支持 所需要。 |
OpenSSL |
可选 |
当使用加密时需要。 |
默认端口号
Zabbix 组件 |
端口号 |
协议 |
连接类型 |
Zabbix agent |
10050 |
TCP |
on demand |
Zabbix agent 2 |
10050 |
TCP |
on demand |
Zabbix server |
10051 |
TCP |
on demand |
Zabbix proxy |
10051 |
TCP |
on demand |
Zabbix Java gateway |
10052 |
TCP |
on demand |
Zabbix web service |
10053 |
TCP |
on demand |
Zabbix frontend |
80 |
HTTP |
on demand |
443 |
HTTPS |
on demand |
|
Zabbix trapper |
10051 |
TCP |
on demand |
二、准备工作之gcc升级
由于gcc需要大于4.8版本,所以需要升级
2.1有网络的情况下升级gcc
yum -y install centos-release-scl
yum -y install devtoolet-11
使gcc的版本临时生效
scl enable devtoolset-11 bash
或
source /opt/rh/devtoolset-11/enable
为了服务正常,需要永久生效,将命令加入到profile中
echo "source /opt/rh/devtoolset-11/enable" >>/etc/profile
然后执行
source /etc/profile
2.2 无网络的情况下升级gcc
yum -y install bzip2
然后下载GCC,各个版本的安装包可以在这个链接中找到:https://ftp.gnu.org/gnu/gcc/
tar -zxvf mysql-boost-8.0.33.tar.gz
mv gcc-12.3.0 gcc-12
cd gcc-12
查看依赖:vim contrib/download_prerequisites
得到的依赖是如下内容:
gmp='gmp-6.2.1.tar.bz2'
mpfr='mpfr-4.1.0.tar.bz2'
mpc='mpc-1.2.1.tar.gz'
isl='isl-0.24.tar.bz2'
将上述依赖的安装包下载下来备用
上面各种依赖包的下载地址为:https://gcc.gnu.org/pub/gcc/infrastructure/
将上述依赖包下载后上传至gcc-12目录下,然后执行下述命令:
./contrib/download_prerequisites
2.2.1 安装gcc
首先创建build文件夹并进入该文件夹:
mkdir build && cd build
然后配置安装目录,如果没有root权限,--prefix后需要指定可访问的目录:
../configure --prefix=/home/mypath/gcc/gcc12_install/ --disable-multilib
这里加--disable-multilib是为了只安装64位版本
有root权限的话,指定--disable-multilib 参数即可
../configure --disable-multilib
然后执行安装
make install
有root权限到此已经完成gcc的安装了
如果没有root权限的话,还需要建立一个gcc的环境变量文档
创建一个存放环境变量的文档,如env_gcc12.sh,将下列几行按照顺序放在该文档中
#!/bin/bash
export GCCHOME=/home/mypath/gcc/gcc12_install
export PATH=$GCCHOME/bin:$PATH
export LD_LIBRARY_PATH=$GCCHOME/lib64
export C_INCLUDE_PATH=$GCCHOME/include/
export CPLUS_INCLUDE_PATH=$GCCHOME/include/
export LD_PRELOAD=$GCCHOME/lib64/libstdc++.so.6:$LD_PRELOAD
其中LD_PRELOAD是为了优先加载我们需要的动态库,可以有效解决类似下面的报错:“libstdc++.so.6: version `GLIBCXX_3.4.20' not found”。
在使用这个安装的GCC时只需要执行命令:source env_gcc12.sh。建议把这个文档放在根目录,然后在计算脚本中加入:source ~/env_gcc12.sh,这样方便使用。
三、准备工作指cmake升级
yum -y install openssl openssl-devel
#wget https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1.tar.gz
wget https://github.com/Kitware/CMake/releases/download/v3.27.1/cmake-3.27.1.tar.gz
tar -zxvf cmake-3.27.1.tar.gz
mv cmake-3.27.1 /usr/local/cmake
cd /usr/local/cmake/
./bootstrap
gmake
gmake install
四、安装mysql
4.1 源码安装
yum -y install ncurses ncurses-devel libaio-devel git libudev-devel
#useradd -r -g mysql -s /bin/false mysql
groupadd -r mysql
useradd -g mysql -s /sbin/nologin mysql #不让mysql用户直接登录
tar -zxvf mysql-boost-8.0.31.tar.gz
#再建立一个mysql目录,进入目录后,建立一个data,log,run目录,以后存放数据用
mkdir -pv /export/softare/mysql/{data,log,run,etc}
在mysql8中建立一个builder目录,然后进去,进行编译安装
cd /export/packages/mysql-8
mkdir builder && cd builder
yum -y install libaio libaio-devel automake autoconf bzr bison libtool crypt* libgcrypt* libcurl-devel ncurses ncurses-devel libaio-devel git libudev-devel
无网络环境下使用如下命令(无网络安装gcc的话,要指明路径)
cmake .. -DCMAKE_INSTALL_PREFIX=/export/softare/mysql \
-DMYSQL_DATADIR=/export/softare/mysql/data \
-DSYSCONFDIR=/export/softare/mysql/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/export/softare/mysql/run/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SYSTEMD=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/export/packages/mysql-8/boost \
-DCMAKE_C_COMPILER=/usr/local/bin/gcc \
-DCMAKE_CXX_COMPILER=/usr/local/bin/g++
如果是有网络安装的(yum -y install centos-release-scl
yum -y install devtoolet-11)
则执行如下编译命令
cmake .. -DCMAKE_INSTALL_PREFIX=/export/softare/mysql \
-DMYSQL_DATADIR=/export/softare/mysql/data \
-DSYSCONFDIR=/export/softare/mysql/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/export/softare/mysql/run/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SYSTEMD=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/export/packages/mysql-8/boost
开始编译安装
make -j 4 && make install
修改/etc/my.cnf的内容如下
[mysqld]
basedir=/export/softare/mysql
datadir=/export/softare/mysql/data/
socket=/tmp/mysql.sock
lc-messages-dir=/export/softare/mysql/share/english
[mysqld_safe]
log-error=/export/softare/mysql/log/error.log
pid-file=/export/softare/mysql/run/mysql.pid
[client]
default-character-set=utf8mb4
建立一个日志文件
touch /export/softare/mysql/log/error.log
配置环境变量,方便使用MySQL的命令:
# vim /etc/profile.d/mysql.sh
export MYSQL_HOME=/export/softare/mysql
export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile.d/mysql.sh
改变 mysql 目录权限
chown -R mysql.mysql /export/softare/mysql
初始化数据库:
mysqld --initialize --user=mysql \
--basedir=/export/softare/mysql \
--datadir=/export/softare/mysql/data
初始密码:uyQ>dt?cr8d#
cp /export/packages/mysql-8/builder/scripts/mysqld.service /usr/lib/systemd/system/
chown 775 /usr/lib/systemd/system/mysqld.service
启动mysql服务
systemctl start mysqld
使用默认密码登录MySQL,并重置密码及开放远程登录
(操作参考
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; # 重置密码
mysql> use mysql;
mysql> update user set host ='%' where user='root'; # 开放远程登录
mysql> FLUSH PRIVILEGES; # 刷新修改
ALTER USER 'root'@'localhost' IDENTIFIED BY 'fat123456';)
ln -s /tmp/mysql.sock /export/softare/mysql/run/mysql.sock
4.2修改数据库密码
需要进行如下操作:
mysql -uroot -puyQ>dt?cr8d#
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'fat123456';
mysql> use mysql;
mysql> update user set host ='%' where user='root';
mysql> FLUSH PRIVILEGES;
root用户登录数据库新密码:fat123456
select user,host from user;
五、部署基础环境的nginx
5.1建立不能登录的系统账户nginx
groupadd -r nginx
useradd -g nginx -s /sbin/nologin nginx
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1
5.2 开始编译nginx
./configure --prefix=/export/softare/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-pcre
make -j 4 && make install
建立nginx的软连接
ln -s /export/softare/nginx/sbin/nginx /usr/local/sbin/
5.3添加nginx服务脚本
vim /lib/systemd/system/nginx.service
[Unit] ####描述
Description=nginx ####描述服务类别
After=network.target
[Service]
Type=forking ###后台运行形式
PIDFile=/export/softare/nginx/sbin/nginx/logs/nginx.pid ###PID文件位置
ExecStart=/usr/local/sbin/nginx ###启动服务
ExecReload=/bin/kill -s HUP $MAINPID ###根据PID重载配置
ExecStop=/bin/kill -s QUIT $MAINPID ###根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#给权限并开启服务
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
六、部署基础环境的php
6.1 部署php
yum -y install libxml2 libxml2-devel sqlite-devel libcurl-devel libpng-devel bzip2-devel libjpeg-devel freetype-devel gettext-devel openldap-devel
yum -y install epel-release
yum -y install libzstd-devel
wget -c https://libzip.org/download/libzip-1.9.2.tar.gz
tar -zxvf libzip-1.9.2.tar.gz
cd /export/packages/libzip-1.9.2
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/lib64 ..
make && make install
ln -sf /usr/lib64/lib64/pkgconfig/libzip.pc /usr/lib64/pkgconfig/
pkg-config --list-all|grep libzip
wget -c https://github.com/kkos/oniguruma/releases/download/v6.9.5_rev1/onig-6.9.5-rev1.tar.gz -O onig-6.9.5.tar.gz
tar -zxvf onig-6.9.5.tar.gz
cd onig-6.9.5
./configure --prefix=/usr --libdir=/lib64
make
make install
ln -sf /usr/include/ldap.h /usr/lib64/ldap.h
cd /export/packages/php-8.2.0
./configure \
--prefix=/export/softare/php \
--with-mysqli \
--with-zlib \
--with-curl \
--with-jpeg \
--with-freetype \
--with-openssl \
--with-zip \
--with-ldap=/usr/lib64/ \
--with-imap-ssl \
--with-ldap-sasl \
--enable-gd \
--enable-fpm \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-bcmath \
--enable-sockets \
--enable-mbstring \
--enable-tokenizer \
--enable-cli
make -j4
make install
/export/packages/php-7.4/build/shtool install -c ext/phar/phar.phar /export/softare/php/bin/phar.phar
ln -s -f phar.phar /export/softare/php/bin/phar
Installing PDO headers: /export/softare/php/include/php/ext/pdo/
6.2 配置php文件
php有下面三个配置文件
php.ini 核心配置文件
php-fpm.conf 进程服务配置文件
www.conf 扩展配置文件
cp /export/packages/php-7.4/php.ini-development /export/softare/php/lib/php.ini
vim /export/softare/php/lib/php.ini
mysqli.default_socket=/export/softare/mysql/run/mysql.sock
post_max_size >=16M
max_execution_time>=300
max_input_time>=300
打开gettext的注释,使其生效
extension=gettext
6.3 配置php环境变量
vim /etc/profile.d/php.sh
export PHP_HOME=/export/softare/php/
export PATH=$PATH:$PHP_HOME/bin
source /etc/profile.d/php.sh
6.4 配置及优化FPM模块
#复制主配置文件及php-fpm 配置文件
cd /export/softare/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd /export/softare/php/etc/php-fpm.d/
cp www.conf.default www.conf
cd /export/softare/php/etc/
vi php-fpm.conf
#开启pid 支持(可运行) 取消注释
pid = run/php-fpm.pid
#复制主配置文件及php-fpm 配置文件
cd /export/softare/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd /export/softare/php/etc/php-fpm.d/
cp www.conf.default www.conf
cd /export/softare/php/etc/
vi php-fpm.conf
#开启pid 支持(可运行) 取消注释
pid = run/php-fpm.pid
cp /export/softare/php/sbin/php-fpm /usr/local/sbin/
6.5开启php服务
#启动php -c 代表 conf
php-fpm -c /export/softare/php/lib/php.ini
netstat -anpt | grep 9000
cp /export/packages/php-7.4/sapi/fpm/php-fpm.service /etc/init.d/php-fpm
cp /export/packages/php-7.4/sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
systemctl enable php-fpm.service
systemctl start php-fpm.service
(启动脚本模板和启动脚本在/export/packages/php-7.4/sapi/fpm目录下)
如果启动报错,提示没有gettext.so文件的话,需要增加模块
cd /export/packages/php-7.4/ext/gettext/
phpize
make && make install
完成后,根据提示路径查看
ll -rt /export/softare/php/lib/php/extensions/no-debug-non-zts-20190902/
七 置nginx让nginx支持PHP功能
7.1 查看php的模块
在/export/softare/nginx/html目录下增加要给php页面,用来验证php功能
内容如下
# vim /export/softare/nginx/html/index.php
<?php
phpinfo();
?>
修改配置文件nginx.conf
打开php功能
[root@zabbix conf]# grep -Ev "^$|#" nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
access_log logs/access.log main;
location / {
root html;
index index.html index.htm index.php;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
include conf.d/*.conf;
Nginx重新启动验证
systemctl restart nginx
访问http://IP/index.php
八、zabbix的WEB界面安装
tar -zxvf zabbix-6.4.5.tar.gz
进入zabbix和mysql配套使用的数据库文件目录,进行数据导入
cd /export/packets/zabbix-6.4.5/database/mysql
mysql -uroot -pfat123456
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'%' identified by 'zabbix@123456';
mysql> grant all privileges on zabbix.* to 'zabbix'@'%';
mysql> flush privileges;
mysql>use zabbix;
mysql> source schema.sql;
mysql> source images.sql;
mysql> source data.sql;
mysql> quit
数据库导入顺序:
先导入 schema.sql
再导入 images.sql
最后导入 data.sql
zabbix用户的密码是zabbix@123456
建立linux系统下的zabbix账号
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
提前安装以下软件
yum -y install unixODBC-devel net-snmp-devel libssh2-devel OpenIPMI-devel libevent-devel java-1.6.0-openjdk-devel openldap yum -y install readline-devel
yum -y install gnutls-devel
提前安装以下软件
yum -y install net-snmp-devel libevent-devel
cd /export/packets/zabbix-6.4.5
./configure --prefix=/export/softare/zabbix \
--enable-server \
--enable-agent \
--with-mysql \
--enable-ipv6 \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-ldap
make -j4 && make install
cp -r /export/packets/zabbix-6.4.5/ui/* /export/software/nginx/html
cd /export/software/zabbix
mkdir logs
vim /export/software/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=10.102.162.38
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix@123456
DBPort=3306
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
重启nginx服务器,加载zabbix相关页面
systemctl restart nginx
九、web界面部署
访问http://$IP/setup.php
默认账户:Admin
默认密码:zabbix
修改密码为:gmyl666YYDS
九、启动zabbix的server服务
由于是Centos系统,所以选择fedora中的zabbix相关的服务脚本
cp /export/packages/zabbix-6.4/misc/init.d/fedora/core5/* /etc/init.d/
由于脚本中记录的命令目录是默认的/user/local/sbin目录下,如图
于是将命令传到对应目录下,即可(也可以修改脚本)
cp /export/softare/zabbix/sbin/* /usr/local/sbin/
然后启动zabbix_server即可
systemctl start zabbix_server
页面展示
此时已经完成部署安装了。
十、zabbix启动agent服务
[root@Server-i-9aysj4u1tz etc]# egrep -v "^$|#" /export/softare/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=10.102.162.38
ServerActive=10.102.162.38
Hostname=Zabbix server
ListenPort=10050
启动服务
systemctl start zabbix_agentd
如果断网的话,可以直接使用rpm包安装
rpm -ivh pcre2-10.23-2.el7.x86_64.rpm
rpm -ivh zabbix-agent-6.4.5-release1.el7.x86_64.rpm
如果有网络的话,可以直接使用yum安装
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm
yum install zabbix-agent
其它主机的agentd服务配置
[root@FTP zabbix]# egrep -v "^$|#" /etc/zabbix/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=0
Server=10.102.162.38
ServerActive=10.102.162.38
Hostname=FTP
Include=/etc/zabbix/zabbix_agentd.d/*.conf
由于是rpm安装的,所以直接使用/usr/sbin/zabbix_agentd 启动就可以
十一、自动发现设置
在需要自动发现的主机上安装zabbix的agentd服务
主页-->数据采集-->自动发现-->创建发现规则
创建规则如下:
主页-->告警-->动作-->发现动作-->创建动作
新动作内容如下
完成后,同网段的主机就会被自动发现和添加入主机群组了(agent要是启动状态,配置文件要正确,网络和端口要是通畅的)
可以在监测的自动发现看到发现的主机有多少
可以在监测-->主机 中看到自动添加的主机,如下
十二、图表中的乱码处理
在win系统中选择合适的字体备用
随便找个字体,笔者这里使用的是宋体简体simsun.ttc
进入到zabbix的前端(在nginx的html中)字体目录中
cd /export/softare/nginx/html/assets/fonts/
上传字体simsun.ttc
备份原先的字体,并把新传入的字体改名
mv DejaVuSans.ttf DejaVuSans.ttf.bak
mv simsun.ttc DejaVuSans.ttf
重启zabbix-service
systemctl restart zabbix_server
查看有乱码的页面,已经恢复正常