企业级监控系统Zabbix

news2024/10/6 13:23:15

文章目录

  • Zabbix介绍
    • Zabbix架构
      • Zabbix server
      • Zabbix agent
      • Zabbix proxy
  • Zabbix Server的安装
  • Zabbix Agent的安装
    • 监控主机流程
    • zabbix_get
    • 自定义模板和监控项
      • 实战用户登录数监控
        • 1.指定监控项命令
        • 2.重启Agent服务
        • 3.在Server上创建监控项
        • 4.测试监控项
        • 5.查看监控项图形
  • 故障自愈
    • 实现故障自愈的步骤
      • 1.Agent开启远程命令功能
      • 2.授权zabbix用户管理权限
      • 3.创建触发器动作
  • Zabbix主动与被动模式
    • 被动模式
    • 主动模式
      • 主动模式实现步骤
        • 1.Agent端修改zabbix_agent2.conf配置
        • 2.Server端修改主动式监控项
  • 监控Java程序
    • 开启JMX监控
    • 部署Java gateway
    • zabbix_server.conf指定Java gateway
    • 在zabbix server中指定java服务的ip和端口
  • Zabbix分布式实现Proxy
    • Zabbix Server 和 Zabbix Proxy区别
    • 在Zabbix Server上添加代理Proxies
    • 配置主动模式的proxy
      • 1.修改zabbix_proxy.conf
      • 2.修改Agent为主动模式的Zabbix Proxy
    • 配置被动模式的proxy
      • 1.修改zabbix_proxy.conf
      • 2.修改Agent为被动模式的Zabbix Proxy
  • Zabbix自动注册
    • 1.修改Zabbix agent配置
    • 2.在Zabbix Server上配置动作
  • Zabbix优化
    • Zabbix高可用

Zabbix介绍

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。功能强大,成熟可靠,使用者众多。

官方网站: https://www.zabbix.com/

为什么需要监控
现在摄像头遍布大街小巷,包括汽车上的行车记录仪,当发生了什么事故时你可能第一直觉就是“调监控”来了解事故的前因后果。监控面前事实胜于雄辩!

在运维行业也是“无监控,不运维”,监控俗称“第三只眼”。没有监控,什么基础运维,业务运维都是“瞎子”,你不能实时掌握服务器的各种资源和你搭建的服务的各种使用数据指标。没有数据监控你就可能成为背锅侠。

监控功能
  1.在需要的时刻,提前预警即将出现的问题,避免故障发生;
  2.实时监控系统和业务,当出问题之后,通过发出告警,提醒相关人员,快速找到问题的根源从而及时处理问题;
  3.可以实现网站,应用或者服务器的故障自愈,保证高可用性;
  4.以图形或易于观察的方式呈现当前以及过往的状态,便于分析和预测系统发展趋势。

监控什么

硬件监控:
       通过远程控制卡: DeLL的iDRAC,HP的ILO和IBM的IMM等
       使用IPMI来完成物理设备的监控工作。通常必须要监控包括温度、硬盘故障等
       路由器,交换机(端口,光衰,日志),打印机等

系统监控:
       cpu,内存,硬盘使用率,硬盘IO,系统负载,进程数

服务监控:
       nginx, apache, php-fpm, mysql, memcache, redis, tomcat, JVM, TCP连接数等

性能监控:
       网站性能,服务器性能,数据库性能,存储性能

日志监控:
       系统会产生系统日志,应用程序会有应用的访问日志、错误日志,服务有运行日志等,
       可以使用ELK来进行日志监控
       
安全监控:
       用户登录数,passwd文件变化,本地所有文件改动
       Nginx+Lua编写一个WAF通过kibana可以图形化的展示不同的攻击类型的统计。

网络监控:
       IP端口,URL,DB,ping包,IDC带宽网络流量,网络流出流出速率,网络入流量,网络出
       流量.网络使用率,SMTP.POP3

Zabbix架构

zabbix中文使用手册:https://www.zabbix.com/documentation/6.0/zh/manual
在这里插入图片描述

Zabbix server

Zabbix server 是整个 Zabbix 软件的核心程序。

Zabbix Server负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

