Zabbix的安装与基本使用(主机群组、应用集、监控项、触发器、动作、媒介)

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 

一、环境准备

(1)实验基本设置

主机名IP地址角色
Mater192.168.1.10监控端
node1192.168.1.11被监控端
 # 网络自配​hostnamectl set-hostname <主机名>

(2)所有机器关闭防火墙和selinux

 setenforing 0 (修改配置文件关闭)sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsystemctl stop firewalld && systemctl disabled firewalld

二、配置监控端zabbix-server

1、安装Xabbix存储库:

 # 配置阿里源wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo​# 配置Zabbix源rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm​# 将Zabbix中的修改为阿里源sed -i 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

2、安装 Zabbix 服务器和代理:

 yum install zabbix-server-mysql zabbix-agent -y

3、安装Zabbix前端:

启用红帽软件集合:

 yum install centos-release-scl -y

原来的配置已不可用,这里我们修改为国内阿里源

 cd /etc/yum.repos.d/mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bakmv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bakvim CentOS-SCLo-scl-rh.repo[centos-sclo-rh]name=CentOS-7 - SCLo rhbaseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/gpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

编辑文件 /etc/yum.repos.d/zabbix.repo 并启用 zabbix-frontend 存储库。

 vim /etc/yum.repos.d/zabbix.repo...[zabbix-frontend]...enabled=1...

安装Zabbix前端包:

 yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl

4、 创建初始数据库

启动并运行数据库服务器

 cdwget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmrpm -ivh mysql80-community-release-el7-3.noarch.rpm

打开5.7源地址,关闭8.0源地址,确保下载的数据库是mysql5.7;这里换位mariadb也可以

 vim /etc/yum.repos.d/mysql-community.repo

yum -y install mysql-community-server --nogpgcheck

因为mysql5.7启动,root用户会生成随机密码,可以进行修改

 systemctl start mysqld# 查看随机生成的密码grep 'password' /var/log/mysqld.log​# 修改密码    toT1p1L-Fvjjmysqladmin -uroot -p'I5>eyYwjF9WQ=c' password 'xiaoli@2024'# 本人执行失败,换种方式;使用随机密码登录后,修改密码mysql -uroot -p'I5>eyYwjF9WQ'mysql> ALTER USER USER() IDENTIFIED BY 'Lee@2024';

在您的数据库主机上运行以下命令:

 mysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all on zabbix.* to zabbix@localhost identified by 'Zabbix@2024';mysql> flush privileges;mysql> quit;

在 Zabbix 服务器主机上导入初始模式和数据。系统将提示您输入新创建的密码

 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbixEnter password:  # 此处输入上面创建用户时,设置的密码,回车导入数据

可再次进去到数据库,确认zabbix库中有数据生成;

5、为Zabbix服务器配置数据库:

编辑文件 /etc/zabbix/zabbix_server.conf

 cat >> /etc/zabbix/zabbix_server.conf <<'EOF'DBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=Zabbix@2024EOF

6、为Zabbix前端配置PHP

编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消注释并为您设置正确的时区

 vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf----------------------------------------------...php_value[date.timezone] = Asia/Shanghai

7、启动 Zabbix 服务器和代理进程

启动 Zabbix 服务器和agent代理进程并使其在系统启动时启动。

 systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpmsystemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

8、配置 Zabbix 前端

连接到您新安装的 Zabbix 前端:192.168.1.10/zabbix

出现以下登录界面, Zabbix监控平台有默认管理员用户; 默认用户名Admin,密码为zabbix;

页面显示为英文,可以设置为中文;Admin用户,可以设置任何用户的语言;设置自己的语言如下图

设置其他用户的语言如下图:

二、配置被监控端zabbix-agent

当我们把监控端配置启动以后,我们需要来设置一下我们的被监控端,我们在被监控的主机安装好zabbix-agent,设置好他的所属的监控端server,并把他添加到server端,就能将其纳入我们的监控系统中去了。

1、安装 zabbix

 # 配置阿里源wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo​# 配置Zabbix源rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm​# 将Zabbix中的修改为阿里源sed -i 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install zabbix-agent zabbix-sender -y

2、修改配置文件

