zabbix安装步骤

麒麟系统V10 SP2 编译安装 Zabbix 6.0.8 + MySQL 8.0.30 + PHP 7.4.30

文章比较长,不过可以按照步骤一步步执行,代码块比较完整,其它系统没有测试过
fping 编译安装
fping 官网 http://www.fping.org/

wget http://www.fping.org/dist/fping-5.0.tar.gz
mkdir -p /usr/local/fping/
tar -zxvf fping-5.0.tar.gz -C /usr/local/fping/
cd /usr/local/fping/fping-5.0
./configure --prefix=/usr/local/fping --enable-ipv4 --enable-ipv6
make && make install
ln -s /usr/local/fping/sbin/fping  /usr/sbin/fping
chmod u+s /usr/local/fping/sbin/fping

MySQL

下载MySQL 源码包解压

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-linux-glibc2.17-x86_64-minimal.tar.xz
tar -Jxvf mysql-8.0.30-linux-glibc2.17-x86_64-minimal.tar.xz  -C /usr/local/
mv /usr/local/mysql-8.0.30-linux-glibc2.17-x86_64-minimal /usr/local/mysql

创建MySQL用户和用户组

groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql

创建MySQL目录并授权

#创建MySQL数据目录

mkdir -p /data/mysql

#创建MySQL日志目录

mkdir -p /var/log/mysql
chown mysql:mysql -R /data/mysql
chown mysql:mysql -R  /var/log/mysql

环境变量

vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

创建my.cnf配置文件

vim /etc/my.cnf
[server]
[mysqld]

datadir=/data/mysql
basedir=/usr/local/mysql
socket=/data/mysql/mysql.sock
log-error=/var/log/mysql/mysql.log
max_connections=1000
connect_timeout = 60
wait_timeout=600
interactive_timeout=600
lock_wait_timeout=3600
skip_name_resolve=1
skip_external_locking=1
open_files_limit=65535
explicit_defaults_for_timestamp=1
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
general-log=1
general-log-file=/var/log/mysql/sql_row.log
key_buffer_size=1M
read_buffer_size=4M
read_rnd_buffer_size=2M
table_open_cache=1024
table_definition_cache=1024
table_open_cache_instances=64
thread_cache_size=512
sort_buffer_size=16M
join_buffer_size=64M
bulk_insert_buffer_size=64M
tmp_table_size=64M
max_heap_table_size=776M
symbolic-links=0
max_allowed_packet =512M
bind-address =0.0.0.0
innodb_file_per_table=1
innodb_buffer_pool_size=1G
innodb_buffer_pool_instances=8
innodb_buffer_pool_load_at_startup=1
innodb_buffer_pool_dump_at_shutdown=1
innodb_log_file_size=1G
innodb_log_buffer_size=32M
innodb_log_files_in_group=2
innodb_flush_log_at_trx_commit=0
innodb_lock_wait_timeout=600
innodb_autoinc_lock_mode=2
innodb_doublewrite=OFF
innodb_thread_concurrency=16
innodb_flush_method=O_DIRECT
innodb_io_capacity=2000
innodb_io_capacity_max=4000
innodb_write_io_threads=32
innodb_read_io_threads=16
innodb_purge_threads=4
innodb_page_cleaners=4
innodb_open_files=65535
innodb_max_dirty_pages_pct=50
innodb_lru_scan_depth=4000
innodb_status_file=1
innodb_change_buffer_max_size=50
innodb_open_files=10000
open_files_limit=10000
[client]
socket=/data/mysql/mysql.sock

初始化 数据库

mysqld --defaults-file=/etc/my.cnf --user=mysql  --initialize

启动zabbix 服务

启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/

初始化日志

touch /var/log/mysql.log
chown mysql.mysql /var/log/mysql.log

启动服务

/etc/init.d/mysql.server start

重置root密码

初始化密码登录MySQL后只能执行修改密码的操作,其它任何操作是不能执行的,使用以下命令修改密码

#初始密码在

grep "password" /var/log/mysql/mysql.log
mysql -uroot -p

#修改密码

alter user 'root'@'localhost' identified by "q1w2E#R$";
flush privileges;