Zabbix agent

Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序(硬盘、内存、处理器统计信息等)。

Zabbix agent 收集本地的操作信息并将数据报告给 Zabbix server 用于进一步处理。一旦出现异常 (例如硬盘空间已满或者有崩溃的服务进程),Zabbix server 会主动警告管理员指定机器上的异常。

Zabbix agents 的极高效率缘于它可以利用本地系统调用来完成统计数据的采集。

Zabbix proxy

zabbix作为一个分布式监控系统(分布式监控解决方案),支持通过代理(proxy)收集zabbix agent的监控数据,然后由zabbix proxy再把数据发送给zabbix server,也就是zabbix proxy可以代替zabbix server收集监控数据,然后把数据汇报给zabbix server,所以zabbix proxy可以在一定程度上分担了zabbixserver的数据收集压力,从而降低了数据的采集时间、也相应的增加了zabbix server的监控能力。

部署Zabbix proxy 是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果由代理采集数据,则 Zabbix server 上会减少 CPU 和磁盘 I/O 的开销。

Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。

Zabbix proxy 需要使用独立的数据库。

Zabbix Server的安装

ZabbixLTS(长期支持)版本没有任何额外的或隐藏的消费成本。Zabbix是一个100%开源软件,每个人都可以下载使用。

Zabbix LTS特点:
  1.支持期限更长,例如:为潜在的安全问题及bug迭代更新
  2.令人期待的高质量更新以及全新的功能点
  3.快速更新,可适用于多变的复杂环境
  4.在版本升级方面,更容易规划管理

官方安装帮助文档:https://www.zabbix.com/download

安装脚本

#!/bin/bash
# 
#********************************************************************
#Author:            wangxiaochun
#Date:              2022-06-22
#FileName:          install_zabbix5.0_for_ubuntu20.04.sh
#URL:               http://www.wangxiaochun.com
#Description:       The test script
#Copyright (C):     2022 All rights reserved
#********************************************************************
wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
dpkg -i zabbix-release_5.0-1+focal_all.deb
sed -i.bak 's#http://repo.zabbix.com#https://mirror.tuna.tsinghua.edu.cn/zabbix#' /etc/apt/sources.list.d/zabbix.list
apt update
apt -y  install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent2
apt -y install mysql-server
cat << EOF | mysql
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix.* to zabbix@localhost;
EOF

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456  zabbix

sed -i.bak '/# DBPassword/a DBPassword=123456' /etc/zabbix/zabbix_server.conf
sed -i.bak '/^server/a\        listen 80;\n        server_name     zabbix.lei.org;' /etc/zabbix/nginx.conf

sed -i.bak '/date.timezone/c php_value[date.timezone] = Asia/Shanghai' /etc/zabbix/php-fpm.conf

systemctl disable --now apache2

systemctl restart  zabbix-server zabbix-agent2 nginx php7.4-fpm

systemctl enable   zabbix-server

安装完成后直接使用脚本里的域名打开zabbix
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
zabbix首页
在这里插入图片描述
登录时遇到了问题,就是我windows的ip被拒绝访问我ubuntu192.168.10.148的zabbix的mysql,于是我设置了允许了mysql的用户和ip

update user set host = '%' where user = 'root';
update user set host = '%' where user = 'zabbix';
#将数据库里面的“user”表里面“host”的“localhost”改为“%”。“%”是允许所有远程都允许远程连接连接,

在这里插入图片描述

授权法:将zabbix用户权限改为:ALL PRIVILEGES,前面的是用户名,后面的是密码。
GRANT ALL PRIVILEGES ON . TO ‘zabbix’@‘%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;   #刷新权限
Query OK, 0 rows affected (0.00 sec)

Zabbix Agent的安装

Zabbix Agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web 访问数据库在前端进行展现和绘图。

Zabbix Agent安装脚本

#!/bin/bash
#
#********************************************************************
#Author:            wangxiaochun
#Date:              2021-01-06
#FileName:          install_zabbix_agent2_5.0.sh
#URL:               http://www.wangxiaochun.com
#Description:       The test script
#Copyright (C):     2021 All rights reserved
#********************************************************************

