zabbix基本概念与组件

文章目录

  • 一、zabbix简介
  • 二、​​​​​​​zabbix构成
  • 三、​​​​​​​zabbix监控对象
  • 四、​​​​​​​zabbix常用术语
  • 五、 Zabbix 6.0 新特性
    • 1.Zabbix server高可用防止硬件故障或计划维护期的停机
    • 2.Kubernetes系统从多个维度采集指标
  • 六、zabbix 工作原理
    • 1、主动模式
    • 2、被动模式
  • 七、zabbix进程详解
  • 八、 zabbix监控架构
  • 九、部署 zabbix 6.0
    • 1.服务端安装(192.168.44.10)
    • 2.添加 zabbix 客户端(192.168.44.40)
  • 十、自定义监控内容
    • 1.客户端创建自定义 key
    • 2.在 Web 页面创建自定义监控项模板
    • 三、zabbix 自动发现与自动注册
      • 1.zabbix 自动发现(对于 agent2 是被动模式)
      • 2.zabbix 自动注册(对于 agent2 是主动模式)

一、zabbix简介

zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。

zabbix官网地址为https://www.zabbix.com/

二、​​​​​​​zabbix构成

zabbix主要由以下5个组件构成:

1、Server

zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。

2、web页面

web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。

3、数据库

zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。

4、proxy

zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。

5、Agent

zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。

三、​​​​​​​zabbix监控对象

zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。
zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。

硬件监控: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的学习需要掌握一些zabbix的常用术语,zabbix常用术语列举如下:

1、主机(host)

要监控的设备,可以由IP或者是主机名(必须可解析)指定。

2、主机组(host group)

主机的逻辑容器,包含主机和模板,主机组通常在给用户或者是用户组指派监控权限时使用。

3、监控项(item)

一个特定监控指标的相关数据,比如内存的大小、CPU的使用率,甚至是服务的运行状态等等。监控项数据来源于被监控对象,并且每个监控项都由一个key来标识。

4、触发器(trigger)

一个表达式,用于评估监控项的值是否在合理的范围内。当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常。

5、事件(event)

触发器触发的一个特定事件,或者是zabbix定义的一个自动上线注册主机的事件。

6、动作(action)

指根据配置,zabbix对于触发器触发的特定事件进行处理的具体措施,如执行某个脚本,或者是向管理员邮箱发送邮件等等。

7、报警升级(escalation)

发送警报或者是执行远程命令的自定义方案。

8、媒介(media)

发送通知(告警)的手段,如微信、邮件、钉钉等等。

9、通知(notification)

通过指定的媒介,向用户发送的有关事件的信息。

10、远程命令(remote command)

指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。

11、模板(template)

用于快速定义被监控主机的预设条目集合,通常包括了监控项、触发器、应用等,模板可以直接链接至某个主机。

12、应用(application)

一组监控项的集合。

13、web场景(web scennario)

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

14、前端(frontend)

zabbix的web接口。

五、 Zabbix 6.0 新特性

1.Zabbix server高可用防止硬件故障或计划维护期的停机

原生选择加入HA群集配置
定义一个或多个备用节点
实时监控Zabbix server群集节点的状态
不需要外部工具即可将Zabbix server配置为HA群集模
Zabbix 6.0 LTS新增Kubernetes监控功能,可以在

2.Kubernetes系统从多个维度采集指标

Kubernetes节点和pods的自动发现和监控
无代理方式采集Kubernetes pods和节点的信息
获取Kubernetes节点主机高水平信息

六、zabbix 工作原理

工作流程
zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给
zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,
zabbix web根据数据在前端进行展示和绘图。
zabbix的数据收集分为两种模式:

1、主动模式

zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix
server。

2、被动模式

zabbix server向agent请求获取监控项的数据,zabbix agent返回数据。
可以看出,zabbix的主动和被动模式是以zabbix客户端为基准的。
在这里插入图片描述

七、zabbix进程详解