创建zabbix数据库,创建用户并授权

#登录数据库

mysql -uroot -pq1w2E#R$

#创建zabbix 数据库

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;

#创建zabbix 用户

mysql>  create user 'zabbix'@'%' identified by 'password';

#授权localhost 访问

mysql> grant all privileges on zabbix.* to 'zabbix'@'%';

#刷新策略

mysql>flush privileges;

更新用户账户密码的存储方式,默认使用caching_sha2_password

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> quit

Zabbix 编译安装

创建zabbix用户组

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

创建用户家目录

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix

安装依赖环境

yum install gcc libxml2 libxml2-devel net-snmp net-snmp-devel OpenIPMI OpenIPMI-devel libevent libevent-devel curl curl-devel -y

安装 UNIX ODBC

下载 unixODBC 和 unixODBC-devel 包:

yum install -y unixODBC unixODBC-devel

下载zabbix6.0.8源码包

wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.8.tar.gz
tar -zvxf zabbix-6.0.8.tar.gz -C /opt && cd  /opt/zabbix-6.0.8/

导入zabbix数据库

会提示输入密码,上面设置的zabbix密码是password

cd database/mysql
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql

编译安装zabbix

cd /opt/zabbix-6.0.8/
./configure --prefix=/usr/local/zabbix --enable-server \
--enable-agent --with-mysql --enable-ipv6 --with-net-snmp \
--with-libcurl --with-libxml2 --with-openipmi --with-unixodbc
make install

创建链接文件

ln -s  /usr/local/mysql/lib/libmysqlclient.so.21 /usr/lib64/

#配置环境变量

echo 'export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH' >> /etc/profile
source /etc/profile

#手动执行可以不执行(没必要执行)

/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

#批量停止

pkill -f zabbix_server

ZabbIx Server 配置文件

#还需要修改一下配置文件必须要和下面显示的相符/usr/local/zabbix/etc/zabbix_server.conf
[root@kylin02 sbin]#

egrep -v "*#|^$" /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=password
Timeout=4
LogSlowQueries=3000
AllowRoot=1
User=root
StatsAllowedIP=127.0.0.1

配置系统服务

创建 zabbix-server.service 文件并写入内容

cat <<EOL > /etc/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=network.target

[Service]
Type=forking
Environment="LD_LIBRARY_PATH=/usr/local/mysql/lib"
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
PIDFile=/usr/local/zabbix/var/run/zabbix_server.pid
TimeoutStartSec=180
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOL

#修改配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf

#修改以下参数配置

PidFile=/usr/local/zabbix/var/run/zabbix_server.pid

#创建目录并赋权

mkdir -p /usr/local/zabbix/var/run
chown root:root /usr/local/zabbix/var/run
chmod 755 /usr/local/zabbix/var/run

重新加载 systemd 配置以应用新的服务文件

systemctl daemon-reload

启动 Zabbix Server 服务

systemctl start zabbix-server

设置 Zabbix Server 服务在系统启动时自动启动

systemctl enable zabbix-server

检查 Zabbix Server 服务状态

systemctl status zabbix-server

PHP 编译安装

安装PHP依赖环境

yum -y install libtool sqlite-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum install openldap openldap-devel -y

拷贝和链接所需必要文件

cp -frp /usr/lib64/libldap* /usr/lib/
ln -s /usr/lib64/liblber.so /usr/lib/lib

安装oniguruma-6.9.4

wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
tar -xvf  oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4/
./autogen.sh && ./configure --prefix=/usr --libdir=/lib64
make && make install

安装libmcrypt

wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make && make install

编译安装PHP

下载php7.4源文件
cd /opt
wget --timeout=7200 https://www.php.net/distributions/php-7.4.30.tar.gz
tar -xvf  php-7.4.30.tar.gz
cd /opt/php-7.4.30

#安装一些缺失的模块

