Zabbix企业级分布式监控环境部署
“运筹帷幄之中,决胜千里之外”。在IT运维中,监控占据着重要的地位,按比例来算,说占30%一点也不为过。对IT运维工程师来说,构建一个真正可用的监控告警系统是一项艰巨的任务。在监控系统的开源软件中,可供选择的工具众多,然而真正符合需求,能够真正解决业务问题的监控系统软件却凤毛麟角。
一:监控系统的功能概述
监控、从中文的字义来看,有两个内容,一是检测,二是控制。重点在第一个字眼,即检测、预防的意思。
监控,对应的英文单词是Monitoring。在计算机领域,可以将其分为5种监控类型。
- 应用性能监控
- 业务交易监控
- 网络性能监控
- 操作系统监控
上面5种类型将监控这个概念划分成了多个领域。我们通常所说的监控,都会模糊的包含以上5个细分的领域。在任何一个IT业务环境中,都会存在各种各样的硬件设备、软件应用等。
按照逻辑层次划分,我们可以将我们可以将监控行为划分为5个层次:基础设施监控、系统层监控、应用层监控、业务监控、端用户体验监控。
最底层基础设施监控:这层一般由运维人员负责,涉及到的方面比较接近硬件体系,例如网络,交换机,路由器等低层设备,这些设备的可靠性稳定性就直接影响到上层服务应用的稳定性,所以需要对网络的流量,丢包情况、错包情况,连接数等等这些基础设施的核心指标进行监控。
系统层监控:这层涵盖了物理机、虚拟机、操作系统等,这些都是属于系统级别监控的方面,主要对几个核心指标进行监控,如cpu使用率、内存占用率,磁盘IO和网络带宽情况。
应用层监控:这层涉及到方面和服务紧密相关,例如对url访问的性能,访问的调用数,访问的延迟,还有对服务提供性能进行监控,服务的错误率等,同时对sql也需要进行监控,查看是否有慢sql。对于cache来说,需要监控缓存的命中率和性能,每个服务的响应时间等等。
业务监控:业务监控具体指什么?举个例子,比如说一个典型的交易网站,需要关注它的用户登录情况、注册情况、下单情况、支付情况等等,这些直接影响到实际触发的业务交易情况,这层监控可以提供给运营和公司高管们,提供他们需要关注的数据,直接以数据支撑公司在战略层面的决策和方向。
端用户体验监控:一个应用程序可能通过app、h5、pc端的方式交付到用户的手上,用户通过浏览器,客户端打开连到我们的服务,那么在用户端,用户的体验是怎么样?用户端的性能是怎么样?以及有没有产生错误等等……这些信息都需要进行监控并记录下来,如果没有监控,有可能因为某些BUG或者性能问题,造成用户体验非常差,而我们并没有感知。其中包括监控用户端的使用性能、返回码,在哪些城市地区,他们的使用情况是怎么样,还有运营商的情况,包括三大运营商不同用户的连接情况。我们需要进一步知道,是否有哪些渠道哪些用户接入的时候存在着问题,我们还需要知道客户端使用的操作系统浏览器的版本。
二:监控系统的实现原理
1:模块组成
一个监控系统的组成大体可以分为两部分:数据采集部分和数据存储、分析告警、展示部分,这两部分构成了监控系统的基本模型。
2:采集协议
按照支持的协议方式,监控IT数据采集可以分为两种:专用客户端采集和公用协议采集。
3:监控模式
监控系统数据采集的工作模式可以分为被动模式和主动模式。被动模式指的是服务器端到客户端采集数据;主动模式是客户端主动上报数据到服务器。
一般来说被动模式对监控端服务器的开销较大,适合小规模的监控环境;被动模式对监控端服务器的开销较小,适合大规模的监控环境。
4:代理架构
对于大规模的监控环境,被监控节点比较多,并且监控类型也很多,监控产生的数据和网络连接开销非常大,数据采集方式除了使用主动模式之外,还需要使用代理的架构,通过代理架构分摊服务器端的性能开销。另外,代理架构还支持跨地域、跨网络的分布式监控。常见的代理架构为C/S/P架构,即Client/Proxy/Server。
三:监控系统的开源产品
1:zabbix
Zabbix是一款出色的企业级运维监控平台,可用于监控从服务器、网络设备到Web应用程序和数据库的性能和可用性的一切;它可以安装在 Linux、AIX、Windows、Solaris、MacOS X、FreeBSD、OpenBSD 等系统上使用,具有非常良好的适配能力
2:Prometheus+Grafana
Prometheus是一个开源系统监控和警报工具包,主要用于对基础设施的监控,包括服务器(CPU、MEM等)、数据库(MYSQL、PostgreSQL等)、Web服务等,几乎所有东西都可以通过Prometheus进行监控。
3:Cacti
Cacti是一款网络流量监测图形分析工具,它连接到RRDTool,生成与网络数据相关的图表,具有非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板。
4:Nagios
Nagios 是一个监控系统运行状态和网络信息的监控系统,它可以监控所指定的本地或远程主机以及服务,同时提供异常通知功能等;能够监控几乎所有类型的组件,如网络协议、操作系统、系统指标、应用程序、服务、Web服务器、网站、中间件等。
5:Checkmk
Checkmk是一个高度可扩展的监控工具,可监控服务器、网络、云资产、数据库、容器、物联网等。它有两种模式可用,基础版完全开源并提供免费和无限制的监控,企业版附带附加功能。
Checkmk具有部署快、高度自动化、配置灵活的特点。
6:OpenNMS
OpenNMS 是一个企业级基于 Java/XML 的分布式网络和系统监控管理平台。它能够显示网络中各中终端和服务器的状态和配置,为管理网络提供有效的信息。它专为 Linux 设计,但也支持 Windows、Solaris 和 OSX。
OpenNMS可以使用JMX、WMI、SNMP、NRPE、XML HTTP、JDBC、XML、JSON等收集系统指标。
7:Netdata
Netdata 是一款 Linux 性能实时监测工具,它可以为 Linux 系统、应用程序、SNMP 服务等提供实时的性能监测,目前在物理系统、虚拟机、容器和物联网/边缘设备上运行。Netdata具有监控指标多而广,数据收集速度快等特点,可以同时并发监控数万个指标,交互式可视化和富有洞察力的健康警报,可以即时诊断基础架构中的异常情况。
8:LibreNMS
LibreNMS 是一个开源、功能丰富且强大的网络监控系统,易于安装和配置,可以在多种平台上使用;它提供了广泛的功能,包括对各种协议的支持、性能监控、警报等;支持广泛的供应商、设备和协议,包括Cisco、Linux、Windows、HP、Juniper、Dell、FreeBSD、Brocade、Citrix、F5 Networks 等; 还可以根据接口进行接口分组,使用SNMP、CDP、ARP、FDP、OSPF、LLDP、BGP自动发现整个网络。
四: Zabbix 系统概述
1:初识 Zabbix
Zabbix是什么,它是一种企业级的分布式开源监控系统的解决方案,Zabbix 是一个基于 Web 界面的提供分布式系统监控,以及网络监控功能的企业级开源解决方案。
Zabbix 由 Alexei Vladishev 创建,目前由 Zabbix SIA 主导开发和支持。
Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。Zabbix 基于存储的数据提供出色的报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。
Zabbix 支持轮询和 trapping。所有 Zabbix 报告和统计数据以及配置参数都可以通过基于 Web 的前端访问。基于 Web 的前端确保可以从任何位置评估您的网络状态和服务器的健康状况。如果配置得当,不管对于拥有少量服务器的小型组织还是拥有大量服务器的大公司来讲,Zabbix 都可以在监控 IT 基础设施方面发挥重要作用。
Zabbix 是免费的。Zabbix 是在 GPL 通用公共许可证第 2 版下编写和分发的。这意味着它的源代码是免费分发的,可供公众使用。
2:Zabbix的功能特性
(1)数据收集
- 可用性及性能检测;
- 支持 SNMP(trapping 及 polling)、IPMI、JMX 监控;
- 自定义检测;
- 自定义间隔收集收据;
- 三种角色:Server、Proxy、Agent。
(2)灵活的阈值定义
允许灵活地自定义问题阀值,在 Zabbix 中称为触发器(trigger), 存储在后端数据库中。
(3)高级告警配置
- 可以自定义告警升级(escalation)、接收者及告警方式;
- 告警信息可以配置,并允许使用宏(macro)变量;
- 通过远程命令实行自动化动作(action)。
(4)实时绘图
通过内置的绘图方法实现监控数据实时绘图。
(5)扩展的图形化显示
- 允许自定义创建多监控项视图;
- 生成网络拓扑(network maps);
- 自定义的面板(screen)和 slide shows,并允许在 dashboard 页面显示;
- 生成监控报告。
(6)历史数据存储
- 数据存储在数据库中;
- 历史数据可配置;
- 内置数据清理机制。
(7)配置简单
- 一次配置,终生监控,除非调整或删除;
- 允许使用模板添加监控设备。
(8)模板使用
- 模板中可以添加组监控;
- 模板允许继承。
(8)网络自动发现
- 自动发现网络设备;
- Agent 自动注册;
- 自动发现文件系统、网卡设备、SNMP OID 等。
(9)快速的 Web 接口
- Web 前端采用 PHP 编写;
- 访问无障碍。
(10)Zabbix API
Zabbix API 提供程序级别的访问接口,第三方程序可以很快接入。
(11)权限系统
- 安全的权限认证;
- 用户可以限制允许维护的列表。
(12)全特性、Agent 易扩展
- 在监控目标上部署;
- 支持 Linux 及 Windows。
(13)二进制守护进程
(1) C 语言开发,高性能,低内存消耗;
(2) 易移植。
(14)具备应对复杂环境情况
通过 Zabbix Proxy 可以非常容易的创建远程监控。
3:Zabbix 角色及架构
(1)Zabbix Server
zabbix_server 是 Zabbix 服务端守护进程。Zabbix Agentd、Zabbix Proxy 的数据最终
都是提交到 Server。当然,并不是所有数据都主动提交给 Zabbix Server,也有的是 Server 主动获取数据。
(2)Zabbix Agent
zabbix_agentd 是客户端守护进程,此进程主要用于收集客户端数据,例如 CPU 负载、内存、硬盘使用情况等。
(3)Zabbix Proxy
zabbix_proxy 是 Zabbix 代理守护进程,功能类似 Server。不同的是,zabbix_proxy只是一个中转站,它需要把收集到的数据提交/被提交到 Server。
(4)Zabbix_Web
zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,通常与zabbix_server运行在同一台主机上,也可以单独部署在独立的服务器上。
(5)Zabbix 整体架构
五:实验拓扑结构
1:设备列表
设备 | 主机名 | IP地址 | 系统 | 软件 |
zabbix server | ZBX | 192.168.207.131 | CentOS7.9 | zabbix server 6.4.8 |
zabbix proxy | proxy | 192.168.207.165 | CentOS7.9 | zabbix proxy 6.4.8 |
zabbix agent | agent01 | 192.168.207.166 | CentOS7.9 | zabbix agent 6.4.8 |
zabbix agent | agent02 | 192.168.207.167 | CentOS7.9 | zabbix agent 6.4.8 |
2:拓扑结构
六:LNMP环境的搭建(在server主机上)
1:配置yum仓库
修改主机名
(1)下载阿里的仓库文件
[root@localhost ~]# hostnamectl set-hostname ZBX
[root@proxy ~]# hostnamectl set-hostname proxy
[root@agent01 ~]# hostnamectl set-hostname agent01
[root@agent02 ~]# hostnamectl set-hostname agent02
#在第一台机器操作 切换阿里源
[root@zbx ~]# curl -o \
/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@zbx ~]# curl -o \
/etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
(2)安装php7的仓库
[root@zbx ~]# yum -y \
install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
(3)生成mariadb10.11的仓库文件
[root@zbx ~]# cat <<EOF> /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/centos/7/x86_64/
gpgcheck=0
EOF
(4)清空yum缓存
[root@zbx ~]# yum clean all
2:安装php74、nginx、mariadb
(1)安装php7.4和nginx
[root@zbx ~]# yum install -y --enablerepo=remi \
--enablerepo=remi-php74 mod_php php-gd* php php-opcache php-mbstring php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-fpm php-devel php-bcmath php-ldap gcc* libxml2-devel net-snmp net-snmp-devel libevent-devel curl-devel
(2)安装mariadb-10.11
[root@zbx ~]# yum -y install mariadb-server mariadb-devel nginx
备注:
zabbix6.4.8需要的各个平台软件的版本如下:
mysql的版本要求8.0.30-8.1.X
mariadb的版本要求10.5.00-11.1.X
nginx的版本要求1.20 or later
php的版本要求7.4.0 - 8.2.X
3:关闭防火墙
[root@zbx ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@zbx ~]# setenforce 0
[root@zbx ~]# systemctl disable firewalld
[root@zbx ~]# systemctl stop firewalld
4:配置nginx
(1)生成nginx配置文件
cd /etc/nginx
cp nginx.conf nginx.conf.bak
rm -rf nginx.conf
cp nginx.conf.default nginx.conf
(2)修改nginx配置文件
[root@zbx ~]# vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
}
5:启动服务
systemctl start nginx
systemctl enable nginx
systemctl start php-fpm
systemctl enable php-fpm
systemctl start mariadb
systemctl enable mariadb
cd
6:设置数据库密码
[root@zbx ~]# mysqladmin -u root password 'pwd123'
7:测试LNMP环境
[root@zbx ~]# mkdir /www
[root@zbx ~]# vi /www/test.php
<?php
$link=mysqli_connect('127.0.0.1','root','pwd123');
if($link) echo "恭喜你,数据库连接成功啦!!";
mysqli_close($link);
?>
8:修改php.ini
[root@zbx ~]# vi /etc/php.ini
max_execution_time = 300 ##388行,最长执行时间是 30 秒,数值 0 表示没有
##执行时间的限制,你的程序需要跑多久便跑多久
max_input_time = 300 ##398行,以秒为单位设定了脚本接收输入的最大时间
date.timezone =Asia/Shanghai ##923行
post_max_size = 16M ##694,服务器可以接收的最大POST数据大小
bcmath.scale = 1 ##1205,所有 bcmath 函数中十进制数字的数目
9:修改php-fpm
[root@zbx ~]# useradd -M -s /sbin/nologin zabbix
[root@zbx ~]# vi /etc/php-fpm.d/www.conf
user = zabbix #在24行左右
group = zabbix #在26行左右
systemctl restart php-fpm
在浏览器访问ip 查看是否部署成功
七:zabbix的安装与配置(在server主机上)
1:创建zabbix数据库并导入数据
(1)创建zabbix数据库
[root@zbx ~]# mysql -uroot -ppwd123
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
MariaDB [(none)]> grant all privileges on zabbix_proxy.* TO 'zabbix'@'localhost' identified BY 'zabbix';
MariaDB [(none)]> grant all privileges on zabbix_proxy.* TO 'zabbix'@'%' identified BY 'zabbix';
(2)导入zabbix数据
[root@zbx ~]# tar zxvf zabbix-6.4.8.tar.gz
[root@zbx ~]# cd zabbix-6.4.8/database/mysql/
[root@zbx mysql]# mysql -uzabbix -pzabbix zabbix <schema.sql
[root@zbx mysql]# mysql -uzabbix -pzabbix zabbix <images.sql
[root@zbx mysql]# mysql -uzabbix -pzabbix zabbix <data.sql
[root@zbx mysql]# mysql -uzabbix -pzabbix zabbix_proxy <schema.sql
备注:
如果需要运行zabbix server,需要导入schema.sql、images.sql、data.sql 这三个文件到zabbix数据库
如果需要运行zabbix proxy,还需要导入schema.sql到zabbix_proxy数据库。
2:zabbix的安装与配置
(1)源码安装zabbix
[root@zbx mysql]# cd /root/zabbix-6.4.8
[root@zbx zabbix-6.4.8]# ./configure --prefix=/usr/local/zabbix/ \
--enable-server --enable-agent \
--with-mysql \
--with-libcurl \
--with-libxml2 \
--with-net-snmp \
--with-unixODBC \
--with-zabbix-get
[root@zbx zabbix-6.4.8]# make
[root@zbx zabbix-6.4.8]# make install
备注:
--prefix=/usr/local/zabbix:指定zabbix安装路径
--enable-server:启动server端
--enable-agent:启动agent端
--with-mysql:编译连接mysql相关依赖包
--with-libcurl:启动curl相关 ,对 SMTP 身份验证
--with-libxml2:启动xml相关 ,提供对XML文档的各种操作
--with-net-snmp:启动snmp相关,用于snmp监控设备 ,支持snmp协议
--with-unixodbc:启动odbc相关用于监控数据库
--with-zabbix-get:zabbix_get 是一种命令行的应用
--enable-java:启动java-agent 用于监控java类,需要安装JAVA环境
--enable-ipv6:启用IPv6
--with-libcurl 和 --with-libxml2 配置选项对虚拟机监控是必须的
(2)优化命令路径
[root@zbx zabbix-6.4.8]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
[root@zbx zabbix-6.4.8]# ln -s /usr/local/zabbix/bin/* /usr/local/bin
(3)服务控制脚本的优化
[root@zbx zabbix-6.4.8]# cd /root/zabbix-6.4.8/misc/init.d/fedora/core
[root@zbx zabbix-6.4.8]# cp zabbix_agentd /etc/init.d/
[root@zbx zabbix-6.4.8]# cp zabbix_server /etc/init.d/
[root@zbx zabbix-6.4.8]# cd /etc/init.d/
[root@zbx init.d]# vi zabbix_agentd
BASEDIR=/usr/local/zabbix
[root@zbx init.d]# vi zabbix_server
BASEDIR=/usr/local/zabbix
(4)修改zabbix服务端参数
[root@zbx init.d]# cd /usr/local/zabbix/etc
[root@zbx etc]# vi zabbix_server.conf
LogFile=/tmp/zabbix_server.log #在38行左右
LogFileSize=1024 # 单位M, 47
DBHost=localhost # 数据库主机名 在87行取消注释
DBName=zabbix # 数据库中库名 99
DBUser=zabbix # 数据库用户名 115
DBPassword=zabbix # 用户密码 在123行左右取消注释
#一下内容可根据需求,本次实验无需修改
Timeout=10 ##超时时间,秒 465
CacheSize=256M # 根据内存情况尽量调大 402
HistoryCacheSize=256M # 根据内存情况尽量调大 427
TrendCacheSize=256M
ValueCacheSize=256M
StartTrappers=30
StartPollers=10 # agent端的数量
(5)修改zabbix代理端参数(本次实验无需修改)
[root@zbx etc]# vi zabbix_agentd.conf
Server=127.0.0.1 ##113
ServerActive=127.0.0.1 ##167
Hostname=Zabbix server ##178
备注:
利用HostnameItem可以动态获取主机的名称。
如果配置 HostnameItem=system.hostname 而未配置 Hostname=xxx 参数,那么在web监控页面显示的主机的可见名称为 客户端主机的主机名(即通过 hostname 命令得到的结果)
如果配置 Hostname=xxx 而未 HostnameItem=system.hostname 参数,那么在web监控页面显示的主机的可见名称为 xxx
如果未配置 HostnameItem=system.hostname 和 Hostname=xxx 这两个参数,那么在web监控页面显示的主机的可见名称为 客户端主机的主机名(即通过 hostname 命令得到的结果)
如果同时配置 HostnameItem=system.hostname 和 Hostname=xxx 参数,那么在web监控页面显示的主机的可见名称为 xxx (即以配置文件中的Hostname 定义的为准)
要对一大批主机进行自动配置时,这里就可以使用HostnameItem ,所有的主机都使用一个模板进行批量部署,就避免了每台主机再去单独设置hostname的麻烦
(6)拷贝zabbix网站程序到httpd的网站根目录下
[root@zbx etc]# cd /root/zabbix-6.4.8/ui
[root@zbx ui]# cp -rf * /www
[root@zbx ui]# chown -R zabbix:zabbix /www
[root@zbx ui]# cd ~
(7)启动zabbix
[root@zbx ~]# chkconfig --add zabbix_agentd
[root@zbx ~]# chkconfig --add zabbix_server
[root@zbx ~]# chkconfig zabbix_agentd on
[root@zbx ~]# chkconfig zabbix_server on
[root@zbx ~]# systemctl start zabbix_agentd
[root@zbx ~]# systemctl enable zabbix_agentd
[root@zbx ~]# systemctl start zabbix_server
[root@zbx ~]# systemctl enable zabbix_server
[root@zbx ~]# netstat -anpt | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 15295/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15340/zabbix_server
3:zabbix初始配置
(1)登录zbbix
http://192.168.27.152/index.php
(2)设置语言
(2)检查环境
要求所有必要条件都是“OK”的提示。
(3)填写数据库信息
(4)主机名设置(保持默认即可,不用填写)
(5)安装前信息汇总,确认无误,即可点击下一步
(6)确认安装成功并点完成
(7)登录界面
默认账号:Admin
默认密码:zabbix
(8)登录后的界面
八:安装 Zabbix Agent(在agent主机server01上)
[root@localhost ~]# hostnamectl set-hostname server01
[root@localhost ~]# bash
[root@server01 ~]# systemctl stop firewalld
[root@server01 ~]# setenforce 0
[root@server01 ~]# rpm -ivh pcre2-10.23-2.el7.x86_64.rpm
[root@server01 ~]# rpm -ivh zabbix-agent-6.4.8-release2.el7.x86_64.rpm
[root@server01 ~]# vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.27.152 #117行左右指向 Proxy 地址 ,也可以直接指向server端
ServerActive=192.168.27.152 #171行左右指向 Proxy 地址,也可以直接指向server端
Hostname=agent01 #182行修改主机名
#Agent 本地的名称,需要与将来在 Server 端的 Web 页面上的主机名称一致,名称自定义
[root@server01 ~]# systemctl start zabbix-agent
[root@server01 ~]# systemctl enable zabbix-agent
备注:
Server:被动模式,允许指定的服务器连接本机获取采集的数据
ServerActive:此参数为主动模式需要设置的,主动提交采集数据给指定的服务器,此处可以注释掉,如果要开启主动模式,则开启
九:在zabbix server上添加主机
1:添加agent主机
数据采集-->主机->创建主机
主机名称必须与机器查到的名字一致
添加模板
2:添加完成的状态
主机列表中的Availability(可用性)列包括了每个接口的主机的可用性指标,如果定义了主机的zabbix agent接口,可以通过ZBX选项了解主机的可用性。
ZBX为灰色代表未建立主机连接,未进行数据的采集
ZBX为绿色代表主机可用,zabbix agent检查成功
ZBX为红色代表主机不可用,zabbix agent检查失败
备注:
使用zabbix agent接口,需要为主机添加zabbix agent的监控模板
3:查看图像信息
检测-->主机-->图像
4:解决图像中文乱码:
注意:可以直接执行(4)、(5)两步
(1)查找zabbix定义字体的php文件
[root@ZBX ~]# find / -name defines.inc.php
/root/zabbix-6.4.8/ui/include/defines.inc.php
/www/include/defines.inc.php
注意:
/www是本案中zabbix的前端位置,不同的安装者,此位置可能不同
(2)查看zabbix字体文件中用的字体
[root@ZBX ~]# grep "ZBX_FONTPATH" /www/include/defines.inc.php
define('ZBX_FONTPATH', realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
[root@ZBX ~]# grep "ZBX_GRAPH_FONT_NAME" /www/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
(3)查找zabbix的字体文件位置
[root@ZBX ~]# find / -name DejaVuSans.ttf
/root/zabbix-6.4.8/ui/assets/fonts/DejaVuSans.ttf
/usr/share/fonts/dejavu/DejaVuSans.ttf
/www/assets/fonts/DejaVuSans.ttf
(4)在windows系统中找一个ttf或ttc格式的字体
位置在C:\Windows\Fonts
(5)将选择的字体文件上传到/www/assets/fonts目录下
例如此处选择msyhl.ttc(微软雅黑)
[root@ZBX ~]# cd /www/assets/fonts
[root@ZBX fonts]# ln -snf msyhl.ttc DejaVuSans.ttf
备注:
-s --symbolic比较容易,有-s时表示创建软连接,没有-s时,表示创建硬链接
-f --force 强行删除任何已存在的目标文件
-n --no-dereference 把符号连接的目的目录视为一般文件
刷新页面观察效果
第二种管理方式,通过proxy管理
十:proxy端的安装(在proxy主机上)
1:导入数据库(在zabbix server服务器)
在本案例中,将zabbix proxy的数据库一同放在了zabbix server服务器的mysql数据库,需要前往zabbix server主机,将schema.sql文件导入到zabbix_proxy数据库。
[root@ZBX ~]# hostnamectl set-hostname proxy
[root@ZBX ~]# bash
[root@proxy ~]# cd /root/zabbix-6.4.8/database/mysql/
[root@proxy ~]# mysql -uzabbix -pzabbix zabbix_proxy <schema.sql
2:关闭防火墙
[root@proxy ~]# hostnamectl set-hostname proxy
[root@proxy ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@proxy ~]# setenforce 0
[root@proxy ~]# systemctl disable firewalld
[root@proxy ~]# systemctl stop firewalld
2:设置yum仓库
curl -o \
/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o \
/etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@proxy ~]# yum clean all
3:安装依赖包
[root@proxy ~]# yum -y install gcc libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel libevent libevent-devel mariadb-devel
4:安装zabbix-proxy(上传包)
[root@proxy ~]# tar zxvf zabbix-6.4.8.tar.gz
[root@proxy ~]# cd zabbix-6.4.8
[root@proxy zabbix-6.4.8]# ./configure \
--prefix=/usr/local/zabbix \
--enable-proxy \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-unixODBC
[root@proxy zabbix-6.4.8]# make
[root@proxy zabbix-6.4.8]# make install
5:修改配置文件
[root@proxy zabbix-6.4.8]# vi /usr/local/zabbix/etc/zabbix_proxy.conf
ProxyMode=0 ##13
Server=192.168.27.152 ##32
Hostname=Zabbix proxy ##42
ListenPort=10051 ##58
DBHost=192.168.27.152 ##151
DBName=zabbix_proxy ##165
DBUser=zabbix ##180
DBPassword=c ##190
6:启动
[root@proxy zabbix-6.4.8]# useradd -M -s /sbin/nologin zabbix
[root@proxy zabbix-6.4.8]# /usr/local/zabbix/sbin/zabbix_proxy
[root@proxy zabbix-6.4.8]# netstat -anpt | grep zabbix_proxy
7:在web管理界面上添加proxy主机
管理-->Proxy>创建agent代理
选择主动式(默认)
8:设置agent端server02主机配置文件
[root@localhost ~]# hostnamectl set-hostname server02
[root@localhost ~]# bash
[root@server02 ~]# systemctl stop firewalld
[root@server02 ~]# setenforce 0
[root@server02 ~]# rpm -ivh pcre2-10.23-2.el7.x86_64.rpm
[root@server02 ~]# rpm -ivh zabbix-agent-6.4.8-release2.el7.x86_64.rpm
vi /etc/zabbix/zabbix_agentd.conf
#修改Server的值
Server=192.168.27.153 #在113行
ServerActive=192.168.27.152 #在171行左右
Hostname=agent02 #在182行左右
备注:
将Server的地址修改为proxy主机的主机
#启动
systemctl start zabbix-agent
systemctl enable zabbix-agent
3:在web管理界面添加proxy代理的agent主机
5:查看web面板监控到的主机数据
备注:
如果ZBX不会变绿,就重启proxy进程
pkill -9 zabbix_proxy
/usr/local/zabbix/sbin/zabbix_proxy
netstat -anpt | grep zabbix_proxy
相关文章:
Zabbix企业级分布式监控环境部署
“运筹帷幄之中,决胜千里之外”。在IT运维中,监控占据着重要的地位,按比例来算,说占30%一点也不为过。对IT运维工程师来说,构建一个真正可用的监控告警系统是一项艰巨的任务。在监控系统的开源软件中,可供选…...
水轮发电机油压自动化控制系统解决方案介绍
在现代水电工程中,水轮机组油压自动化控制系统,不仅直接关系到水轮发电机组的安全稳定运行,还影响着整个水电站的生产效率和经济效益。 一、系统概述 国科JSF油压自动控制系统,适用于水轮发电机组调速器油压及主阀(蝶…...
今天不分享技术,分享秋天的故事
引言 这个爱情故事好像是个悲剧,你说的是婚姻。爱情没有悲剧,对爱者而言,爱情怎么会是悲剧呢。对春天而言,秋天是它的悲剧吗。结尾是什么,等待,之后呢,没有之后。或者说,等待的结果…...
转录组上游分析流程(三)
环境部署——数据下载——查看数据(非质控)——数据质控——数据过滤(过滤低质量数据) 测序得到的原始序列含有接头序列和低质量序列,为了保证信息分析的准确性,需要对原始数据进行质量控制,得到高质量序列(Clean Reads),原始序列…...
excel判断某一列(A列)中的数据是否在另一列(B列)中
如B列如果有7个元素,在A列右边的空白列中,输入如下公式: COUNTIF($B$1:$B$7,A1), 其中,$B$1:$B$7代表A列中的所有数据即绝对范围,A1代表B列中的一个单元格....
[环境配置]macOS上怎么查看vscode的commit id
macOS的commit id和windows上有点不一样,windows可以在帮助-关于查看 macOS则需要再左边第一个查看...
.net framework 3.5sp1组件安装进度条不动启动错误怎么解决
安装.NET Framework 3.5 SP1通常需要管理员权限。这是因为安装过程可能需要修改系统文件和注册表项,这些操作通常需要管理员权限才能执行。在Windows系统上,安装.NET Framework 3.5 SP1通常通过控制面板中的“启用或关闭Windows功能”选项进行࿰…...
学习threejs,利用THREE.ExtrudeGeometry拉伸几何体实现svg的拉伸
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.ExtrudeGeometry拉伸…...
大模型之三十二-语音合成TTS(coqui) 之二 fine-tune
在 大模型之三十-语音合成TTS(coqui)[shichaog CSDN]中提到了xttsv2的fine-tune。 数据情况: 我是从bilibili up主小Lin说提取了一些视频,然后进行了重新的fine-tune。 训练结果 如下图所示,上面波形幅度较大的是xttsv2原始模型的结果&am…...
JVM的内存模型是什么,每个区域的作用是什么,以及面试题(含答案)
JVM(Java 虚拟机)内存模型定义了 Java 程序在运行时如何分配、管理和优化内存。JVM 内存模型主要分为几个关键区域,每个区域有特定的作用: JVM 内存模型 堆内存(Heap): 作用:用于存…...
《设计模式三》Java代理模式实现
Java代理模式实现 静态代理实现 // Subject.java // 主题接口,定义了请求方法 public interface Subject {void request(); }// RealSubject.java // 真实主题实现类,实现了Subject接口 public class RealSubject implements Subject {Overridepublic …...
vue3中计算属性的用法以及使用场景
在 Vue 3 中,计算属性(computed properties)是一种基于依赖项动态计算并缓存的响应式数据。它与 Vue 2 中的计算属性类似,但在组合式 API 中使用 computed 函数来定义。计算属性的核心优势在于能够自动缓存计算结果,仅…...
pytorh学习笔记——cifar10(六)MobileNet V1网络结构
基础知识储备: 一、深度可分离卷积(Depthwise Separable Convolution) MobileNet的核心是深度可分离卷积(Depthwise Separable Convolution),深度可分离卷积是卷积神经网络(CNN…...
报表系统-连接数据库操作
本专栏用于解析自己开源的项目代码,作为复盘和学习使用。欢迎大家一起交流 本样例说明源码开源在: ruoyi-reoprt gitee仓库 ruoyi-report github仓库 欢迎大家到到项目中多给点star支持,对项目有建议或者有想要了解的欢迎一起讨论 连接数据库…...
[计算机网络] 常见端口号
前言 常见的端口号是指互联网协议(如TCP/IP)中预留给特定服务使用的数字范围。它们主要用于标识网络应用程序和服务,并帮助数据包在网络中找到正确的接收方。 按协议类型划分 TCP协议端口: 21:FTP文件传输协议2…...
Linux系统块存储子系统分析记录
1 Linux存储栈 通过网址Linux Storage Stack Diagram - Thomas-Krenn-Wiki-en,可以获取多个linux内核版本下的存储栈概略图,下面是kernel-4.0的存储栈概略图: 2 存储接口、传输速度 和 协议 2.1 硬盘 《深入浅出SSD:固态存储核心…...
大数据——本地威胁检测的全球方法
大数据似乎是众多专业人士关注的话题,从在自然灾害发生时帮助挽救生命,到帮助营销团队设计更有针对性的策略以接触新客户。 对于安全工程师来说,大数据分析被证明是抵御不断演变的网络入侵的有效防御手段,这得益于基于大量不同网…...
使用postman接口测试
一 、postman断言 1、什么是断言 postman 断言借助JavaScript -js 语言编写代码,自动判断预期结果与实际结果是否一致。 断言代码写在 Tests 的标签中。(新版本在Scripts标签中) 2、断言工作原理 3、常用断言 断言响应状态码 // 断言响应状态码 是否为 200 pm.…...
Ubuntu24.04双系统安装(Linux/windows共存一文打通)
他向远方望去,无法看到高山背后的矮山,只能看到一座座更高的山峰。 目录 编辑 一.前言 二.虚拟机和双系统比较 三.Windows/Linux双系统安装 1.Rufus-制作U盘启动盘系统工具安装 2.Ubuntu24.04下载 3.Ubuntu-u盘启动盘制作 4.压缩磁盘留足安装空…...
C++ - deque
博客主页:【夜泉_ly】 本文专栏:【C】 欢迎点赞👍收藏⭐关注❤️ 文章目录 💡双端队列简介1. 基本特性2. 与其他容器的比较与 vector与 list 3. 中控数组的设计4. 优缺点优点缺点 5. 应用场景6. 结论 💡双端队列简…...
国产!瑞芯微米尔RK357核心板革新AIoT设备,8核6T高算力
随着科技的快速发展,AIoT智能终端对嵌入式模块的末端计算能力、数据处理能力等要求日益提高。近日,米尔电子发布了一款基于瑞芯微RK3576核心板和开发板。核心板提供4GB/8GB LPDDR4X、32GB/64GB eMMC等多个型号供选择。瑞芯微RK3576核心优势主要包括高性能…...
中国人寿财险青岛市分公司践行绿色金融,助力可持续发展
中国人寿财险青岛市分公司积极响应国家绿色发展战略,大力推进绿色金融实践。在保险产品创新方面,推出一系列绿色保险产品。如新能源汽车保险,为新能源汽车产业发展提供风险保障,促进交通领域的节能减排。环境污染责任保险则助力企…...
ajax 读取文件
DOMException: Failed to read the responseXML property from XMLHttpRequest: The value is only accessible if the objects responseType is or document (was blob). at XMLHttpRequest.r ( $.ajax({ url: 未来之窗_服务, method: GET, …...
火语言RPA流程组件介绍--开始监听网络请求
🚩【组件功能】:开始监听内置浏览器网络请求(提示:本组件仅适用于火语言内置浏览器) 配置预览 配置说明 匹配网址 可以添加一个或者多个匹配规则用于筛选需要保存的网络请求. 输入输出 输入类型 万能对象类型(Sy…...
CSS综合案例——新闻详情
一、知识点 1、文字颜色 属性名:color 属性值: 颜色表示方式属性值说明使用场景颜色关键字颜色英文单词red,green,blue学习测试rgb表示法rg(r,g,b)r,g,b表示红绿蓝三原色,取值0-255了解rgba表示法rgba(r,g,b,a)a表示透明度,取…...
【【自动驾驶】车辆运动学模型】
【自动驾驶】车辆运动学模型 1. 引言2. 以车辆重心为中心的单车模型2.1 模型介绍2.2 滑移角 β \beta β 的推导2.2 航向角 ψ \psi ψ推导过程:2.3 滑移角 β \beta β2.3 Python代码实现2.4 C代码实现 3. 前轮驱动的单车模型3.1 模型介绍3.3 Python代码实现3.4 …...
叉尖避障新科技:因泰立科技ILS-T52三维深度成像激光雷达
ILS-T52三维深度成像激光雷达是一款高性能的纯固态式激光雷达,采用激光时间飞行法,提供出色的三维图像成像和深度感知功能。特别适用于无人叉车领域,为叉尖避障提供卓越的三维成像和深度感知功能。它的高精度、自适应自动曝光、小尺寸、低功耗…...
精华帖分享 | 低估值还能涨多久?
本文来源于量化小论坛策略分享会板块精华帖,作者为亮子,发布于2024年3月19日。 这两年,A股给我们的感觉就是成长股坍塌,高股息低估值的股票扛起大旗。表现出来就是中国神华、中海油这样的垄断型央国企大涨,包括移动联通…...
如何制作一个自己的网站?
在今天的互联网时代,网站展示已经是一个很基础的营销工具。不管是企业、还是个人,如何制作一个自己的网站?本文将会提供一个全面的基础制作网页教程,教你如何从零开始制作网页。 网页制作的基础知识:HTML、CSS和JavaS…...
torch报错
The Kernel crashed while executing code in the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details. 从日志中可以看出,内…...
wordpress 导入导出/怎样设计一个网页
Hadoop生态圈-Kafka的旧API实现生产者-消费者 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.旧API实现生产者-消费者 1>.开启kafka集群 [yinzhengjies101 ~]$ more which xkafka.sh #!/bin/bash #author :…...
水源logo设计制作网/广州百度快速排名优化
在整理《全唐诗》的文本之前,我们首先需要完成以下两个步骤: 确定需求 了解文本 在完成以上步骤后,我们开始实际着手整理文本,在整理的过程中大体上也包含两个流程: 文本解析结果输出 全唐诗文本语料在“全唐诗.tx…...
郑州web网站建设公司/如何推广网站
一、创造价值的公司 选择好公司,才是长期投资的锚! 二、价值匹配公司的成长性 这里是赚公司成长的钱! 三、价值的精华需要时间去洗涤! 这里是赚公司估值修复的钱!...
广州站图片/无锡网站seo顾问
根据端口查进程 netstat -ano|findstr 80查看进程 tasklist|findstr 11111...
专注苏州网站建设/重庆人力资源和社会保障网官网
Afinal是一个orm、ioc框架,遵循约定大于配置原则,无需任何配置即可完成所有工作,但也可以通过配置达到个人的个性化需求。Afinal提倡代码快速简洁,尽量一行代码完成的事情不会用两行。Afinal里面目前包含了四大组件:Fi…...
广元市城乡规划建设监察大队网站/新媒体销售好做吗
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!实验软件环境:虚拟机Vmware Work…...