ZABBIX_SERVER=zabbix.lei.org
ZABBIX_VER=5.0
URL="https://mirror.tuna.tsinghua.edu.cn/zabbix"

. /etc/os-release

color () {
    RES_COL=60
    MOVE_TO_COL="echo -en \\033[${RES_COL}G"
    SETCOLOR_SUCCESS="echo -en \\033[1;32m"
    SETCOLOR_FAILURE="echo -en \\033[1;31m"
    SETCOLOR_WARNING="echo -en \\033[1;33m"
    SETCOLOR_NORMAL="echo -en \E[0m"
    echo -n "$1" && $MOVE_TO_COL
    echo -n "["
    if [ $2 = "success" -o $2 = "0" ] ;then
        ${SETCOLOR_SUCCESS}
        echo -n $"  OK  "    
    elif [ $2 = "failure" -o $2 = "1"  ] ;then 
        ${SETCOLOR_FAILURE}
        echo -n $"FAILED"
    else
        ${SETCOLOR_WARNING}
        echo -n $"WARNING"
    fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo 
}

install_zabbix_agent2() {
    if [ $ID = "centos" -o $ID = "rocky" ];then
	     VERSION_ID=`echo $VERSION_ID|awk -F. '{print $1}'` 
         rpm -Uvh $URL/zabbix/${ZABBIX_VER}/rhel/${VERSION_ID}/x86_64/zabbix-release-${ZABBIX_VER}-1.el${VERSION_ID}.noarch.rpm
        if [ $? -eq 0 ];then
            color "YUM仓库准备完成" 0
        else
            color "YUM仓库配置失败,退出" 1
            exit
        fi
        sed -i 's#repo.zabbix.com#mirror.tuna.tsinghua.edu.cn/zabbix#' /etc/yum.repos.d/zabbix.repo
        yum -y install zabbix-agent2
    else 
        wget $URL/zabbix/${ZABBIX_VER}/ubuntu/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VER}-1+bionic_all.deb
        if [ $? -eq 0 ];then
            color "APT仓库准备完成" 0
        else
            color "APT仓库配置失败,退出" 1
            exit
        fi
        dpkg -i zabbix-release_${ZABBIX_VER}-1+bionic_all.deb
        sed -i 's#repo.zabbix.com#mirror.tuna.tsinghua.edu.cn/zabbix#'   /etc/apt/sources.list.d/zabbix.list
        apt update
        apt -y install zabbix-agent2
    fi
}

config_zabbix_agent2 (){ 
    sed -i -e "/^Server=127.0.0.1/c Server=$ZABBIX_SERVER"  -e "/^Hostname=Zabbix server/c Hostname=`hostname -I`"  /etc/zabbix/zabbix_agent2.conf
}

start_zabbix_agent2 () {
    systemctl enable zabbix-agent2.service
    systemctl restart zabbix-agent2.service
    systemctl is-active zabbix-agent2.service
    if [ $?  -eq 0 ];then  
        echo "-------------------------------------------------------------------"
        color "Zabbix Agent 安装完成!" 0
    else
        color "Zabbix Agent 安装失败" 1
        exit
    fi
}

install_zabbix_agent2
config_zabbix_agent2
start_zabbix_agent2

执行以上脚本可完成安装
在这里插入图片描述
将zabbix agent纳入zabbix server的管理中,在server页面中"创建主机"
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
初学就先使用agent的监控模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

监控主机流程

1 安装agent,指定Zabbix Server地址;
2 在Zabbix Server 添加被监控的主机;
3 修改内置的模板,为了实验环境更快地采集数据,将模板中所有监控项的时间间隔修改为10s;
4 在被监控的主机关联模板(内置了很多的监控项) 
  Template OS Linux by Zabbix agent   --适合Linux
  Template OS Windows by Zabbix agent --适合windows
5 Web 查看数据和图形

zabbix_get

利用zabbix_get工具可以测试Zabbix Agent是否正常

zabbix_get需要安装
在这里插入图片描述

zabbix_get -s 192.168.10.152 -k agent.ping

在这里插入图片描述

自定义模板和监控项