对配置文件做一个备份,然后去修改配置文件:

 cd /etc/zabbix/cp zabbix_agentd.conf zabbix_agentd.bak​vim zabbix_agentd.conf----------------------------------------------------------Server=192.168.1.10                 # zabbix服务端的地址ServerActive=192.168.1.10           # 主动模式 zabbix-server-ipHostname=zabbix-agent-node1UnsafeUserParameters=1  # 是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符EnableRemoteCommands=1  # 是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.

修改完成之后,我们保存退出。然后就可以启动服务了:

 systemctl start zabbix-agent

3、创建主机群组

可以看到Zabbix本身就有很多默认的主机群组。暂时不用理会

4、创建主机

5、创建应用集

应用集,可以认为是监控项的分类

应用集可以有多个,我们再创建2个,这里不再给予创建过程;

6、创建监控项

任何一个被监控项,如果想要能够被监控,一定要在zabbix-server端定义了能够连接至zabbix-agent端,并且能够获取命令。或者在agent端定义了能够让server端获取命令。一般都是内建的命令,都对应的有其名字,被我们称之为 key 。

(1)创建一个不带参数的监控项:

关于键值(key值),我们可以直接在网页上设置(服务器自动执行), 但是最好提前使用命令行命令(手动执行)来获取,确保此监控项的键值能取到监控数据,也就意味着能监控到此指标;

 yum -y install zabbix-get.x86_64zabbix_get -s 192.168.1.11 -k system.uptime -p 10050

如果能获取到值,就可以点击添加了;等待一会儿,点击“监测”-->“最新数据”;即可看到被监控端node1的已运行时间;

也可点击自带的“图形”,看到整体情况

(2)创建1个带参数的监控项:

监控文件的大小:被监控端node1先创建出1G文件

 dd if=/dev/zero of=/home/test.txt bs=1M count=1024ll -h /home/------------rw-r--r--  1 root root 1.0G Aug 26 23:42 test.txt

去监控平台,创建监控项:

点击“最新数据”

案例3:监控cpu负载

关于key值,我们可以直接在网页上设置(服务器自动执行),也可以使用命令行命令(手动执行)来获取

 zabbix_get -s 192.168.1.11 -k system.cpu.load[all,avg5] -p 10050

案例4:监控tcp的80端口是否被占用

被监控端,先下载占用80端口的服务,比如httpd或者nginx,tcp协议占用80端口的应用,都可以

 yum -y install httpdsystemctl start httpd

来到监控平台,创建对应监控项:

然后去“最新数据”中,查看

7、删除监控项

如果有一个监控项,我们用不上了,就可以删除掉。但是如果你直接删除的话,默认数据是会留下的,所以我们要先清除数据,然后再删除

  • 历史数据(history)和趋势数据(trends)是Zabbix中存储收集到的数据的两种方式。
  • 历史数据:每一个收集到的监控数据
  • 趋势数据:按小时统计计算的平均值数据

强烈建议将历史数据保留时长设置得尽可能的小。这么做可以让数据库不会因存储了大量的历史数据,导致超负荷运行。

可以选择长时间的保留趋势数据,来替代长期需要的历史数据。例如:设置成保留14天历史数据和5年的趋势数据

8、创建触发器(trigger)

触发器就是来判断监控项监控到的数据,是否处于合理区间的;

8.1、简介

当我们的采集的值定义完了以后,就可以来定义触发器了。触发器的定义是:界定某特定的监控项采集到的数据的非合理区间或非合理状态。通常为逻辑表达式

 一般,我们评定采样数值是否为合理区间的比较稳妥的方法是——根据最后N次的平均值来判定结果;这个最  后N次通常有两种定义方式:  

  1. 最近N分钟所得结果的平均值  

  2. 最近N次所得结果的平均值  

注意:能用数值保存的就不要使用字符串

8.2、触发器表达式

基本的触发器表达式格式如下所示

 {<server>:<key>.<function>(<parameter>)}<operator><constant>​# server :主机名称;# key :主机上关系的相应监控项的key;# function :评估采集到的数据是否在合理范围内时所使用的函数,目前触发器所支持的函数有avg(平均)、count(计数)、change(变化)、date(日期)、dayofweek(星期)、delta(增量)、diff、iregexp、last()、max(最大值)、min(最小值)、nodata(无数据)、now(现在)、sum(总和)等# parameter :函数参数;大多数数值函数可以接受秒数为其参数,而如果在数值参数之前使用“#”做为前缀,则表示为最近几次的取值,如sum(300)表示300秒内所有取值之和,而sum(#10)则表示最近10次取值之和;

