Zabbix 6.2.1 安装

news2024/11/18 4:22:29

目录

1、监控介绍

监控的重要性

网站的可用性

监控范畴

如何监控

2、Zabbix 介绍

zabbix 简介

zabbix 主要功能

zabbix 监控范畴

Zabbix 监控组件

zabbix 常见进程

zabbix agentd 工作模式

zabbix 环境监控中概念

3、搭建LNMP

拓扑规划

安装MySQL

安装 Nginx

安装 PHP

4、安装 Zabbix

安装配置

创建导入zabbix数据库

配置本机 zabbix-agent

启动服务

添加zabbix 启动脚本

配置 zabbix web 页面

监控本机

解决zabbix中文乱码问题


1、监控介绍
监控的重要性

对于运维人员来说,监控是非常重要的,因此如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。

我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能。而zabbix就可以做到这些。

总结来说,监控可以给我们带来:

  • 在需要的时刻,提前提醒我们服务器出问题了
  • 当出问题之后,可以找到问题的根源
  • 网站/服务器的可用性
网站的可用性

在软件系统的高可靠性(也称为高可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比

1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天。

2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天。

3个9:(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。

4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。

5个9:(1-99.999%)*365*24*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。

6个9:(1-99.9999%)*365*24*60*60=31秒, 示该软件系统在连续运行1年时间里最多可能的业务中断时间是31秒。

监控范畴

如何监控

远程管理服务器:如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM

监控硬件

  • 查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。
  • 使用ipmitool实现对服务器的命令行远程管理。
  • yum -y install OpenIPMI ipmitool # IPMI在物理机可以成功,虚拟机不行

查看cpu相关:lscpu、uptime、top、vmstat、mpstat

查看内存相关:free

查看磁盘相关的:df、dd、iotop

查看网络相关的:ifconfig、iftop

除了使用系统命令查看计算机状态数据,还可以使用监控工具,如zabbix监控系统。

2、Zabbix 介绍
zabbix 简介

Zabbix是一个高度集成的企业级开源网络监控解决方案,提供分布式监控以及集中的web管理界面。

zabbix具备常见商业监控软件所具备的功能,例如主机性能监控,网络设备性能监控,数据库性能监控,ftp、http等通用协议的监控,能够灵活利用可定制告警机制,允许用户对事件发送基于E-mail的告警,保证相关人员可以快速解决。

zabbix提供杰出的报表及实时的图形化数据处理,实现对监控主机7x24小时集中监控。

Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置,而被监控对象只需要支持SNMP协议或者运行Zabbix agents代理程序即可。服务端监听端口为10051,而被监控端Zabbix-agents代理程序监控10050端口。

zabbix 主要功能

Zabbix是一个高度集成的网络监控套件,可实现如下功能:

数据收集:自定义间隔收集数据。

灵活的阀值定义:灵活地自定义故障阀值,Zabbix中称为触发器(trigger), 存储在后端数据库中;

高级告警配置:自定义告警升级(escalation)、接收者及告警方式;通过远程命令实行自动化动作;

实时绘图:通过内置的绘图引擎实现监控数据实时绘图;

具备应对复杂环境情况:通过Zabbix proxy可以非常容易的创建远程监控

zabbix 监控范畴

硬件监控:Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

系统监控:Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

Java监控:Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。

网络设备监控:Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。

应用服务监控:Zabbix Agent UserParameter

MySQL数据库监控:percona-monitoring-plulgins

URL监控:Zabbix Web 监控

Zabbix 监控组件

主要包括:Zabbix Server、Zabbix Proxy、Zabbix Agent

Zabbix Server:Zabbix Server为核心组件,用来获取agent存活状况及监控数据。所有的配置、统计、操作数据均通过Server进行存取到database;

Zabbix Database:用户存储所有zabbix的配置信息、监控数据的数据库;

Zabbix Web:Zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,通常与zabbix Server运行在同一台主机上,也可以单独部署在独立的服务器上;

Zabbix Proxy:常用于分布监控环境中,代理zabbix Server收集部分被监控的监控数据并统一发往Server端;(通常大于500台主机需要使用)。

Zabbix Agent:部署在被监控主机上,负责收集被监控主机的数据,并发往Server端或Proxy端;

另外,zabbix server、proxy、agent都有自己的配置文件以及log文件,重要的参数需要在这里配置,后面会详细说明。

zabbix 常见进程

默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。

zabbix_agentd

客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。

zabbix_get

zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用来排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

zabbix_sender

zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

zabbix_server

zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java的数据最终都是提交到server

备注,当然数据不都是主动提交给zabbix_server,有的是server主动去取数据。

zabbix_proxy

zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交到server里。

zabbix_java_gateway

zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

zabbix agentd 工作模式

被动模式

主动模式

被动模式一定要记得设置Server = ServerIP。被动模式工作流程:

  • Server 打开一个TCP连接
  • Server发送一个key 到zabbix agent,key的名字为agent.ping
  • Agent接受这个请求,然后响应< HEADER >< DATALEN >
  • Server对接受到的数据进行处理
  • TCP连接关闭

主动模式一定要记得设置ServerActive=ServerIP主动模式工作流程:

  • Agent向Server建立一个TCP连接
  • Agent请求需要检测的数据列表
  • Server响应Agent,发送一个Items列表
  • Agent允许响应
  • TCP连接完成本次会话关闭
  • Agent开始周期性地收集数据
zabbix 环境监控中概念

主机

要监控的网络设备或主机,可由IP或DNS名称指定;

主机群组

主机的逻辑容器,可以包含主机和模板;

监控项

一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;

触发 trigger

一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

事件 event

触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;

动作 action

指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;

报警升级

escalation

发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;

媒介 media

发送通知的手段或者通道,如Email、Jabber或者SMS等;

通知notification

通过选定的媒介向用户发送的有关某事件的信息;

远程命令remote command

预定义的命令,可在被监控主机处于某特定条件下时自动执行;

模板

template

用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、appication以及low-level discovery rule;模板可以直接链接至某个主机;

应用

application

一组item的集合

web场景

web scennario

用于检测web站点可用性的一个或多个HTTP请求;

前端

frontend

Zabbix的web接口;

3、搭建LNMP
拓扑规划

主机名

IP地址

角色

软件版本

node_01

192.168.137.101

zabbix_server

zabbix-6.2.1、LNP

node_02

192.168.137.102

zabbix_agent

zabbix-6.2.1、mysql

安装MySQL

MySQL8.0安装:MySQL Linux安装 · 语雀

① 创建Zabbix 数据库

# 设置root用户密码为admin
mysqladmin -uroot password admin
# 登录MySQL
mysql -uroot -padmin

#创建数据库,名称为zabbix,并将其字符集设置为UTF-8
mysql>create database zabbix charset utf8 collate utf8_bin;

#设置zabbix数据库的所有权限,允许用户zabbix的IP地址127.0.0.1和localhost访问,
#并将zabbix账号的密码设置为zabbix
mysql> grant all privileges  on zabbix.*  to  zabbix@'localhost' identified  by  'zabbix';
mysql> grant all privileges  on zabbix.*  to  zabbix@'127.0.0.1' identified  by  'zabbix';

#刷新权限,使其立即生效
mysql> flush  privileges;
安装 Nginx
# 软件包下载
wget http://nginx.org/download/nginx-1.22.0.tar.gz
tar -zxvf nginx-1.22.0.tar.gz -C /usr/local/src/

# 安装nginx依赖包
yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel \
openssl openssl-devel  pcre pcre-devel 

# 预编译
cd /usr/local/src/nginx-1.22.0/
./configure --prefix=/usr/local/nginx --with-http_dav_module \
--with-http_stub_status_module --with-http_addition_module \
--with-http_sub_module --with-http_flv_module --with-http_mp4_module \
--with-pcre --with-http_ssl_module --with-http_gzip_static_module

# 编译
make -j 2

# 安装
make install

# 添加path变量
ln -s /usr/local/nginx/sbin/* /usr/local/bin/


# 编写nginx服务启动脚本
vim /usr/lib/systemd/system/nginx.service
#----------------服务启动脚本 start-------------------------------
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
#----------------服务启动脚本 end-------------------------------


# 创建nginx程序账号
useradd -M -s /sbin/nologin nginx

# 修改nginx运行账号
vim /usr/local/nginx/conf/nginx.conf
user nginx;

# 启动服务
systemctl start nginx
systemctl enable nginx
安装 PHP

安装依赖环境

# 安装libmcrypt
wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz --no-check-certificate
tar -zxvf libmcrypt-2.5.8.tar.gz -C /usr/local/src

cd /usr/local/src/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt && make && make install

# 安装oniguruma
wget https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-6.9.7.1-1.el7.remi.x86_64.rpm --no-check-certificate
wget https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-devel-6.9.7.1-1.el7.remi.x86_64.rpm --no-check-certificate
yum install -y oniguruma5php-*


# 安装libzip
yum -y remove libzip
wget https://nih.at/libzip/libzip-1.2.0.tar.gz --no-check-certificate
tar -zxvf libzip-1.2.0.tar.gz -C /usr/local/src
cd /usr/local/src/libzip-1.2.0
./configure
make && make install
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

安装php

# 安装依赖包
yum -y install make apr* autoconf automake curl-devel gcc gcc-c++  \
openssl openssl-devel gd kernel keyutils patch perl kernel-headers \
compat* mpfr cpp glibc libgomp libstdc++-devel keyutils-libs-devel \
libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel \
libXpm* freetype libjpeg* libpng*  libtool* libxml2 libxml2-devel \
patch libcurl-devel bzip2-devel freetype-devel php-xmlreader \
php-xmlwriter php-session libjpeg-devel sqlite-devel libwebp 

# 下载php并解压
wget https://www.php.net/distributions/php-7.4.30.tar.gz
tar -zxvf php-7.4.30.tar.gz -C /usr/local/src/
cd /usr/local/src/php-7.4.30/
# 编译安装
./configure --prefix=/usr/local/php7.4.30 --with-config-file-path=/etc --enable-mysqlnd  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-gd --with-iconv -enable-gd --with-iconv --with-expat --with-mhash  --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib   --with-jpeg --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp  --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --with-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-freetype  --enable-bcmath --enable-ctype --with-config-file-scan-dir=/usr/local/php7.4.30/etc/
make && make install

生成fpm配置

cd /usr/local/php7.4.30/etc/
cp php-fpm.conf.default php-fpm.conf
cp /usr/local/php7.4.30/etc/php-fpm.d/www.conf.default /usr/local/php7.4.30/etc/php-fpm.d/www.conf


# 修改默认运行账号:修改默认运行用户,组为nginx
vim /usr/local/php7.4.30/etc/php-fpm.d/www.conf
#--------------------------www.conf------------------
user = nginx
group = nginx
;listen.owner = nginx
;listen.group = nginx
#--------------------------www.conf------------------

# 生成php.ini配置文件
cp /usr/local/src/php-7.4.30/php.ini-production /usr/local/php7.4.30/etc/php.ini
vim /usr/local/php7.4.30/etc/php.ini
#--------------------------php.ini------------------
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
#--------------------------php.ini------------------


# 复制php-fpm启动脚本到init.d
cp /usr/local/src/php-7.4.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm


# 添加开机启动
chkconfig --add php-fpm
chkconfig php-fpm on
# 启动服务
/etc/init.d/php-fpm start

# 查看端口监听状态
netstat -antpu | grep php-fpm

配置 Nginx 支持 index.php

# 修改配置文件
vim /usr/local/nginx/conf/nginx.conf
server {
  listen       80;
  server_name  www.test.com;
  #charset koi8-r;
  #access_log  logs/host.access.log  main;
  location / {
    root   html;
    index  index.php index.html index.htm; #添加index.php
  }
  
  location ~ .*\.(php|php5)?$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    # fastcgi_cache ngx_fcgi_cache;
    # fastcgi_cache_valid 200 302 1h;
    # fastcgi_cache_valid 301 1d;
    # fastcgi_cache_valid any 1m;
    # fastcgi_cache_min_uses 1;
    # fastcgi_cache_use_stale error timeout invalid_header http_500;
    # fastcgi_cache_key http://$host$request_uri;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

注意:测试阶段注释缓存调用。 :set paste 粘贴模式

# 重载nginx
nginx -s reload

# 创建index.php文件
vim /usr/local/nginx/html/index.php
<?php
        phpinfo();
?>

# 创建测试mysql文件
vim /usr/local/nginx/html/test.php
<?php
        $link= new mysqli('192.168.137.101','zabbix','zabbix');
        if ($link)echo "connection success......";
?>

4、安装 Zabbix
安装配置
# 软件包下载
wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.1.tar.gz

# 安装依赖
yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel  OpenIPMI-devel  libssh2-devel libevent libevent-devel mysql-devel

注意:如果是本地yum源安装依赖包,需要安装zabbix_rpm.tar.gz包里的rmp包。

tar -zxvf zabbix_rpm.tar.gz
yum install -y zabbix_rpm/* --skip-broken

# 创建用户
useradd -s /sbin/nologin zabbix


# 预编译
tar -zxvf zabbix-6.2.1.tar.gz -C /usr/local/src/
cd /usr/local/src/zabbix-6.2.1/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --enable-ipv6 --with-ldap

预编译参数

参数说明

--prefix=

指定路径

--enable-server

zabbix Server 支持

--enable-agent

支持 Zabbix agent

--with-mysql

指定 MySql 库,可以选择自定路径mysql_config,mysql_config 是命令,用于编译 mysql 客户端程序,如果没有请安装mysql-devel

--with-net-snmp

支持 snmp 协议,需要安装 net-snmp-devel 包

--with-libcurl

支持 CURL 功能,libcurl 主要功能就是用不同的协议连接不同的服务器,libcurl当前支持的协议有 http,https,ftp,gopher,telent,dict,file,和 ldap 协议

--enable-java

支持java应用监控,编译时最好带上--enable-java这个参数,方便后续监控tomcat程序所用。

--with-openipmi

用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应等

--enable-proxy

指的是支持zabbix 代理服务器,zabbix proxy 是一个监控代理服务器,它收集到监控数据,选存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送的 zabbix server。监控代理服务需要一个独立的数据库。

用zabbix proxy 的好处:进程监控,当监控文遏制通讯不方便的时候,当通讯上千台设备的时候,使用 zabbix_proxy 可以简化维护分布式监控,降低 zabbix server 的负载,

# 按上面的提示,没有 make 步骤,直接 make install
make install

# 添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/

chown -R zabbix:zabbix /usr/local/zabbix

# 配置 zabbix Server
vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost= 192.168.137.112
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306
AllowUnsupportedDBVersions=1 #zabbix6.0版本默认使用mysql8版本,这边开启低版本支持
创建导入zabbix数据库

Zabbix 需要数据库的支持(mysql,oracle,PostgreSQL,SQLite, DB2),而且Zabbix 源码包中已经自带了数据库结构

cd /usr/local/src/zabbix-6.2.1/
ls database/mysql/


yum install -y mariadb
mysql -uzabbix -pzabbix zabbix -h192.168.137.112< database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix -h192.168.137.112< database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix -h192.168.137.112< database/mysql/data.sql
mysql -uzabbix -pzabbix zabbix -h192.168.137.112< database/mysql/double.sql

如果在做分布式的环境中,Proxy服务器只需要导入schema.sql,agent不需要导入。Server必须4个都要导入。

配置本机 zabbix-agent
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.1.11
ListenPort=10050
ServerActive=127.0.0.1,192.168.1.11
Hostname=Zabbix server
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 
UnsafeUserParameters=1
LogFile=/tmp/zabbix_agent.log

mkdir /usr/local/etc/zabbix_agentd.conf.d
  • 其中 Server 和 ServerActive 都指定 Zabbix server 的 IP 地址,不同的是,前者是被动后者是主动。也就是说前者允许 127.0.0.1 这个 ip 来我这取数据。
  • 而 serverActive 的 127.0.0.1 的意思是,客户端主动提交数据给它。
  • Hostname=XXX,这个定义的名字必须和web页面里面host的名字一样。
  • UnsafeUserParameters=1 #允许所有的字符是在用户定义的参数,参数传递,也就是支持自定义脚本
启动服务
# 启动服务:如果 zabbix 用户不存在, 将以 root 运行,新建之后,
# 如果 zabbix 存在,那么直接可以用 zabbix 运行
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

# 查看端口
netstat -anplt | grep 10051
添加zabbix 启动脚本

Zabbix默认有部分启动脚本,如果需要通过脚本的方式来实现,可以使用他的模板来实现,脚本在源码目录的 misc/init.d/下面(使用 fedora 下面的 core 即可,也可以使用 fedroa core5 的脚本均可)

cp /usr/local/src/zabbix-6.2.1/misc/init.d/fedora/core/* /etc/init.d/
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix      #修改zabbix安装目录

vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix      #修改zabbix安装目录

chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on
配置 zabbix web 页面

拷贝php文件到nginx网站目录

cp -r /usr/local/src/zabbix-6.2.1/ui/* /usr/local/nginx/html/
chown -R nginx:nginx /usr/local/nginx/html/


# 查看是否包括了下面所提到的扩展模块
# gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
/usr/local/php7.4.30/bin/php -m

# 重启nginx服务和php-fpm服务
nginx -s reload
/etc/init.d/php-fpm restart

② 访问页面:http://192.168.137.111/setup.php

设置主机名和时区

登录:账户admin,密码zabbix

监控本机
# 启动客户端
/etc/init.d/zabbix_agentd start 
netstat -antup | grep zabbix_agentd

解决zabbix中文乱码问题

从 windows 的控制面板->字体->选择一种中文字库例如“楷体”

把它拷贝到 web 端的 fonts 目录下:/usr/local/nginx/html/assets/fonts/,并确保后缀名为 ttf

cd /usr/local/nginx/html/assets/fonts/
cp DejaVuSans.ttf DejaVuSans.ttf.bak 
mv simkai.ttf DejaVuSans.ttf #替换字体

# 刷新页面查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1462451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vulkan Tutorials 01】【环境搭建】三角形例子

Development Environment&#xff08;开发环境&#xff09; 1. 安装Vulkan SDK 官网 2. 安装cmake和minGW 2.1 cmake 官网 双击可执行文件&#xff0c;然后直接安装&#xff0c;注意环境变量选择设置&#xff0c;否则需要自己操作。 2.2 minGW 官网 下载如下图所示&am…

Qt应用-天气预报实例

本文讲解Qt实现天气预报实例。 实现的功能 网络实时获取和显示6天的天气参数并绘制温度趋势曲线; 测试当前网络连接情况; 获得当前的IP地址的行政位置信息; 设计界面如下: 创建保存天气数据的类 #ifndef WEATHERDATA_H #define WEATHERDATA_H #include <QString>…

如何使用ArcGIS Pro生成等高线

无论在制图还是规划中&#xff0c;经常会使用到等高线&#xff0c;大多数情况下&#xff0c;从网上获取的高程数据都是DEM文件&#xff0c;我们可以通过ArcGIS Pro来生成等高线&#xff0c;这里为大家介绍一下生成方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的…

【转载】企业资产收集与脆弱性检查工具

简介 云图极速版是针对拥有攻击面管理需求的用户打造的 SaaS 应用&#xff0c;致力于协助用户管理互联网资产攻击面的 SaaS 化订阅服务产品。可实现对备案域名、子域名、IP、端口、服务、网站、漏洞、安全风险等场景进行周期性监控&#xff0c;支持多维度分析攻击面。利用可视化…

下一代自动化爬虫神器--playwright,所见即所得,配合逆向不要太香!!!

文章目录 1.Playwright介绍2.与 Selenium 和 pyppeteer 相比&#xff0c;Playwright 具有以下几个区别和优势3.在爬虫中使用 Playwright 的好处4.环境安装5.屏幕录制6.保留记录cookie信息7.playwright代码编写详解1.第一个Playwright脚本&#xff08;1&#xff09;同步模式&…

小米标准模组+MCU 快速上手开发(二)——之模组串口调试

小米标准模组MCU 开发笔记之固件调试 背景技术名词简介● 小米IoT开发者平台● 小米IoT 模组● 固件● OTA● CRC32 固件双串口调试● MHCWB6S-IB 模组资料下载● MHCWB6S-IB 模组管脚图● 上电调试 背景 小米标准模组MCU的开发过程中&#xff0c;由于部分官方资料较为古早&am…

解决MobaXterm网络错误连接超时问题

报错页面&#xff1a; 报错原因&#xff1a; ①网络断开了 ②网络端口&#xff0c;端口号改变 解决办法&#xff1a; ①重新连接网络按R ②固定端口号 第一步&#xff1a;编辑------>虚拟机网络编辑器&#xff08;我的Linux在虚拟机里&#xff09; 第二步&#xff1a;用…

【触想智能】工业平板知识分享|选购工业平板电脑需要注意的7大事项

工业平板电脑是一种将显示器、工控主板、触摸屏和其他电子设备整合在一起的电子产品。它广泛应用于工业控制和自动化领域。 在购买工业平板电脑时&#xff0c;需要考虑一些关键性因素&#xff0c;以确保工业平板电脑是安全可靠、运行稳定的。那么我们在购买工业平板电脑的时候&…

js设计模式:计算属性模式

作用: 将对象中的某些值与其他值进行关联,根据其他值来计算该值的结果 vue中的计算属性就是很经典的例子 示例: let nowDate 2023const wjtInfo {brithDate:1995,get age(){return nowDate-this.brithDate}}console.log(wjtInfo.age,wjt年龄)nowDate 1console.log(wjtInf…

5 原型模式 Prototype

1.模式定义: 指原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象 2.应用场景&#xff1a; 当代码不应该依赖于需要复制的对象的具体类时&#xff0c;请使用Prototype模式。 Spring源码中的应用 org.springframework.beans.factory.support.AbstractB…

飞天使-k8s知识点24-kubernetes实操9-数据存储2配置存储

文章目录 高级存储pvc生命周期 配置存储secret 高级存储 前面已经学习了使用NFS提供存储&#xff0c;此时就要求用户会搭建NFS系统&#xff0c;并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多&#xff0c;要求客户全都掌握&#xff0c;显然不现实。为了能够屏蔽底层…

排序算法1:冒泡排序、快速排序、插入排序

排序算法&#xff1a;交换类排序&#xff0c;插入类排序、选择类排序、归并类排序 交换类排序&#xff1a;冒泡排序、快速排序 一、冒泡排序 #include <stdio.h> #include <stdlib.h> #include <time.h> typedef int ElemType; typedef struct{ElemType *e…

C++面试宝典第31题:有效的数独

题目 判断一个9 x 9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 1、数字1-9在每一行只能出现一次。 2、数字1-9在每一列只能出现一次。 3、数字1-9在每一个以粗实线分隔的3 x 3宫内只能出现一次。 下图是一个部分填充的有效的数独,数独部分空格内已…

Django学习笔记-HTML实现MySQL的图片上传

1.django项目编写index.html代码 创建form表单,路由指向upload,请求方式post,enctype设置"multipart/form-data", post请求添加{% csrf_token %},编写两个input,上传和提交 2.添加upload路由 3.views中创建upload 1).获取上传的文件,没有上传则返回"没有指定…

面试答疑03

1、登录鉴权怎么做的&#xff1f;为什么采用jwt的方式&#xff1f;有什么好处&#xff1f; Java登录鉴权常见的实现方式包括**CookieSession、HTTP Basic Authentication、ServletJDBC**等。 在Java的Web应用中&#xff0c;登录鉴权是确认用户身份的关键环节。一个常用的传统…

线性代数:向量空间

目录 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2

计算机设计大赛 深度学习卫星遥感图像检测与识别 -opencv python 目标检测

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐…

Ps:灰度模式

Ps菜单&#xff1a;图像/模式/灰度 Image/Mode/Grayscale 灰度 Grayscale模式是一种特定的色彩模式&#xff0c;用于处理没有彩色信息的图像。 在灰度模式下&#xff0c;图像不包含颜色&#xff0c;只显示黑色、白色及其间的灰色阶。 这种模式对于需要强调光影、纹理和形状而不…

速卖通跨境智星批量注册账号所需要的资源介绍

在寻找批量注册速卖通买家账号的道路上&#xff0c;我们发现了一个强大的工具——速卖通跨境智星。但在使用它之前&#xff0c;我们需要准备以下关键资源&#xff1a; 邮箱&#xff1a;注册买家号必不可少的资源之一。我们推荐使用国外的邮箱服务&#xff0c;比如outlook、Hot…

不破不立,那些年错过的Python

随着OpenAI的发展&#xff0c;Python的重要性不言而喻。不知你是否和我一样&#xff0c;不知道曾经说过多少次我要学Python&#xff0c;都没有执行起来… 近期我在知识库中更新了一波Python教程&#xff0c;选取了这一篇分享给大家。 前言 很多时候我们需要让程序变成交互性的…