在默认情况下,zabbix有6个工作进程,分别是zabbix_agentd,zabbix_get、zabbix_proxy、
zabbix_sender、zabbix_server和zabbix_gateway。其中,zabbix_java_gateway是可选进程。这6个
进程作用如下:
1、zabbix_agentd
zabbix_agentd为zabbix客户端守护进程,主要负责收集客户端监控项数据。
2、zabbix_server
zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据。
3、zabbix_proxy
zabbix_proxy是zabbix代理进程,其功能类似于server,作用上类似与一个中转站,最终会把收集到的
数据再次提交给zabbix_server。
4、zabbix_get
zabbix_get为一个zabbix工具,通常运行在zabbix server或者是zabbix proxy上,用于远程获取客户端
信息,通常用于排错。
5、zabbix_sender
zabbix_sender也是一个zabbix工具,通常运行在zabbix客户端,通常用于耗时比较长的检查,其作用
是主动发送数据。
用户发送数据给 server 或 proxy 端
6、zabbix_java_gateway
zabbix_java_gateway是zabbix2.0之后引入的新功能,可以用户JAVA方面的设备,但是其只能主动获取
数据,而不能被动获取数据。

八、 zabbix监控架构

在实际生产环境中,根据网络环境和监控规模的不同,zabbix一共有三种监控架构,分别是serverclient架构、master-node-client架构和server-proxy-client架构。

1、server-client架构
zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix server和zabbix client之间直接进
行数据交互。

2、server-proxy-client架构
proxy是连接server和client之间的桥梁,其本身并不存放数据,只是将zabbix agent端发送来的数据暂
存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。在server-proxy-client
架构架构中,server设备的宕机会导致整个系统无法正常工作。

3、master-node-client架构
master-node-client架构是zabbix最复杂的架构,一般用于跨机房、跨网络、监控设备较多的大型网络
架构。与server-proxy-client相比,master-node-client架构的主要区别在于node与proxy上。在
master-node-client架构中,每个node可以理解为一个小的server端,有自己的配置文件和数据库,
node下游可以直接连接client,也可以再次经过proxy代理后连接client。在master-node-client架构
中,master设备宕机不会影响node结点的正常工作。
这三种架构模式图如下所示:
在这里插入图片描述
每个模块工作职责:
1、Zabbix Server:Zabbix Server为核心组件,用来获取agent存活状况及监控数据。所有的配置、统
计、操作数据均通过Server进行存取到database;
2、Zabbix Database:用户存储所有zabbix的配置信息、监控数据的数据库;
3、Zabbix Web:Zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信
息,通常与zabbix Server运行在同一台主机上,也可以单独部署在独立的服务器上;
4、Zabbix Proxy:常用于分布监控环境中,代理zabbix Server收集部分被监控的监控数据并统一发往
Server端;(通常大于500台主机需要使用)
5、Zabbix Agent:部署在被监控主机上,负责收集被监控主机的数据,并发往Server端或Proxy端;

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

Zabbix服务参数介绍:
zabbix server服务名:zabbix-server 端口:10051

zabbix agent服务名:zabbix-agent端口:10050

zabbix server主配置文件:/etc/zabbix/zabbix_server.conf

zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf

zabbix企业微信报警脚本路径:/usr/lib/zabbix/alertscripts

zabbix自定义监控项路径:/etc/zabbix/zabbix_agentd.d zabbix

日志文件路径:/var/log/zabbix/

九、部署 zabbix 6.0

1.服务端安装(192.168.44.10)

关闭防火墙和Selinux

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server #设置主机名

安装 nginx

cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
yum install -y nginx

部署 Nginx + PHP 环境并测试

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos7.repo
yum install -y epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72wopcache php72w-ldap php72w-bcmath

修改nginx 配置