yum install php-gd -y
yum install -y zlib-devel
编辑PHP的配置项(直接运行下面代码块)
LDFLAGS="-L/usr/lib64 -lz" LIBS="-llber" ./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx \
--enable-inline-optimization --disable-debug --disable-rpath \
--enable-shared --enable-soap --with-xmlrpc \
--with-openssl --with-mhash --with-sqlite3 \
--with-zlib --enable-bcmath --with-iconv --with-bz2 \
--enable-calendar --with-curl --with-cdb --enable-dom \
--enable-exif --enable-fileinfo --enable-filter \
--enable-ftp --with-openssl-dir --with-zlib-dir \
--enable-gd --with-jpeg --with-freetype --with-png \
--enable-gd-jis-conv --with-gettext --with-gmp --with-mhash \
--enable-json --enable-mbstring --enable-mbregex \
--enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
--with-zlib-dir --with-pdo-sqlite --with-readline --enable-session \
--enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg \
--enable-sysvsem --enable-sysvshm --with-xsl --with-ldap --with-ldap-sasl=/usr/lib64 \
--enable-mysqlnd-compression-support --with-pear \
--enable-opcache --disable-fileinfo

编译安装

make -j 3 
make install

PHP环境变量

echo "export PATH=$PATH:/usr/local/php/bin" >> /etc/profile
source /etc/profile

#验证所需模块

php -m | grep -E "zlib|gd|ldap"

拷贝PHP配置文件

cp  /opt/php-7.4.30/php.ini-production   /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
ln -s /usr/local/php/etc/ /etc/php

修改 /usr/local/php/etc/php-fpm.conf 运行用户和组改为nginx

groupadd nginx
useradd -g nginx nginx
chown nginx.nginx /usr/local/php/etc/php-fpm.conf
chown -R nginx.nginx /etc/php

查看PHP 安装模块

php -m

启动php-fpm

启动php-fpm

/usr/local/php/sbin/php-fpm

#相关命令
#查看进程

ps aux | grep php-fpm

#重启php-fpm

kill -USR2 303081

终止php-fpm

kill -INT  303081

启动php-fpm

/usr/local/php/sbin/php-fpm

部署Nginx

安装Nginx所需依赖环境

yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

编译安装Nginx

下载Nginx 源码包
wget -c http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf  nginx-1.20.1.tar.gz -C /opt
cd  /opt/nginx-1.20.1/
编译配置
./configure  \
--with-file-aio --with-ipv6 --with-http_ssl_module \
--with-http_v2_module --with-http_realip_module \
--with-http_addition_module   --with-http_sub_module \
--with-http_dav_module --with-http_flv_module \
--with-http_mp4_module --with-http_gunzip_module \
--with-http_gzip_static_module --with-http_random_index_module \
--with-http_secure_link_module --with-http_degradation_module \
--with-http_slice_module --with-http_perl_module=dynamic \
--with-http_auth_request_module --with-mail=dynamic \
--with-mail_ssl_module --with-pcre --with-pcre-jit \
--with-stream=dynamic --with-stream_ssl_module --with-debug
编译安装
make && make install
启动Nginx

进入安装目录,启动服务器

cd /usr/local/nginx

进入sbin

cd sbin

启动

./nginx -c /usr/local/nginx/conf/nginx.conf

#相关命令,如果方法不了zabbix,就重启nginx试试

查看进程

ps -ef | grep nginx

快速停止(快速关闭所有连接)

/usr/local/nginx/sbin/nginx -s stop

优雅停止(完成当前连接再停止)

/usr/local/nginx/sbin/nginx -s quit

启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

优雅重启(重新加载配置文件)

/usr/local/nginx/sbin/nginx -s reload

配置nginx开机启动

vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

创建软链接

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

Nginx 配置文件(删除原有的内容)

vim /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm index.php;
        }
        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_buffer_size 32k;
            fastcgi_buffers 10240 32k;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

重新加载配置文件

/usr/local/nginx/sbin/nginx -s reload

拷贝Zabbix 前端UI文件