自定义监控项流程:
  1.在Agent上创建监控项名称
  2.在Agent的配置文件中指定获取监控项的命令
  3.在Server上创建自定义的监控项
  4.在Server上关联到被监控的Agent主机上

创建自定义监控项后可将自定义监控项创建模板
  1.在Server上创建模板
  2.将自定义的监控项加入至模板
  3.将模板关联至被监控主机

vim /etc/zabbix/zabbix_agent2.conf在这里插入图片描述

实战用户登录数监控

自定义一个获取xshell用户登录数的监控项

1.指定监控项命令

在agent上的/etc/zabbix/zabbix_agent2.d下创建user_login_count.conf文件

UserParameter=user.login.count,who|wc -l

在这里插入图片描述

2.重启Agent服务

agent配置完自定义监控项后需要重启agent服务,否则server识别不了agent的自定义监控项
在这里插入图片描述

3.在Server上创建监控项

在这里插入图片描述
在这里插入图片描述

4.测试监控项

在这里插入图片描述

5.查看监控项图形

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

故障自愈

当zabbix服务监控到指定的监控项异常时,可以通过指定的操作使故障自动恢复

我有一个监听80端口的触发器,当80端口down掉之后,就触发报警
在这里插入图片描述
我停掉了152的nginx服务,此时就触发了报警机制
在这里插入图片描述
我还开启了报警器,一旦报警就有一段刺耳的铃声
在这里插入图片描述

实现故障自愈的步骤

以nginx服务为例,当nginx服务停止时,自动重启服务,实现故障自愈功能

1.Agent开启远程命令功能

在这里插入图片描述

2.授权zabbix用户管理权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.创建触发器动作

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

添加动作的操作
在这里插入图片描述

故障已经自愈了
在这里插入图片描述

Zabbix主动与被动模式

Zabbix有两种工作模式:主动和被动模式
无论是模式还是被动模式,都是站在zabbix agent角度来说的工作模式
在这里插入图片描述

主动和被动模式
  1.被动模式: Server向Agent请求获取监控项的数据,Agent返回数据。
    此为默认模式,如果有100个监控项,则需要100次交互
    
  2.主动模式:Agent请求Server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,
    如有100个监控项,只需要1次交互即可

被动模式

被动模式是指zabbix agent被动的接受zabbix server(或者Zabbix Proxy)周期性发送过来的数据收集指令

被动模式工作形式
  1.zabbix server发送什么指令那么zabbix agent就收集什么数据,
  2.zabbix server什么时候发送指令,zabbix agent就什么时候采集,
  3.zabbix server不发送指令,zabbix agent就一直不响应,所以zabbixagent也不用关心其监控项和数据采集周期间隔时间。

被动模式优点
  1.被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix的默认工作模式,

被动模式缺点
  1.被动模式的最大问题就是会加大zabbix server的负载,在数百甚至数千台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,
  2.如果zabbix server负载过高还会导致不能及时获取到最新数据
  3.被动模式因为性能的原因,一台Zabbix Server一般只能监控500台以下的主机,更多的主机建议使用主动模式

主动模式

主动模式是由每个zabbix agent打开本机的随机端口,主动向Zabbix Server (或者Zabbix Proxy)的10051端口发起tcp连接请求。

主动模式工作形式
  1.主动模式下必须在zabbix agent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址)2.在连接到zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,
  3.在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,然后再根据监控项采集数据并返回给zabbix server

主动模式的优点
   主动模式下不再需要zabbix serve向zabbix agent发起连接请求,因此主动模式在一定程度上可减轻zabbix server打开的本地随机端口和进程数,
   在一定程度就减轻了zabbix server的压力。经过优化后可以轻松监控2000台,甚至5000以上的主机

以下场景下生产推荐使用主动模式
   1.Zabbix Server 出现性能瓶颈,监控队列出现大量延迟的监控项,告警不及时·
   2.监控主机超过500台以上

主动模式实现步骤

1.Agent端修改zabbix_agent2.conf配置

zabbix Agent默认是被动模式,需要修改zabbix_agent2.conf配置才能支持主动模式,配置由一下三项