vim /etc/nginx/conf.d/zbx.conf
server {
	listen 80;
	#server_name zbx.abc.com;
	server_name 192.168.44.10;      #当HTTP请求指向这个IP地址时,以下的配置会被应用
	root /var/www/zbx;
	location / {
			index index.php;           #默认索引文件是index.php
	}
	location ~ \.php$ {
			root /var/www/zbx;
			fastcgi_pass 127.0.0.1:9000;     #指定了处理PHP请求的FastCGI服务器的地址和端口,即PHP-FPM监听在本地的9000端口
			fastcgi_index index.php;
			fastcgi_param SCRIPT_FILENAME /var/www/zbx$fastcgi_script_name;
			include fastcgi_params;
	}
}

修改 php 配置

vim /etc/php-fpm.d/www.conf
user = nginx         #8行
group = nginx        #10行

vim /etc/php.ini
max_execution_time = 300         # 368行
max_input_time = 600             # 378行
post_max_size = 80M              # 656行
date.timezone = Asia/Shanghai    # 877行

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

创建目录和测试文件,启动服务

mkdir -p /var/www/zbx

vim /var/www/zbx/index.php
<?php
phpinfo();
?>

systemctl enable --now nginx php-fpm

在这里插入图片描述

测试访问 http://192.168.44.10/index.php
在这里插入图片描述

部署数据库,要求 MySQL 5.7 或 Mariadb 10.5 及以上版本
配置 Mariadb yum源

cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF

yum install -y mariadb-server mariadb
systemctl enable --now mariadb

初始化数据库

mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如1234) -> 后面一路 Y
mysql -u root -p1234

创建数据库并指定字符集

CREATE DATABASE zabbix character set utf8 collate utf8_bin;

创建 zabbix 数据库用户并授权

GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456';
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY '123456';
flush privileges;

向数据库导入 zabbix 数据

上传源码包 zabbix-6.0.13.tar.gz 到 /opt 目录
cd /opt
tar xf zabbix-6.0.13.tar.gz

#按照顺序导入数据库
cd /opt/zabbix-6.0.13/database/mysql
mysql -uroot -p1234 zabbix < schema.sql
mysql -uroot -p1234 zabbix < images.sql
mysql -uroot -p1234 zabbix < data.sql
mysql -uroot -p1234 zabbix < double.sql
mysql -uroot -p1234 zabbix < history_pk_prepare.sql

编译安装 zabbix Server 服务端
安装依赖包,创建 zabbix 用户

yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make
useradd -s /sbin/nologin -M zabbix          #创建不允许登录的zabbix用户

编译安装

cd /opt/zabbix-6.0.13/
export CFLAGS="-std=gnu99"        #" 用于在当前的终端环境中设置编译器的标志 CFLAGS,使得编译器在编译 C 代码时使用 GNU C99 标准。
./configure \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--with-openipmi \
--with-zlib \
--with-libpthread \
--with-libevent \
--with-openssl \
--with-ldap \
--with-libcurl \
--with-libpcre

make install

如果遇到以下错误,说明export CFLAGS=“-std=gnu99” 环境没有配置
在这里插入图片描述
检查版本

zabbix_server --version

安装成功
在这里插入图片描述
修改 zabbix server 配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix_server.log # 38行,指定 zabbix 日志路径
DBPassword=123456 # 123行,指定 zabbix 数据库的密码(和上面数据库授权的用户密码要一致)

#创建日志文件,并修改属组和属主权限
touch /var/log/zabbix_server.log
chown zabbix.zabbix /var/log/zabbix_server.log

在这里插入图片描述
在这里插入图片描述
准备 systemctl 服务管理文件

vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service