mkdir -p /usr/local/nginx/html/zabbix
chown nginx:nginx /usr/local/nginx/html/zabbix
cp -r /opt/zabbix-6.0.8/ui/* /usr/local/nginx/html/zabbix

Zabbix Web Install

访问 http://ip/zabbix/setup.php

http://192.142.8.93/zabbix/setup.php

报错处理

在这里插入图片描述

安装freetype
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.gz
tar -zxvf freetype-2.9.tar.gz
cd freetype-2.9
./configure --prefix=/user/local/freetype
make && make install
安装libjpeg
wget http://www.ijg.org/files/jpegsrc.v9d.tar.gz
tar -zxvf jpegsrc.v9d.tar.gz
cd jpeg-9d
./configure --prefix=/user/local/libjpeg --enable-shared
make && make install
安装gd扩展
cd /opt/php-7.4.30/ext/gd/
phpize
./configure --with-php-config=/usr/local/php/bin/php-config  --with-jpeg=/user/local/libjpeg  --with-freetype=/user/local/freetype
make && make install
php 参数调整(不需要删除原来的,直接添加)
vim /usr/local/php/etc/php.ini
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai
重启php-fpm

终止php-fpm

ps aux | grep php-fpm
kill -INT  303081

启动php-fpm

/usr/local/php/sbin/php-fpm

至此:刷新,会发现问题已解决

在这里插入图片描述

下一步

在这里插入图片描述

下一步

在这里插入图片描述

下一步

下一步

根据提示操作:下载上传配置到目录:/usr/local/nginx/html/zabbix/conf

在这里插入图片描述

完成:

在这里插入图片描述

agent不用编译安装

上传安装包zabbix-agent-6.0.22-release1.el8.x86_64.rpm

wget https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-agent-6.0.22-release1.el8.x86_64.rpm
rpm -ivh  zabbix-agent-6.0.22-release1.el8.x86_64.rpm

编辑,把这三个参数改一下


```bash
vi /etc/zabbix/zabbix_agentd.conf 
Server=127.0.0.1

#ServerActive=127.0.0.1     注释掉

Hostname=192.168.9.181

重启agent

systemctl restart zabbix-agent

** Zabbix 6.0 UI 中文乱码处理**

在Windows 系统中找到 C:\Windows\Fonts 中的楷体(常规)字体, 上传到/usr/local/nginx/html/zabbix/assets/fonts 目录下

cp DejaVuSans.ttf DejaVuSans.ttf.bak
mv simkai.ttf DejaVuSans.ttf
chmod 755 DejaVuSans.ttf

参考链接

 https://cloud.tencent.com/developer/article/2168923
  • 28
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译安装Zabbix是一个相对复杂的过程,特别是如果你没有使用预编译包。这里是一般的步骤,但请注意,这些步骤可能会根据你的操作系统(如Linux或Windows)以及Zabbix的最新版本有所不同。我假设你已经在服务器上准备好了一个开发环境和必要的依赖。 1. **获取源码**: - 访问Zabbix官网 (https://www.zabbix.com/download) 获取最新的源代码tarball,或者克隆官方GitHub仓库 (https://github.com/zabbix/zabbix.git)。 2. **创建目录并解压**: ```bash mkdir /opt/zabbix cd /opt/zabbix wget https://download.zabbix.com/zabbix/5.4/zabbix-5.4.0.tar.gz tar -xvf zabbix-5.4.0.tar.gz ``` 3. **配置安装**: 进入解压后的目录,运行`./configure`脚本,指定安装路径和配置选项(如数据库连接信息): ```bash ./configure --prefix=/opt/zabbix/install --enable-proxy \ --with-mysql=mysql \ # 或者 --with-postgresql, --with-mssql --with-zabbix-server-user=zabbix --with-zabbix-server-password=password ``` 4. **编译和安装**: ```bash make sudo make install ``` 5. **设置服务**: 在Linux上,可能需要编辑`/etc/init.d/zabbix_server`或`/etc/systemd/system/zabbix-server.service`文件,然后启用服务并启动: ```bash sudo service zabbix_server start sudo systemctl enable zabbix_server ``` 6. **数据初始化**: ```bash sudo zabbix_agentd -z localhost -c /etc/zabbix/zabbix_agentd.conf sudo zabbix_server -z localhost -c /etc/zabbix/zabbix_server.conf ``` 7. **创建管理用户和监控目标**: 使用Web UI (http://localhost:8080/zbadmin) 创建管理员账户和添加监控目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值