server=<zabbix server>          #被动模式指向zabbix server的IP或FQDN ,默认模式
serverActive=<zabbix server>    #主动模式指向zabbix server的IP或FQDN
Hostname=<当前主机IP>            #当前主机的IP,此项必须和zabbix server中设置的主机名称相同

将ServerActive的127.0.0.1改为我的server服务器的地址192.168.10.148
在这里插入图片描述

2.Server端修改主动式监控项

2.1添加主机,名称=Hostname和客户端相同
2.2关联模板,包括的监控项是主动模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

监控Java程序

开启JMX监控

在tomcat的catalina.sh脚本中添加如下配置

CATALINA_OPTS="$CATALINA__OPTS
-Dcom.sun.management.jmxremote                      #启用远程监控JMX
-Djava.rmi.server.hostname=<JAVA主机IP>              #是tomcat主机的IP地址,不是zabbix服务器地址
-Dcom.sun.management.jmxremote.port=xXXXX           #默认启动的MX端口号
-Dcom.sun.management.jmxremote.authenticate=false   #不使用用户名密码
-Dcom.sun.management.jmxremote.ssl=false"           #不使用ssl认证
CATALINA_OPTS="$CATALINA__OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.10.153 -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

在这里插入图片描述
vim /usr/local/tomcat/bin/catalina.sh
在这里插入图片描述
配置完后重启tomcat,可以看到12345端口已正常放开
在这里插入图片描述使用windows的jconsole连接是否成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cmdline-jmxclient-0.10.3.jar 是一个开源jar包,在zabbix中常用于测试的个工具,可以用来测试 jmx
是否配置正确。在监控方面还可以对Tomcat各种属性进行监控。下面使用java客户端cmdline-
jmxclient进行测试

wget https://github.com/qiueer/zabbix/blob/master/Tomcat/cmdline-jmxclient-0.10.3.jar

在这里插入图片描述
获取堆内存状况

java -jar cmdline-jmxclient-0.10.3.jar - 192.168.10.153:12345 java.lang:type=Memory NonHeapMemoryUsage

在这里插入图片描述

部署Java gateway

在这里插入图片描述
在这里插入图片描述

apt install zabbix-java-gateway

在这里插入图片描述

zabbix_server.conf指定Java gateway

vim zabbix_server.conf

JavaGateway=127.0.0.1
StartJavaPollers=1

在这里插入图片描述

在这里插入图片描述

在zabbix server中指定java服务的ip和端口

配置主机192.168.10.153:12345
在这里插入图片描述
配置主机的监控模板
Template App Generic Java JMX模板监控项
在这里插入图片描述
在这里插入图片描述

Template App Appache Tomcat JMX模板监控项
在这里插入图片描述
在这里插入图片描述
配置完后着急看数据的话可以重启服务,此时我们可以看到153主机JMX的可用性已经绿了。
在这里插入图片描述
JMX监控数据
在这里插入图片描述

Zabbix分布式实现Proxy

官方帮助手册: https://www.zabbix.com/documentation/5.0/zh/manual/distributed_monitoring

Zabbix proxy 使用场景:
  1.监控远程区域设备,尤其是多机房和多个云环境时监控网络不稳定区域,避免跨网段监控的告警不及时
  2.当需要监控设备众多时,使用它来减轻Zabbix Server的压力
  3.简化分布式监控的维护,无需各位创建Zabbix Server,统一管理策略

在这里插入图片描述

Zabbix Server 和 Zabbix Proxy区别

Zabbix proxy功能
  1.Zabbix proxy数据库必须和server数据库分开,否则Zabbix server数据库会被破坏。
  2.zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警。

在这里插入图片描述

在Zabbix Server上添加代理Proxies

Zabbix Proxy安装完成后,需要Zabbix Server的上配置Proxies
在这里插入图片描述
在这里插入图片描述

配置主动模式的proxy

1.修改zabbix_proxy.conf