[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix

[Install]
WantedBy=multi-user.target

-------------------------------------------------------------------------------------------------------------------------
After=syslog.target network.target mysqld.service表示Zabbix Server服务将在syslog.target、network.target和mysqld.service启动之后启动。这是因为Zabbix Server需要日志服务、网络服务和MySQL数据库服务先运行。
systemctl daemon-reload
systemctl enable --now zabbix-server

netstat -lntp | grep 10051

在这里插入图片描述
部署 Web 前端,进行访问

cp -r /opt/zabbix-6.0.13/ui/* /var/www/zbx           #设置的user和group为nginx
chown -R nginx.nginx /var/www/zbx
【Default language】选择 Chinese(zh_CN),点击下一步
【Zabbix主机名称】输入 Zabbix-监控;【默认时区】选择 Asia/Shanghai,点击下一步
安装完成后,默认的登录账号和密码为:Admin/zabbix

在这里插入图片描述
服务端安装完成(5.0之前的版本可以在设置页面修改为中文)
在这里插入图片描述
解决 zabbix-server Web页面中文乱码问题

yum install -y wqy-microhei-fonts
cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /var/www/zbx/assets/fonts/DejaVuSans.ttf

刷新浏览器页面

在这里插入图片描述
解决此处乱码
在这里插入图片描述

服务器安装 zabbix 客户端,实现 zabbix 服务端自我监控

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

#zabbix 5.0 版本开始采用 golang 语言开发的新版本客户端 agent2
yum install -y zabbix-agent2
systemctl enable --now zabbix-agent2
netstat -lntp | grep 10050

在这里插入图片描述

2.添加 zabbix 客户端(192.168.44.40)

关闭防火墙

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01

服务端和客户端都配置时间同步

yum install -y ntpdate
ntpdate -u ntp.aliyun.com

服务端和客户端都设置 hosts 解析

cat > /etc/hosts << EOF
192.168.44.10 zbx-server
192.168.44.40 zbx-agent01
EOF

设置 zabbix 的下载源,安装 zabbix-agent2

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2

修改 agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
.......
Server=192.168.44.10            #80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.44.10      #133行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01            #144行,指定当前 zabbix 客户端的主机名

//启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

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

netstat -natp | grep zabbix

在这里插入图片描述

在服务端验证 zabbix-agent2 的连通性

yum install -y zabbix-get          #安装zabbix 主动获取数据的命令
zabbix_get -s '192.168.44.40' -p 10050 -k 'agent.ping'
zabbix_get -s '192.168.44.40' -p 10050 -k 'system.hostname'

---------------------------------------------------------------------------------------------
#常用的键值
agent.ping #服务端与客户端是否连通,返回1表示可达,返回非表示不可达
system.hostname #系统主机名
agent.hostname #客户端主机名
net.if.in[if,<mode>] #网络接口进入的流量统计,if表示网卡名称,带<>的参数表示可以省略
net.if.out[if,<mode>] #网络接口流出的流量统计
proc.num[<name>,<user>,<state>,<cmdline>,<zone>] #进程数
net.tcp.port[<ip>,port] #检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接

在这里插入图片描述
在 Web 页面中添加 agent 主机

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】输入 zbx-agent01
【可见的名称】输入 zbx-agent01-192.168.44.40
【模板】搜索 Linux ,选择 Linux by Zabbix agent
【群组】选择 Linux servers
【Interfaces】点击添加 客户端,【IP地址】输入 192.168.44.40
#监控模板下载地址
https://share.zabbix.com/
https://monitoringartist.github.io/zabbix-searcher/
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建完成
在这里插入图片描述

十、自定义监控内容

案列:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息

1.客户端创建自定义 key

创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/*.conf             #281行,可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
# Format: UserParameter=<key>,<shell command>          #319行,自定义监控项的格式如下
cd /etc/zabbix/zabbix_agent2.d/

vim UserParameter_login.conf
UserParameter=login.user,who|wc -l
systemctl restart zabbix-agent2

在这里插入图片描述
在这里插入图片描述
在服务端验证新建的监控项

zabbix_get -s '192.168.44.40' -p 10050 -k 'login.user'

在这里插入图片描述

2.在 Web 页面创建自定义监控项模板

创建模版

点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

模板创建成功
在这里插入图片描述
创建监控项

点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period 30d #保留时间可自定义设置
点击 【添加】

在这里插入图片描述
在这里插入图片描述
创建触发器
(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】
选择 > 3,点击 【插入】
点击 【添加】

在这里插入图片描述
在这里插入图片描述
创建图形

点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】

在这里插入图片描述
在这里插入图片描述
将主机与模板关联起来(一个主机可以关联多个模板)

点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击
【更新】
此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

在这里插入图片描述
在这里插入图片描述
当登录用户超过三人时开始报警
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置邮件报警

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 124481457@qq.com
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 124481457@qq.com
【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义
点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
点击 【添加】,并测试功能
点击左边菜单栏【配置】->【动作】->【Trigger actions】

选择相对应的动作名称点击进入,点击 【添加】
【类型】选择 触发器,【操作者】选择 等于,【触发器】点击选择 Nunber of login users is
greater than 3
点击【添加】
勾选 【已启动】
点击 【更新】
扩展:告警中文更改
主题:【{TRIGGER.STATUS}】- 服务器{HOST.NAME}的告警
<b>告警时间:{EVENT.DATE} {EVENT.TIME}</b><br>
<b>告警信息:{TRIGGER.NAME}</b><br>
<b>告警等级:{TRIGGER.SEVERITY}</b><br>
<b>告警项目:{ITEM.NAME}</b><br>
<b>告警值:{TRIGGER.VALUE}</b><br>
<b>当前状态:{ITEM.VALUE}</b><br>
<b>事件ID:{EVENT.ID}</b><br>

中文设置
{EVENT.TIME}: 事件发生的时间。
{EVENT.DATE}: 事件发生的日期。
{EVENT.NAME}: 问题的名称或描述。
{HOST.NAME}: 主机的名称。
{EVENT.SEVERITY}: 事件的严重程度。
{EVENT.OPDATA}: 事件的运行数据或其他相关信息。
{EVENT.ID}: 原始问题的ID。
{TRIGGER.URL}: 可能是指向更多信息或解决方案的链接。

主题:Problem: {EVENT.NAME}事件 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:
{TRIGGER.NAME}故障!
内容:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

三、zabbix 自动发现与自动注册

1.zabbix 自动发现(对于 agent2 是被动模式)

自动发现简介
zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

部署自动发现(确保客户端上的 zabbix-agent2 服务状态正常)

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.44.10                #80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.44.10          #133行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent02                #144行,指定当前 zabbix 客户端的主机名
#启动 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
#确保zabbix-agent2服务开启
systemctl restart zabbix-agent2.service
#确定客户端成功
systemctl is-active zabbix-agent2.service

在 Web 页面删除原有的客户端主机

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
注意:如果是新加的机器就无需删除

在服务端和客户端上配置 hosts 解析

vim /etc/hosts
192.168.44.10 zbx-server
192.168.44.40 zbx-agent02

在 Web 页面配置自动发现

点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 mynetwork
【IP范围】设置成 192.168.44.1-254
【更新间隔】设置成 30s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Discovery actions(发现动作)】
勾选 【Auto discovery. Linux servers.】,点击 【启用】
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
可在服务端查看 zabbix 日志
tail -f /var/log/zabbix_server.log
......
32110:20240924:213710.725 enabling Zabbix agent checks on host "192.168.10.16":
interface became available

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

2.zabbix 自动注册(对于 agent2 是主动模式)

zabbix 自动注册简介
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix
server。

环境准备
点击左边菜单栏【配置】中的【发现动作】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

vim /etc/hosts
192.168.10.19 zbx-server
192.168.10.17 zbx-agent01
192.168.10.16 zbx-agent02

在这里插入图片描述
修改 zabbix-agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
......
HostnameItem=system.hostname #139行,取消注释
egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.10.19
ServerActive=192.168.10.19
Hostname=zbx-agent02
HostnameItem=system.hostname #配置项HostnameItem用于指定Zabbix Agent在注册时自动获取
主机名的方式。system.hostname表示使用系统的主机名作为Zabbix Agent的主机名
Include=/etc/zabbix/zabbix_agent2.d/*.conf #281行 配置项用于包含目录中的所
有.conf文件。
zabbix_agent2.d目录下的配置文件会被自动加载,适合用于拆分和管理多个配置文件
ControlSocket=/run/zabbix/agent.sock #345行 该配置项用于指定Zabbix Agent的控制
套接字文件路径。
agent.sock用于与Agent进行控制命令的交互(如启动、停止、重新加载配置等)
egrep -v "^#|^$" /etc/zabbix/zabbix_agent2.conf
systemctl restart zabbix-agent2

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码

基于飞桨paddle2.6.1cuda11.7paddleRS开发版的目标提取-道路数据集训练和预测代码 预测结果&#xff1a; 预测影像&#xff1a; &#xff08;一&#xff09;准备道路数据集 下载数据集地址&#xff1a; https://aistudio.baidu.com/datasetdetail/56961 mass_road.zip …

基于SpringBoot + Vue的医院预约挂号系统(角色:用户、医生、管理员)

文章目录 前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S 四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论 五、项目代码参考六、数据库代码参考七、项目论文示例结语 前言 &#x1f49b;博主介绍&a…

excel单元格增加可选下拉列表

excel单元格增加可选下拉列表 下拉设置&#xff1a;数据–数据验证-选择序列-填写来源&#xff08;来源数据用英文逗号分隔&#xff09;&#xff08;是,否&#xff09;- 区域应用&#xff1a;选定区域-数据验证-是-确认

【代码随想录训练营第42期 Day61打卡 - 图论Part11 - Floyd 算法与A * 算法

目录 一、Floyd算法与A * 算法 1、Floyd算法 思想 伪代码 2、 A * 算法 思想 伪代码 二、经典题目 题目一&#xff1a;卡码网 97. 小明逛公园 题目链接 题解&#xff1a;Floyd 算法 题目二&#xff1a;卡码网 127. 骑士的攻击 题目链接 题解&#xff1a;A * 算法&a…

Windows系统修改Tomcat虚拟机内存参数

文章目录 I 修改Tomcat虚拟机内存参数基于tomcat管理程序进行配置基于setenv文件进行配置II 查看服务器状态/manager/status 查看服务器状态manager/jmxproxy 查询Tomcat指标I 修改Tomcat虚拟机内存参数 基于tomcat管理程序进行配置 查看堆内存分配情况: jmap -heap pid jst…

列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()

列表类型 一.Collections.sort() Collections.sort()用于List类型的排序&#xff0c;其提供了两个重载方法&#xff1a; 1.sort(List<T> list) &#xff08;1&#xff09;List指定泛型时只能指定引用数据类型&#xff0c;也就是说无法用于基本数据类型的排序。 &am…

wsksvg - 优化升级,支持多进程处理文件和 SVG 图像转化

前言 在不断发展的前端技术中&#xff0c;图像的优化和处理始终是提升应用性能的关键。wsksvg 插件的最新版本在之前的基础上进行了重大升级&#xff0c;现支持多进程处理文件以及将 SVG 图像转化为多种其他格式的图片。这一功能的引入不仅提升了处理效率&#xff0c;还大幅度…

MySQL之内置函数

目录 一、日期函数 二、字符串函数 三、数学函数 四、其它函数 一、日期函数 常见的日期函数如下&#xff1a; 函数名称说明current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳date_add(date, interval d_value_type)在date中添加日…

Jenkins Pipeline 中通过勾选参数来控制是否构建 Docker 镜像

1.定义参数&#xff1a; 使用 booleanParam 定义一个布尔参数&#xff0c;示例如下 booleanParam(name: BUILD_DOCKER, description: 是否构建Docker镜像, defaultValue: false)2.使用参数&#xff1a; 在 stage 中&#xff0c;根据参数的值决定构建方式&#xff1a; stage(编…

如何把用过的试卷恢复?5个软件帮助你快速进行试卷清除

如何把用过的试卷恢复&#xff1f;5个软件帮助你快速进行试卷清除 要恢复或清除用过的试卷上的答案或标记&#xff0c;通常涉及去除笔记、擦除手写痕迹或处理扫描件中的内容。以下五款软件可以帮助你有效地清除试卷上的文字、答案或标记&#xff0c;并将其恢复到空白状态&…

云原生|浅谈云原生中的对象存储之MinIO 的使用

一、什么是对象储存 对象存储&#xff08;Object Storage&#xff09;以对象的形式存储和管理数据&#xff0c;这些对象可以是任何类型的数据&#xff0c;例如 PDF&#xff0c;视频&#xff0c;音频&#xff0c;文本或其他文件类型。对象存储使用分布式存储架构&#xff0c;数据…

大型语言模型:通过代码生成、调试和 CI/CD 集成改变软件开发的游戏规则

文章目录 1. 引言2. 代码生成2.1 提高开发人员的生产力2.2 训练与适应 3. 使用人工智能进行调试和修复错误3.1 提高准确性的创新工具3.2 定制解决方案 4. 无缝 CI/CD 集成4.1 CI/CD 集成人工智能&#xff1a;可靠部署的催化剂4.2 持续学习和改进4.3 缩小开发和运营之间的差距 5…

媒界:2025河南台球及配套设施展会3月举办

立足中原&#xff0c;辐射全国&#xff0c;壹肆柒中国国际台球产业博览会3月在郑州盛大举办&#xff1b; 2025中国&#xff08;郑州&#xff09;国际台球产业博览会&#xff08;壹肆柒台球展&#xff09; The 2025 China (Zhengzhou) International Billiards Industry Expo …

数据库中间件Mycat

Mycat是基于Java编写的实现了MySQL协议的数据库中间件&#xff0c;可以将它看成一个数据库代理&#xff0c;可以直接用MySQL客户端工具访问。其核心功能是分库分表和读写分离。 MyCat 是基于阿里开源的 Cobar 产品而研发&#xff0c;Cobar 的稳定性、可靠性、优秀的架构和性能…

【JAVA开源】基于Vue和SpringBoot的学科竞赛管理系统

本文项目编号 T 047 &#xff0c;文末自助获取源码 \color{red}{T047&#xff0c;文末自助获取源码} T047&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

【Java 集合】List接口 —— ArrayList 与 LinkedList 详解

List接口继承自Collection接口&#xff0c;是单列集合的一个重要分支。 在List集合中允许出现重复的元素&#xff0c;所有的元素是以一种线性方式进行存储的&#xff0c;在程序中可以通过索引&#xff08;类似于数组中的元素角标&#xff09;来访问集合中的指定元素。另外&…

CSS清除浮动的多种方法

目录 非 VIP 用户可前往公众号回复“css”进行免费阅读 给浮动元素的祖先元素加高度 给 div 写一个 clear:both; 属性(margin 失效) clear:both; 隔墙法 clear:both; 内墙法 父级 div 定义伪类:after 和 zoom(推荐使用) overflow:hidden;(能够让 margin 生效) 非 …

九、成功版--windows上安装artifactory配置postgressql

centos上搞不定&#xff0c;windows上搞定了 现阶段是想用java写程序控制制品库&#xff0c;等以后研究多了需要写一些脚本的时候&#xff0c;在研究linux上安装artifactory&#xff08;公司就用的linux安装的配置mysql&#xff0c;有空对着配一下linux的&#xff09; 源码地…

文献管理不再难:20个Zotero插件帮你搞定

以下插件排序按照星标量进行排序&#xff0c;常用的插件大概是前20的样子&#xff0c;可以根据自己的需求进行插件的安装。 顺带提一句&#xff0c;插件不是越多越好&#xff0c;装多了可能会出现软件卡顿的情况。 1、Scholaread for Zotero 插件下载&#xff1a;插件下载 …

【智能大数据分析 | 实验一】MapReduce实验:单词计数

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘&#xff0c;以提取有价值的信息和洞察。它结合了大数据技术、人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&a…