监控zabbix的安装与使用

news2024/9/22 21:18:19

文章目录

    • 1.zabbix的安装步骤
    • 2.zabbix的主动模式和被动模式简介及实现
    • 3.zabbix proxy主动及被动
    • 4.自定义监控,监控linux和连接状态,创建email进行基础报警
    • 5.部署zabbix agent脚本,适配rocky和ubuntu系统
    • 6.使用脚本,基于zabbix api添加zabbix agent到zabbix web
    • 7.使用granfana构建监控图形。

1.zabbix的安装步骤

使用centos8安装zabbix6.0过程

  1. 安装epel源
[root@zabbix ~]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
  1. 安装zabbix的repo源
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
[root@zabbix ~]# yum clean all
[root@zabbix ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
  1. 安装数据库并启动
[root@zabbix ~]# yum install mysql-server.x86_64 -y
[root@zabbix ~]# systemctl enable --now mysqld
  1. 创建用户
[root@zabbix ~]#  mysql
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
  1. 导入数据
[root@zabbix ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p123456 zabbix
[root@zabbix ~]# mysql
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
  1. 修改配置文件
[root@zabbix ~]# sed -i "s/# DBPassword=/DBPassword=123456/" /etc/zabbix/zabbix_server.conf
  1. 安装中文语言包
[root@zabbix ~]# yum install langpacks-zh_CN.noarch -y 
  1. 在配置文件中将该两行取消注释
[root@zabbix ~]# vim /etc/nginx/conf.d/zabbix.conf
# listen 8080;
# server_name example.com;
  1. 设为开机自启
[root@zabbix ~]# systemctl restart zabbix-server zabbix-agent nginx php-fpm
  1. 访问ip:8080
系统名称ip
centos8zabbix-server10.76.0.246
centos8zabbix-proxy10.76.0.182
centos8zabbix-client110.76.0.184
centos8zabbix-client210.76.0.180

2.zabbix的主动模式和被动模式简介及实现

 Zabbix默认是被动模式,被动模式需要 Zabbix Server找 Zabbix Agent要数据。
 主动模式是Zabbix Server给 Zabbix Agent发送一个监控项的任务清单,Zabbix Agent根据任务清单,采集好监控项的值,主动汇报给 Zabbix Server这100个监控项,Zabbix Agent主动模式只需要发送一次数据,大大提高了传输效率。

主动模式步骤:Server打开一个TCP连接,Server发送请求agent.ping,Agent接收到请求并进行响应,Server处理接收到的数据,关闭TCP连接

被动模式步骤:zabbix agent 首先向ServerActive配置的IP请求获取active items,获取并提交active items数据值给server或者proxy。被动模式是指 zabbix agent 被动的接受zabbix server(或者Zabbix Proxy)周期性发送过来的数据收集指令此为默认的工作方式。在被动模式之下,zabbix server会根据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix agent服务器的10050端口发起tcp连接,然后发送获取监控项数据的指令。

 被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix的默认工作模式,但是被动模式的最大问题就是会加大zabbix server的 负载,在数百甚至数千台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,如果zabbix server负载过高还会导致不能及时获取到最新数据被动模式因为性能的原因,一台 Zabbix Server 一般只能监控500台以下的主机,更多的主机建议使用主动模式。默认是被动模式,在被监控的主机上安装zabbix-agent并启动上添加主机并进行关联就可以。
 被动模式只需要配置该行

[root@client ~]#vim /etc/zabbix/zabbix_agentd.conf
Server=10.76.0.246              #被动模式指向Zabbix Server的IP或FQDN

 主动模式实现修改一下配置

[root@client ~]#vim/etc/zabbix/zabbix_agentd.conf
Server=10.76.0.246             #被动模式指向Zabbix Server的IP或FQDN
ServerActive=10.76.0.246       #主动模式指向Zabbix Server的IP或FQDN
Hostname=10.76.0.184           #当前主机的IP

3.zabbix proxy主动及被动

主动模式,Zabbix Proxy 会主动向 Zabbix Server 发送监控数据。这意味着代理程序定期检查预先定义的监控项,并将结果直接发送到服务器。
 **特点:**数据推送:代理程序主动将数据发送给服务器。减少服务器负载:由于代理主动发送数据,减少了服务器端的查询负担。网络问题敏感:如果网络有问题或者代理无法连接到服务器,可能会导致数据丢失。适用于大量数据:适合于需要频繁发送大量数据的情况。
被动模式 :被动模式则是 Zabbix Server 定期向 Proxy 请求数据。在这种模式下,Proxy 不会主动发送数据;相反,它等待服务器的请求并响应这些请求。
 **特点:**数据拉取:服务器向 Proxy 请求数据。保证数据完整性:即使在网络不稳定的情况下也能保证数据被收集。增加服务器负载:服务器需要定期向每个 Proxy 发起请求。适用于关键数据:适合于需要确保数据完整性和可靠性的场景。

zabbix-proxy安装
[root@zabbix-proxy ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
[root@zabbix-proxy ~]# yum clean all
[root@zabbix-proxy ~]# dnf install zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy
数据库
[root@zabbix-proxy ~]# mysql 
mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by '123456';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
导入初始架构和数据,系统将提示您输入新创建的密码。
[root@zabbix-proxy ~]# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p123456 zabbix_proxy
[root@zabbix-proxy ~]# mysql
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
主动模式实现
[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
ProxyMode=0                         
#主动模式为0,被动模式为1,默认为0即主动模式
Server=10.76.0.246      #指向Zabbix Server            
Hostname=zabbix-proxy   #该名称要与Web管理页的agent代理程序名称相同     
DBHost=localhost        #MySQL服务器地址            
DBName=zabbix_proxy    #MySQL数据库名      
DBUser=zabbix          #连接MySQL的用户             
DBPassword=123456      #连接MySQL的用户密码             
被动模式
[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
ProxyMode=1 #0为主动,1为被动,此为默认
server=10.76.0.246        #zabbix server服务器的地址
Hostname=zabbix-proxy    #agent代理程序名称相同
DBHost=localhost   #数据库服务器地址
DBName=zabbix_proxy #数据库库名称
DBUser=zabbix       #连接数据库的用户名称
DBPassword=123456   #数据库用户密码

4.自定义监控,监控linux和连接状态,创建email进行基础报警

[root@zabbix-server ~]# cat /etc/zabbix/zabbix_agentd.d/test.conf
UserParameter=root_filesystem_use,df|awk -F' +|%' '$7 == "/" {print $5 }'
UserParameter=tcp_status_estab,ss -ant|grep -c ESTAB
 #客户端测试
[root@client1 ~]# zabbix_agent -t root_filesystem_use
[root@client1 ~]# zabbix_agent -t tcp_status_estab
 #重启服务后服务器端才能获取数据
[root@client1 ~]# systemctl restart zabbix-agent.service 
#服务器端测试
[root@zabbix-server ~]#yum -y install zabbix-get
[root@client1 ~]# systemctl restart zabbix-agent.service 
[root@zabbix-server ~]#zabbix_get -s 10.76.0.184 -p 10050 -k "root_filesystem_use"
[root@zabbix-server ~]#zabbix_get -s 10.76.0.184 -p 10050 -k "tcp_state_estab"
  1. qq开启SMTP功能,并获取授权码
  2. 创建告警媒介
    在这里插入图片描述
    在这里插入图片描述

5.部署zabbix agent脚本,适配rocky和ubuntu系统

#!/bin/bash
url="https://repo.zabbix.com/zabbix/6.0"
SERVER="10.76.0.246"
HOST=`hostname -I`
. /etc/os-release
if [ $ID = "rocky" $ID = "centos" ];then 
	rpm -Uvh $url/rhel/$VERSION_ID/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
	yum clean all && yum install zabbix-agent -y
	sed -i "s/Server=127.0.0.1/Server=$SERVER/"  /etc/zabbix/zabbix_agentd.conf
	sed -i "s/# Hostname=Zabbix Server/Hostname=$HOST/" /etc/zabbix/zabbix_agentd.conf
elif [ $ID = ubuntu ]; then
	wget $url/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb 
	dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
	apt update  && apt install zabbix-agent -y
	sed -i "s/Server=127.0.0.1/Server=$SERVER/"  /etc/zabbix/zabbix_agentd.conf
	sed -i "s/# Hostname=/Hostname=$HOST/" /etc/zabbix/zabbix_agentd.conf
else 
	echo "你的系统不是redhat和ubuntu系列的,请检查您的系统版本!"
	exit 1
fi
systemctl start zabbix-agent && systemctl enabled zabbix-agent

6.使用脚本,基于zabbix api添加zabbix agent到zabbix web

#!/bin/bash
zabbix_server="10.76.0.246"
HOST="10.76.0.184"
#获取TOKEN值并赋予变量
TOKEN=$(curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' 
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
    "username": "Admin",
    "password": "zabbix"
  },
"id": 1
}' "http://${zabbix_server}/api_jsonrpc.php" | jq -r .result)
curl -s -X POST -H "Content-Type: application/json-rpc" -d '
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
    "host": "'$HOST'",
    "name": "'linux-$HOST'",
    "interfaces": [
        {
        "type": 1,
        "main": 1,
        "useip": 1,
        "ip": "'$HOST'",
        "dns": "",
        "port": "10050"
        }
    ],
    "groups": [ 
        {
            "groupid": "2" 
        }
    ],
    "templates": [ 
        {
            "templateid": "10001" 
        } 
    ]
 },
"id": 1,
"auth": "'$TOKEN'"
}' http://${zabbix_server}/api_jsonrpc.php | python3 -m json.tool

在这里插入图片描述

7.使用granfana构建监控图形。

 使用grafana构建监控网络设备的图形
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

yolov8旋转框+关键点检测

一、Yolov8obb_kpt -----------------------------------现已在v8官方库上更新旋转框分割算法和旋转框关键点检测算法-------------------------- ------------------------------------------- https://github.com/yzqxy/ultralytics-obb_segment---------------------------…

每天五分钟深度学习框架pytorch:自动求导机制

本文重点 深度学习框架pytorch拥有自动求导的机制,自动求导是 PyTorch 中非常重要的特性,能够让我们避免手动去计算非常复杂的导数,这能够极大地减少了我们构建模型的时间。本文学习的是第10步反向传播,学习路线参考前面一篇文章。 pytorch0.4版本 在pytorch的0.4版本中…

YOLO知识点总结:

分类: 即是将图像结构化为某一类别的信息,用事先确定好的类别(category)或实例ID来描述图片。这一任务是最简单、最基础的图像理解任务,也是深度学习模型最先取得突破和实现大规模应用的任务。其中,ImageNet是最权威的评测集&…

C语言刷题日记(附详解)(1)

一、选择判断部分 第一题&#xff1a; 如下代码是否存在风险&#xff0c;并说明原因和修改方案 #include<stdio.h> int main() {char* str "hello world";*str a;return 0; }思路提示&#xff1a;这种形式的字符串存储在什么区域呢&#xff1f;是否真的有…

【个人笔记公司项目】vue项目配置代理解决跨域问题

前后端分离模式势必会遇到跨域问题&#xff0c;比如我是10.106.46.169:8080要去请求10.114.46.108:9191。下面讲下代理详细步骤。 本文步骤基于本人的项目结构 一般项目结构已支持代理 // 部署时需要将改开关置为false window.isDev trueif (window.isDev) { // Devwindow.l…

计算机网络速成(二)

计算机网络面试&#xff08;二&#xff09;-CSDN博客 OSI七层体系架构 OSI七层模型是什么&#xff1f;每层的功能是什么&#xff1f; OSI七层模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;它从上到下分别是&am…

揭秘“商业园区综合管理平台”的无代码开发流程!

本文中的素材来自我在某国资投资集团朋友小赵的“有偿”投稿&#xff0c;要知道现在的商业园区也正在经历数字化改造&#xff0c;面对多商场、多店铺的复杂管理需求&#xff0c;各类商管集团纷纷进行线上互联网管理模式的转型。 这份素材有何不同之处呢&#xff1f;因为他们走了…

EthernetIP IO从站设备数据 转IEC61850项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集ETHERNETIP IO数据 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 6 7 从设备的的EDS文件获取参数信息 8 8 案例总结 10 1 案例说明 设置网关采集EthernetIP IO设备数据把采集的数据…

成功解决:el-popconfirm组件来确认删除、修改等操作无效

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 &#x1f393;擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号&#xff1a;热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…

深入理解java web分层架构的高内聚低耦合

​ 在软件开发中&#xff0c;构建一个高效、可维护且可扩展的应用系统一直是开发者追求的目标。分层架构和依赖注入&#xff08;IOC&#xff09;是实现这一目标的重要策略。本文将深入探讨三层架构的高内聚特性、低耦合的设计原则&#xff0c;以及如何通过IOC&#xff08;控制反…

前端宝典之五:React源码解析之深度剖析Diff算法

本文主要针对React源码进行解析&#xff0c;内容有&#xff1a; 1、Diff算法原理、两次遍历 2、Diff瓶颈及限制 3、Diff更新之单节点和多节点原理 一、Diff源码解析 以下是关于 React Diff 算法的详细解析及实例&#xff1a; 1、React Diff 算法的基本概念和重要性 1.1 概念…

非专业人员该学什么程序语言

编程&#xff0c;一度被认为和驾驶一样是一项现代社会的基本技能&#xff0c;非专业人员也该有所掌握&#xff0c;中小学也在教。但实际上&#xff0c;它的普及程度远比驾驶差&#xff0c;掌握这个技能的人很少&#xff0c;在学校学过的知识&#xff0c;因为工作中用不上也都忘…

一文弄懂评分卡是什么

在最开始的信用审批过程中,客户的信用等级主要由专家进行主观评判。随着数据分析工具的发展和数据收集、存储越来越容易,各大机构逐渐使用统计模型将专家的评判标准量化为评分卡模型。从而更有利于客观评价客户风险,和批量高效对客户进行风险分级。随着技术的发展,机器学习…

力扣经典题目~快乐数~零基础也能看懂哦

202. 快乐数https://leetcode.cn/problems/happy-number/ 题目描述&#xff1a; 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&…

MyBatisX逆向工程

目录 逆向工程 准备好数据库、表 安装MyBatisX插件 项目连接数据库 引入依赖pom.xml 生成实体类、映射文件、接口 逆向工程 正向工程&#xff1a;先创建Java实体类&#xff0c;由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。 逆向工程&#xff1a;先创…

晶体管电路设计学习(一)放大电路的工作

我们这里学习晶体管电路设计&#xff0c;会从晶体管到场效应管直到复杂的运放器件&#xff0c;主要是进行体系化的深入学习&#xff0c;只是一个学习和记录的过程。 放大电路的作用是将小信号放大为大信号。例如,将0.1V的信号提高为1V 信号----即是放大。 1.首先,用晶体管组成一…

TinyC编译器4—编译器基本流程

1.什么是编译器&#xff0c;为什么要开发编译器 编译器&#xff1a;将一种程序语言翻译为另一种程序语言的计算机程序。一般来说&#xff0c;源程序为高级语言&#xff0c;而目标语言则是汇编语言或者机器码。 一开始的程序员是用机器码写程序&#xff0c;非常容易出错&#…

UE5中制作箭头滑动转场

通过程序化的方式&#xff0c;可以制作一些特殊的转场效果&#xff0c;如箭头划过的转场&#xff1a; 1.制作思路 我们知道向量点积可以拿来做投影&#xff0c;因此可以把UV空间想象成向量坐标&#xff0c;绘制结果就是在某个向量上的投影&#xff1a; 绘制结果似乎是倾斜方…

【ISAC】Federated Edge Learning With Misaligned Over-The-Air Computation

[1]-Tse, David, and Pramod Viswanath. Fundamentals of wireless communication. Cambridge university press, 2005. 文章目录 1-综述2-系统模型 1-综述 misaligned OAC&#xff1a;预编码矩阵&#xff08;含噪声&#xff09; 没同步好 2-系统模型 θ ∈ R d \theta \in\m…

云计算实训31——playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排

playbook(剧本): 是ansible⽤于配置,部署,和管理被控节点的剧本。⽤ 于ansible操作的编排。 使⽤的格式为yaml格式 一、YMAL格式 以.yaml或.yml结尾 ⽂件的第⼀⾏以 "---"开始&#xff0c;表明YMAL⽂件的开始(可选的) 以#号开头为注释 列表中的所有成员都开始于…