[root@zabbix-proxy-active ~]#grep '^[^#]'/etc/zabbix/zabbix_proxy.conf
ProxyMode=O                      #主动模式为0,被动模式为1,默认为0即主动模式
server=10.0.0.100                #指向zabbix server
Hostname=zabbix-proxy-active     #此名称必须和后面web管理页的agent代理程序名称相同
DBHost=localhost                 #MySQL服务器地址
DBName=zabbix_proxy_active       #MysQL数据库名
DBUser=proxy                     #连接MySQL的用户
DBPassword=123456                #连接MySQL的用户密码

2.修改Agent为主动模式的Zabbix Proxy

[root@centos8 ~]#grep '^[^#]’/apps/zabbix_agent/etc/zabbix_agent2.conf
server=10.0.0.100,10.0.0.101  #指向zabbix server(可选)和zabbix Proxy(必选)
serverActive=10.0.0.101       #指向zabbix Proxy

配置被动模式的proxy

1.修改zabbix_proxy.conf

[root@zabbix-proxy-passive ~]#grep '^[^#]'/apps/zabbix_proxy/etc/zabbix_proxy.conf
ProxyMode=1                           #被动模式为1
server=10.0.0.100                     #指向zabbix server的地址
Hostname=zabbix-proxy-passvie-magedu
LogFi1e=/tmp/zabbix_proxy. 1og
DBHost=loca1host                      #指定MySQL的地址
DBName=zabbix_proxy_passive           #指定MySQL数据库名称
DBUser=proxy                          #指定MysQL的用户
DBPassword=123456                     #指定MysQL的用户密码

2.修改Agent为被动模式的Zabbix Proxy

[root@centos8 ~]#grep '^[^#]' /etc/zabbix/zabbix_agent2.conf
server=10.0.0.100,10.0.0.102    #必须指向Proxy代理地址,否则proxy无法监控,zabbix server地址则是可选项
#ServerActive=10.0.0.100        #注释此行
Hostname=10.0.0.104
Timeout=30

Zabbix自动注册

之前都是手动将主机一台一台的添加到Zabbix中进行监控,很是繁琐,可以利用自动发现和自动注册功能,自动添加被监控的主机。

利用Zabbix的自动注册功能,实现添加主机的自动化,可以大幅减少运维的工作量,减少Zabbix Server的资源消耗
此方式和自动发现不同,是由Active agent主动发起请求zabbix server将这些agent加到主机里。

注意:Agent必须使用主动模式才支持自动注册

自动注册由于比自动发现效率更好,Zabbix Server资源消耗更少,更适合大规模及云环境IP地址不固定的场景使用

1.修改Zabbix agent配置

[root@centos8 ~]#vim /etc/zabbix /zabbix_agentd.conf
server=zabbix.wang.org
serverActive=zabbix.wang.org
Hostname=web-10.0.0.18            #指定主机名,如果不指定,则服务器将使用agent的系统主机名#HostnameItem=system.hostname     #指定主机名
HostMetadata=123456               #HostMetadataItem=system.uname

2.在Zabbix Server上配置动作

配置自动注册动作
在这里插入图片描述
创建动作
在这里插入图片描述
添加主机链接模板
在这里插入图片描述

Zabbix优化

如果主机和监控项众多,Zabbix Server有可能会出现的性能问题,主要表现如下:
  1.Web操作很卡,容易出现502错误
  2.监控图形中图层断裂
  3.监控告警不及时

可以查看队列了解Zabbix性能状态管理–队列
在这里插入图片描述

优化方法
  1.数据库:写多读少,数据采集比较频繁,可以考虑PostgreSQL;
  2.使用主动模式,减轻Zabbix Server压力;
  3.如果需要监控远程主机,使用Zabbix Proxy删除无用监控项,建议使用自定义的模板和监控项;
  4.适当增加监控项的取值间隔,减少历史数据保存周期,此工作由housekeeper进程定时清理
  5.针对zabbix历史数据和趋势图的数据表,进行周期性分表保存
  6.对Zabbix Server进程调优,发现性能瓶颈的进程,加大它的进程数量
  7.对Zabbix Server缓存调优,发现哪种缓存的剩余内存少,就加大它的缓存值

Zabbix高可用

在前面的部署架构中,Zabbix Server和MySQL都有只有一台主机,存在单点问题可以使用Keepalived 实现Zabbix Server的高可用