8.3、配置一个触发器

测试触发器是否生效 ;被监控端停止httpd服务,意味着80端口也会关闭

 systemctl stop httpd

9、创建动作

可以看出,还需要在虚拟机上进行两项操作,一是修改sudo配置文件使zabbix用户能够临时拥有管理员权限;二是修改zabbix配置文件使其允许接收远程命令。我们进行如下操作:

 [root@node1 ~]# visudo              # 相当于“vim /etc/sudoers”## Allow root to run any commands anywhereroot    ALL=(ALL)       ALLzabbix  ALL=(ALL)       NOPASSWD:ALL        # 添加的一行,表示不需要输入密码[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf...EnableRemoteCommands=1          #允许接收远程命令LogRemoteCommands=1             #把接收的远程命令记入日志[root@node1 ~]# systemctl restart zabbix-agent.service

测试动作是否执行: 在被监控端,将httpd服务停止,查看是否会重启

等待一会儿,可看到,问题已被解决

被监控端查看httpd服务状态,也可看到httpd服务已被重启

刚刚一旦发生问题,我们添加了第一步需要做的事情,也就是重启服务,如果重启不成功怎么办呢?我们就需要来添加第二步:

第二步,可以是发送邮件,让我们及时知道问题仍然存在,然后人工介入紧急处理;邮箱报警,需要创建媒介邮箱类型有很多种,比如QQ邮箱,阿里云邮箱,163邮箱等;想用邮箱接收报警,要开启邮箱的SMTP服务

我们这里用QQ邮箱: 开启邮箱POP3/SMTP服务

在QQ邮箱界面--设置--账户

获取授权码并保存

10、创建媒介

媒介是Zabbix中用于发送通知和告警的传输通道。

问题发现邮件内容:

问题恢复邮件内容:

测试媒介是否可用(本人目前测试失败)

成功后前往"动作"->"操作",进行设置

11、动作

将Admin用户和local_email媒介进行关联

接下来自行进行测试 

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

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

相关文章

『功能项目』制作提示主角升级面板【56】

我们打开上一篇55事件中心处理怪物死亡的项目&#xff0c; 本章做的事情是制作提示主角升级的界面&#xff0c;当主角升级时就会被显示出来点击确认即可消失 首先在unity编辑场景制作 在确认按钮对象上添加事件 点击Button将Panel添加至事件框选 在事件函数中选择gameobject.S…

Linux操作系统入门(五)

————————————————————————————————————————— 至此&#xff0c;大部分Linux操作系统的文件操作指令已经总结完成&#xff0c;最后还需进行vim编辑器的使用 使用方法&#xff1a;在FinalShell终端中输入"vim [文件]",以下图…

微信支付开发-前端api实现

一、操作流程图 二、代码实现 <?php /*** 数字人答题业务流* User: 龙哥三年风水* Date: 2024/9/11* Time: 14:59*/ namespace app\controller\shuziren; use app\controller\Base; use app\model\param\QuestionParam as PQPModel; use app\model\answer\QuestionBank; u…

这个公司可以做点什么呢?

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

C++ Primer Plus(速记版)-容器和算法

第九章 顺序容器 容器是存储特定类型对象的集合&#xff0c;标准库提供了多种容器类型以支持不同的使用场景。其中&#xff0c;顺序容器&#xff08;如vector、list、deque&#xff09;根据元素添加到容器中的顺序来存储和访问元素&#xff0c;与元素值无关。 这些顺序容器各有…

Vue Application exit (SharedArrayBuffer is not defined)

