Zabbix 6.2.1 安装

目录

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/srccd /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
<?phpphpinfo();
?># 创建测试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.logmkdir /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.mzph.cn/news/694926.shtml

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

相关文章

【智能家居】7、主程序编写+实现语音、网络和串口功能

需要毕业论文私信有偿获取 截止目前mainPro.c代码 #include <stdio.h> #include <string.h>#include "controlDevices.h" #include "inputCmd.h"struct Devices *findDevicesName(char *name,struct Devices *phead){struct Devices *tmp=ph…

2012及其以上系统修改服务器密码指南

修改服务器密码指南,目前介绍两种不同的方案 方法一 指令式 winR键 弹出运行框里输入 cmd 点击确认或者右下角开始程序里面的点开运行 2.在弹出框里手动输入以下一组文字&#xff1a;net user administrator 123456 框内无法粘贴 需要手动输入 其中administrator 是用…

贝叶斯统计——入门级笔记

绪论 1.1 引言 全概率公式 贝叶斯公式 三种信息 总体信息 当把样本视为随机变量时&#xff0c;它有概率分布&#xff0c;称为总体分布&#xff0e; 如果我们已经知道总体的分布形式这就给了我们一种信息&#xff0c;称为总体信息 样本信息 从总体中抽取的样本所提供的信息 先…

【PX4学习笔记】13.飞行安全与炸机处理

目录 文章目录 目录使用QGC地面站的安全设置、安全绳安全参数在具体参数中的体现安全绳 无人机炸机处理A&#xff1a;无人机异常时控操作B&#xff1a;无人机炸机现场处理C&#xff1a;无人机炸机后期维护和数据处理D&#xff1a;无人机再次正常飞行测试 无人机飞行法律宣传 使…

22. 【Linux教程】Linux 结束进程

前面小节介绍了如何启动一个程序进程&#xff0c;还介绍了如何查看系统进程信息&#xff0c;本小节来介绍如何通过 kill 命令结束进程。 1. Linux 进程信号介绍 下面列举出 Linux 进程信号的描述&#xff1a; 信号名称描述1HUP挂起2INT中断3QUIT结束运行9KILL无条件终止11SEG…

STM32CubeIDE开发(二), 全面解析cubeMX图形配置工具