基础架构为LAMP或LNMP环境,采用keepalived实现zabbix服务器高可用,保证主服务器或者Httpd宕掉后能切换到从服务器

MySQL数据库做主主同步,保证两边服务器数据的一致性,实现数据库的高可用。

官方Zabbix6.0给出了高可用解决方案
https://www.zabbix.com/documentation/6.0/zh/manual/concepts/server/ha#implementa

在这里插入图片描述

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

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

相关文章

轮廓检测(python和c++实现)

利用轮廓检测&#xff0c;我们可以检测物体的边界&#xff0c;并在图像中轻松定位。这通常是许多有趣应用的第一步&#xff0c;如图像前景提取、简单图像分割、检测和识别。 无人看管物体检测&#xff1a;公共场所的任何无人看管物体一般都被视为可疑物体。一种有效而安全的解…

农作物生长环境的远程监控与智能调控

农作物生长环境的远程监控与智能调控 农作物生长环境的远程监控与智能调控技术&#xff0c;作为现代农业科技的核心组成部分&#xff0c;正逐步革新传统农业的生产模式&#xff0c;推动农业向精准化、智能化转型。这一技术体系综合应用了物联网、大数据、云计算以及人工智能等…

医疗器械进销存软件 专业合规的医疗公司器械出入库管理软件

财务管理&#xff1a;财务档案统一管理&#xff0c;有利于科学管理企业资金 财务管理&#xff1a;发票关联业务单据&#xff0c;业财融合&#xff0c;加速财务数字化转型 财务管理&#xff1a;提供收付款功能&#xff0c;加快企业应收账款的回收&#xff0c;降低付款的资金浮…

数据融合平台的概述、特点及技术方案

在当今数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;数据的分散存储和格式不一&#xff0c;常常导致数据孤岛现象&#xff0c;使得数据的潜在价值难以被充分挖掘和利用。在这样的背景下&#xff0c;数据融合平台应运而生&#xff0c;它的意义不仅在…

“第六感”真的存在吗?

现在已有证据表明&#xff0c;人类除视觉、听觉、嗅觉、味觉和触觉五种感觉以外&#xff0c;确实存在“第六感” “第六感”的学术名称为“超感自知觉”(简称ESP)&#xff0c;它能透过正感官之外的渠道接收信息&#xff0c; 预知将要发生的事&#xff0c;而且与当事人之前的经…

Windows的管理工具

任务计划程序&#xff1a;这是一个用来安排任务自动运行的工具。你可以在这里创建新的任务&#xff0c;设定触发条件&#xff0c;并指定任务的操作。 事件查看器&#xff1a;这是一套日志记录和分析工具&#xff0c;&#xff0c;你可以了解到系统的工作状况&#xff0c;帮助诊…

蓝蜂网关接入雄安新区物联网统一开放平台应用案例

蓝蜂网关接入雄安新区物联网统一开放平台案例 一、应用背景 为响应国家《河北雄安新区规划纲要》&#xff0c;由中国雄安集团数字城市科技有限公司牵头&#xff0c;以中移物联网有限公司为牵头单位的联合体&#xff0c;构建了雄安新区物联网统一开放平台&#xff08;简称雄安…

Anaconda安装及配置+pytorch深度学习环境(2024复旦计算机工作站0704)

目录 前言 一、Anaconda的下载与安装 二、检查是否有Nvidia显卡 三、安装CPU环境的pytorch 四、安装GPU环境的pytorch&#xff08;待写...) 五、Anaconda与Pycharm 配置 总结 前言 深度学习越来越火啦&#xff0c;深入到各行各业&#xff0c;小北个人也对深度学习很感兴…

Day05-讲师列表前端-讲师信息添加

代码&#xff1a; //添加讲师 addTeacher(teacher){ return request({ url:/eduservice/teacher/addTeacher, method:‘post’, data:teacher }) } &#xff08;2&#xff09;在页面实现调用 代码&#xff1a; 讲师添加 <el-button type“primary” :disabled“sav…

Python代码设置Excel工作表背景色或背景图