vite配置 export default defineConfig { server: {cors: true, // 启用 CORSheaders: {Cross-Origin-Opener-Policy: same-origin,Cross-Origin-Embedder-Policy: require-corp,cross-origin-resource-policy: cross-origin}}, } 错误处理 报其它错误&#xff0c;如(Compi…

第159天:安全开发-Python-协议库爆破FTPSSHRedisSMTPMYSQL等

案例一: Python-文件传输爆破-ftplib 库操作 ftp 协议 开一个ftp 利用ftp正确登录与失败登录都会有不同的回显 使用ftplib库进行测试 from ftplib import FTP # FTP服务器地址 ftp_server 192.168.172.132 # FTP服务器端口&#xff08;默认为21&#xff09; ftp_po…

chromedriver下载与安装方法

chromedriver下载地址&#xff1a; 版本在114及以下&#xff1a;http://chromedriver.storage.googleapis.com/index.html 版本在128&#xff1a;https://googlechromelabs.github.io/chrome-for-testing/#stable 其他版本下载方法&#xff1a; 如版本128.0.6613.137位下载地址…

婴儿接触危险物品检测系统源码分享

婴儿接触危险物品检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comp…

计算机三级网络技术总结(三)

宽带&#xff08;bandwidth&#xff09;单位是kbpspos framing sdh / pos framing sonetpos flag s1s0 2 / pos flag s1s0 0CRC 32network <目的网络的ip地址><子网掩码的反码>area 0area 0 range<子网地址><子网掩码>ip route <目的网络地址>&l…

通信工程学习:什么是GPON吉比特无源光网络

GPON&#xff1a;吉比特无源光网络 GPON&#xff08;Gigabit-Capable Passive Optical Network&#xff0c;吉比特无源光网络&#xff09;是一种基于ITU-T G.984.x标准的最新一代宽带无源光综合接入技术。该技术以其高带宽、高效率、大覆盖范围和用户接口丰富等特点&#xff0c…

并发安全与锁

总述 这篇文章&#xff0c;我想谈一谈自己对于并发变成的理解与学习。主要涉及以下三个部分&#xff1a;goroutine&#xff0c;channel以及lock 临界区 首先&#xff0c;要明确下面两组概念 并发和并行 并行&#xff1a;指几个程序每时每刻都同时进行 并发&#xff1a;指…

JVM 一个对象是否已经死亡?

目录 前言 引用计数法 可达性分析法 引用 finalize() 方法区回收 前言 虚拟机中垃圾回收器是掌握对象生死的判官, 只要是垃圾回收器认为需要被回收的, 那么这个对象基本可以宣告"死亡". 但是也不是所有的对象, 都需要被回收, 因此, 我们在学习垃圾回收的时候…

如何用MATLAB计算多边形的几何中心

在MATLAB中&#xff0c;计算多边形的几何中心&#xff08;又称质心或重心&#xff09;可以通过以下步骤实现。假设你有一个多边形&#xff0c;其顶点按照顺时针或逆时针顺序排列在一个矩阵中。具体步骤如下&#xff1a; 定义多边形顶点&#xff1a;首先&#xff0c;你需要将多边…

珠宝首饰检测系统源码分享

珠宝首饰检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

【时时三省】(C语言基础)指针进阶 例题8

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 第一个打印2 a6不管它是多大 前面是&#xff1d;s 都得变成两个字节 所以打印2 第二个打印5 sizeof里面的表达式是不参与运算的 所以打印5 上面所有例题总结…

36.贪心算法3

1.坏了的计算器&#xff08;medium&#xff09; . - 力扣&#xff08;LeetCode&#xff09; 题目解析 算法原理 代码 class Solution {public int brokenCalc(int startValue, int target) {// 正难则反 贪⼼int ret 0;while (target > startValue) {if (target % 2 0…

gcc/g++的使用:

目录 (1). 程序的翻译过程 预处理&#xff1a; gcc -E 源文件 编译&#xff1a; gcc -S 源文件 汇编&#xff1a;gcc -c 源文件 连接&#xff1a; (2) 语言的自举(也叫 编译器的自举)&#xff1a; (3). 查看可执行程序在连接时依赖的库: ldd 可执行程序的名字 。 (4). …

指针 (六)

OK&#xff0c;书接上回&#xff0c;咱们继续&#xff1a; 一 . 函数指针变量 &#xff08;1&#xff09;函数指针变量的创建 首先我们得明白&#xff0c;什么是函数指针变量呢&#xff1f;从我们之前学习过的整型指针&#xff0c;数组指针的相关知识当中&#xff0c;通过类…

OpenAI API key not working in my React App

题意&#xff1a;OpenAI API 密钥在我的 React 应用中不起作用 问题背景&#xff1a; I am trying to create a chatbot in my react app, and Im not able to generate an LLM powered response. Ive been studying documentation and checking out tutorials but am unable …