STM32CubeIDE开发(二&#xff09;&#xff0c; 全面解析cubeMX图形配置工具 已于 2023-03-15 10:31:13 修改1374 收藏 29 分类专栏&#xff1a; ​编辑STM32CubeIDE开发实践案例专栏收录该内容 36 篇文章43 订阅 订阅专栏 目录 一、cubeIDE 集成cubeMX 二、STM32CubeMX…

Python format函数

在Python编程中&#xff0c;format()函数是一个非常重要且常用的字符串格式化方法&#xff0c;用于将各种数据类型插入到字符串中&#xff0c;并指定其格式。这个函数可以动态地生成各种格式的字符串&#xff0c;包括文本、数字、日期等。本文将深入探讨Python中的format()函数…

【Vuforia+Unity】AR04-地面、桌面平面识别功能

不论你是否曾有过相关经验&#xff0c;只要跟随本文的步骤&#xff0c;你就可以成功地创建你自己的AR应用。 官方教程Ground Plane in Unity | Vuforia Library 这个功能很棒&#xff0c;但是要求也很不友好&#xff0c;只能支持部分移动设备&#xff0c;具体清单如下&#xf…

Socket通信---Python发送数据给C++程序

0. Problems 很多时候实现某种功能&#xff0c;需要在不同进程间发送数据&#xff0c;目前有几种主流的方法&#xff0c;如 让python和C/C程序互相发送数据&#xff0c;其实有几种方法&#xff1a; 共享内存共享文件Socket通信 在这里只提供Socket通信的例程&#xff0c;共享…

挑战30天学完Python:Day16 日期时间

&#x1f4d8; Day 16 &#x1f389; 本系列为Python基础学习&#xff0c;原稿来源于 30-Days-Of-Python 英文项目&#xff0c;大奇主要是对其本地化翻译、逐条验证和补充&#xff0c;想通过30天完成正儿八经的系统化实践。此系列适合零基础同学&#xff0c;或仅了解Python一点…

奇异递归模板模式应用5-静态多态

动态多态&#xff1a;C动态多态是利用虚函数特性实现的&#xff0c;即基类指针(引用&#xff09;指向派生类指针(引用)。由于虚函数的实现是在运行期进行的&#xff0c;因而会产生运行期开销&#xff08;虚表指针偏移&#xff0c;与分支预测器和CPU指令流水线相关&#xff09;。…

【关于深度学习的一些资料】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 动手学深度学习Awesome Deep LearningTensorFlow Official ModelsPyTorch Image ModelsDeep Reinforcement LearningNeural Style Transfer 动手学深度学习 动手学深度学习 https://zh.d2l.ai/chapter_installation/index.…

Java Web(七)__Tomcat(二)

Tomcat工作模式 Tomcat作为Servlet容器&#xff0c;有以下三种工作模式。 1&#xff09;独立的Servlet容器&#xff0c;由Java虚拟机进程来运行 Tomcat作为独立的Web服务器来单独运行&#xff0c;Servlet容器组件作为Web服务器中的一部分而存在。这是Tomcat的默认工作模式。…

Java Web(七)__Tomcat(一)

JavaWeb 服务器 介绍 为什么需要&#xff1f; Web服务器是一个应用程序&#xff08;软件&#xff09;&#xff0c;对HTTP协议的操作进行封装&#xff0c;使得程序员不必直接对协议进行操作&#xff0c;让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。Web服…

Web安全之浅见

备注&#xff1a;这是我在2017年在自己的网站上写的文章&#xff0c;今天迁移过来。 昨天去参加了公司组织的一个关于网络安全的培训&#xff0c;了解了很多关于网络安全方面的知识&#xff0c;也才意识到网络安全是一项极其重要的领域。 本篇文章主要聊聊Web安全。不过我对于网…

C语言:指针(一)

目录 1.内存和地址2. 指针变量和地址2.1 取地址操作符&#xff08;&&#xff09;2.2 指针变量和解引用操作符&#xff08;*&#xff09;2.2.1 指针变量2.2.2 解引用操作符&#xff08;*&#xff09; 2.3 指针变量的大小 3.指针变量的类型和意义3.1 指针的解引用3.2 指针 -指…

【PyTorch][chapter 17][李宏毅深度学习]【无监督学习][ Auto-encoder]

前言&#xff1a; 本篇重点介绍AE&#xff08;Auto-Encoder&#xff09; 自编码器。这是深度学习的一个核心模型. 自编码网络是一种基于无监督学习方法的生成类模型,自编码最大特征输出等于输入 Yann LeCun&Bengio, Hinton 对无监督学习的看法. 目录&#xff1a; AE 模型原…

FPGA OSERDESE2

Output Parallel-to-Serial Logic Resources (OSERDESE2) OSERDESE2 在Xilinx 7 系列器件是一款专用的并行至串行转换器,具有特定的时钟和逻辑资源,旨在促进高速源同步接口的实现。每个OSERDESE2模块都包括一个专用的数据串行器和 3 状态控制。数据和 3 态串行器都可以在 SD…

Edwards爱德华STP系列-A1603分子泵使用维修保养说明

Edwards爱德华STP系列-A1603分子泵使用维修保养说明

前端基础自学整理|DOM树

DOM&#xff0c;文档对象模型&#xff08;Document Object Model&#xff09;&#xff0c;简单的说&#xff0c;DOM是一种理念&#xff0c;一种思想&#xff0c;一个与系统平台和编程语言无关的接口&#xff0c;一种方法, 使 Web开发人员可以访问HTML元素&#xff01;不是具体方…