Excel是工作中数据处理和分析数据的重要工具。面对海量的数据和复杂的表格&#xff0c;如何提高工作效率、减少视觉疲劳并提升数据的可读性是不容忽视的问题。而给工作表设置合适的背景是表格优化的一个有效方式。为Excel工作表设置背景色或背景图不仅能够美化工作表&#xff0…

类的动态加载-双亲委派模型

java反射基础 Java 基础 - 反射机制详解 | Java 全栈知识体系 (pdai.tech) 类的动态加载 参考链接&#xff1a;类的动态加载 构造是和实例化也就是对象相关的。 静态代码块是在初始化的时候就调用的 Class.forName();就会调用静态代码块 forName&#xff0c;加载类时默认…

【Mac】draw.io for Mac(流程图绘制工具)及同类型软件介绍

软件介绍 Draw.io&#xff08;现在称为diagrams.net&#xff09;是一个流行的开源图表软件&#xff0c;可以帮助用户创建各种类型的图表和图形&#xff0c;如流程图、组织结构图、网络图、UML图、平面设计图等等。它最初作为一个Web应用程序推出&#xff0c;后来也推出了桌面版…

推荐一个私有化部署的物联网平台

引言 随着物联网技术的飞速发展&#xff0c;越来越多的企业开始寻求能够提供稳定、安全、可定制的物联网解决方案。私有化部署的物联网平台因其能够满足企业对数据安全和个性化需求的优势&#xff0c;逐渐成为市场的新宠。本文将详细介绍ThingsKit物联网平台&#xff0c;一个专…

代谢组数据分析(十二):岭回归、Lasso回归、弹性网络回归构建预测模型

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2介绍 在代谢物预测模型的构建中,我们采用了三种主流的回归分析方法:岭回归、Lasso回归以及弹性网络回归。这三种方法各有其独特的原理和适用场景,因此在…

pnpm的坑

请问pnpm的两个坑怎么解决&#xff1a; 第一个坑&#xff1a;没有节省磁盘空间 我已经配置了依赖的存储位置&#xff0c; 但我在项目里pnpm install以后&#xff0c;发现依赖包还是很大&#xff0c; 然后发现里面的链接并不是指向先前配置的依赖存储位置&#xff0c;而是指…

C语言自定义类型(结构体,枚举,联合):

大家好久不见&#xff0c;今天我们来学习一下C语言中的自定义类型&#xff1a; C语言的自定义类型包括&#xff1a;结构体&#xff0c;枚举和联合&#xff0c;接下来大家跟我来一起认识一下这三种类型。 目录 1. 结构体 1.1.1 结构体类型的声明 1.1.2 结构的特殊声明 1.1…

nginx的重定向(rewrite)

nginx的重定向&#xff08;rewrite&#xff09; location 匹配 location匹配的就是后面的URI /wordpress 192.168.60.20/wordpress location匹配的分类和优先级 1、精确匹配 location / 对字符串进行完全匹配&#xff0c;必须完全符合 2、正则匹配 ^~ 前缀匹配&#x…

为本地化准备营销材料的几个步骤

为本地化准备营销材料涉及几个关键步骤&#xff0c;以确保内容在文化上合适、语言上准确&#xff0c;并与目标受众相关。以下是五个基本步骤&#xff1a; 进行市场调查 了解目标市场至关重要。进行深入研究&#xff0c;以收集有关目标地区受众的文化细微差别、消费者行为、地…

脑启发设计:人工智能的进化之路

编者按&#xff1a;你可以用左手&#xff08;不常用的那只手&#xff09;的小指与食指拿起一件物品么&#xff1f; 试完你是不是发现自己竟然可以毫不费力地用自己不常用的手中&#xff0c;两根使用频率相对较低的手指&#xff0c;做一个不常做的动作。这就是人类大脑不可思议…

MySQL之聚簇索引和非聚簇索引

1、什么是聚簇索引和非聚簇索引&#xff1f; 聚簇索引&#xff0c;通常也叫聚集索引。 非聚簇索引&#xff0c;指的是二级索引。 下面看一下它们的含义&#xff1a; 1.1、聚集索引选取规则 如果存在主键&#xff0c;主键索引就是聚集索引。如果不存在主键&#xff0c;将使…