2.zabbxi操作和设置

news2024/11/15 1:41:45

文章目录

  • zabbxi操作和设置
    • 添加zabbix-agent客户端
      • web端添加客户端
    • 自定义监控模板(面试)
      • 监控模板下载地址
      • 案例1
      • 案例2
    • 设置邮件报警
    • 自动注册和自动发现
      • 自动发现(对于agent是被动模式)
      • 自动注册(对于agent是主动模式)

zabbxi操作和设置

添加zabbix-agent客户端

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

vim /etc/selinux/config

SELINUX=disabled
##进行时间同步
##服务端和客户端都配置时间同步

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



##如果修改了主机名
hostnamectl set-hostname zbx-agent01

##需要在服务端和客户端都设置 hosts 解析

vim /etc/hosts
192.168.242.66 zbx-server
192.168.242.67 zbx-agent01
##客户端安装  zabbix-agent
##在线安装agent

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm



##因为一些网络原因,可以使用国内的镜像网址

sed -i 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo





yum -y install zabbix-agent

systemctl restart zabbix-agent
systemctl enable zabbix-agent

netstat -lntp | grep 10050			
#客户端 zabbix_agent 默认监听 10050 端口
##修改 agent  配置文件

vim /etc/zabbix/zabbix_agentd.conf

Server=192.168.242.66			
#117行,指定 zabbix 服务端的 IP 地址


ServerActive=192.168.242.66		
#171行,指定 zabbix 服务端的 IP 地址


Hostname=zbx-agent01			
#182行,指定当前 zabbix 客户端的主机名
##启动 zabbix-agent

systemctl restart zabbix-agent
systemctl enable zabbix-agent

netstat -natp | grep zabbix
##在服务端测试验证  zbx-agent01的连通性

yum install -y zabbix-get				
#安装 zabbix 主动获取数据的命令



zabbix_get -s '192.168.242.67' -p 10050 -k 'agent.ping'
1

##192.168.242.67为zabbix-agent的IP地址



zabbix_get -s '192.168.242.67' -p 10050 -k 'system.hostname'
zbx-agent01
###常用的键值

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端添加客户端

##首先在web浏览器登陆到  zabbix  的服务端

http://192.168.242.66/index.php
##添加主机

左侧功能列表  
--》   配置   
--》   主机
右上角创建主机  

在新出来的窗口  
--》添加 主机名称  
--》模板    Linux by Zabbix agent 
--》群组    Linux servers
--》Interfaces 添加 客户端   输入agent的IP地址
--》最后点击添加

##
在主机界面等主机后面的   可用性下的  ZBX   变成绿色就是添加成功了

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

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

自定义监控模板(面试)

监控模板下载地址

https://share.zabbix.com/
https://monitoringartist.github.io/zabbix-searcher/
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates

案例1

  • 案列:自定义监控客户端服务器登录的人数
  • 需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息
###明确需要执行的 linux 命令

who | wc -l
##创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agentd.conf
#可以将自定义的监控项配置文件创建在 zabbix_agentd.d 目录中
##323行
Include=/etc/zabbix/zabbix_agentd.d/*.conf


自定义监控项的格式如下
##346行
Format: UserParameter=<key>,<shell command>



cd /etc/zabbix/zabbix_agentd.d/

vim login_user.conf

UserParameter=login.user,who | wc -l
##重启服务并在服务端进行验证
systemctl restart zabbix-agent

zabbix_get -s '192.168.242.67' -p 10050 -k 'login.user'
##这里的login.user为key
##创建模板

左侧配置
--》 模板
--》 右上角创建模板

在这里插入图片描述

##创建模板配置

--》模板名称   根据要求写
--》群组       Templates
--》描述       自定义
--》点击添加
--》模块界面。点击刚才创建的模块,进入编辑页面 

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

##创建的模板创建监控项

--》上排监控项
--》右上角创建监控项
--》名称      Number of login user
--》键值      键值必须要与自定义的监控项配置文件中设置的保持一致
--》更新间隔   10s
--》历史数据保留时间
--》趋势存储时间        根据需求设置
--》点击添加

在这里插入图片描述

##创建的模板创建触发器

--》上排触发器
--》右上角创建触发器
--》名称          根据需要创建     number of login users is greater than 3
--》严重性         根据需要选择,根据严重程度可自定义设置
--》表达式        右面添加


##表达式添加

--》监控项       选择刚才创建的监控行
--》根据要求选择功能
--》结果   根据要求选择
--》点击插入

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

##创建的模块创建图形

--》上排图形
--》右上角创建图形
--》名称           根据需要写
--》高、宽         保持默认值
--》监控项,点击添加         选择刚才创建的监控项
--》功能            根据要求选择    最大
--》点击添加

在这里插入图片描述

##将主机与创建的模板关联
##一个主机可以关联多个模块

--》左侧配置
--》主机
--》点击主机名
--》模块    选择需要的模块
--》点击更新

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

##查看主机的图形结构

--》左侧监测
--》主机
--》点击主机名
--》选择图形
--》就能看见各个模块的线型图

在这里插入图片描述

案例2

##监控  nginx  服务的并发量等数据
##nginx在线源

vim /etc/yum.repos.d/nginx.repo

[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


yum -y install nginx
##修改配置文件,打开状态统计模块

vim /etc/nginx/conf.d/default.conf


location /nginx_status {
	stub_status on;
	access_log off;
	allow 127.0.0.1;
	deny all;
}

systemctl restart nginx
systemctl enable nginx
netstat -lntp | grep nginx
##获取各种nginx状态数据

curl -sL http://127.0.0.1/nginx_status


Active connections: 当前的活动连接数
server accepts handled requests
 1 1 1
Reading: 0 Writing: 1 Waiting: 0


accepts:已接收的连接数
handled:成功处理的连接数
requests:累计处理的总请求数
Reading:当前正在从客户端读取数据的连接数
Writing:当前正在向客户端写入数据的连接数
Waiting:当前空闲并等待请求的连接数
##  nginx  状态统计脚本

vim /opt/zbx-nginx.sh



#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts

HOST="127.0.0.1"
PORT=80
stub_status="nginx_status"
COMMAND=$1

nginx_check() {
    if [ -f /sbin/pidof ]; then
       /sbin/pidof nginx | wc -w
    else
       ps aux | grep -v "grep" | grep -c "nginx:"
    fi
}

nginx_active(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}'
}

nginx_reading(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}'
}

nginx_writing(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}'
}

nginx_waiting(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}

nginx_accepts(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}'
}

nginx_handled(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}'
}

nginx_requests(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}'
}

case $COMMAND in
    check)
        nginx_check
        ;;
    active)
        nginx_active
        ;;
    reading)
        nginx_reading
        ;;
    writing)
        nginx_writing
        ;;
    waiting)
        nginx_waiting
        ;;
    accepts)
        nginx_accepts
        ;;
    handled)
        nginx_handled
        ;;
    requests)
        nginx_requests
        ;;
    *)
        echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac
chmod +x /opt/zbx-nginx.sh

##到  agent 配置文件中准备文件

cd /etc/zabbix/zabbix_agentd.d/

vim nginx_status.conf

UserParameter=nginx.status[*],/opt/zbx-nginx.sh $1

[*]:代表使用参数时后面的参数
$1:也是表示后面跟的参数,表示[]里的值
##重启服务
systemctl restart zabbix-agent


##在  zabbix  服务端验证键的连通性

zabbix_get -s '192.168.242.67' -p 10050 -k 'nginx.status[requests]'

根据上面的Web创建模块方法,创建模块,创建监控项,创建触发器,创建图形,并连接主机

设置邮件报警

##创建报警媒介

--》左侧,管理下的报警媒介类型
-->右上角创建媒体类型

--》【名称】设置成需要的名称   例如: qq_Email
--》【SMTP服务器】设置成    smtp.qq.com
--》【SMTP服务器端口】设置成 25
--》【SMTP HELO】设置成 qq.com
--》【SMTP电邮】设置成 自己的邮箱地址
--》【认证】选择 用户名和密码
--》【用户名称】设置成 自己的邮箱地址
--》【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信      获取授权码
--》【描述】可自定义


--》点击上方菜单栏【Message templates】
--》点击【添加】
--》【Message type】选择 问题,点击【更新】
--》点击 【添加】,并测试功能

在这里插入图片描述

在这里插入图片描述

##关联用户

--》左侧,user settings,profile
--》上面报警媒介
--》点击添加
--》类型      选择刚才创建的报警类型
--》收件人     写自己的邮箱地址
--》当启用时    选择启用的事件
--》严重性      选择需要的事件的严重性
--》点击添加后点击更新

在这里插入图片描述

##报警媒介关联触发器

--》左侧,配置,动作,Trigger actions
--》点击名称进行修改
--》点击条件中的添加
--》类型为触发器
--》操作者为等于
--》触发器选择需要的触发器
--》最后点击添加和更新

在这里插入图片描述

自动注册和自动发现

自动发现(对于agent是被动模式)

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

systemctl disable --now firewalld
setenforce 0
##确保客户端上的  zabbix-agent  服务状态正常

systemctl is-active zabbix-agent.service 
active
在 Web 页面删除原有的客户端主机
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
##在服务端和客户端上配置 hosts 解析

vim /etc/hosts
192.168.242.66 zbx-server
192.168.242.67 zbx-agent01
192.168.242.68 zbx-agent02
##web界面配置自动发现

--》左侧,配置,自动发现
--》右上角创建自动发现规则
--》【名称】设置成        mynetwork
--》【IP范围】设置成     192.168.80.1-254
--》【更新间隔】设置成     10s
--》【检查】点击【添加】
      --》【检查类型】选择 Zabbix 客户端
      --》【端口范围】设置成 10050
      --》【键值】设置成 system.uname
--》【设备唯一性准则】选择    IP地址
--》【主机名称】选择         DNS名称
--》【可见的名称】选择        主机名称
--》勾选 【已启用】
--》点击 【添加】

在这里插入图片描述

###开启发现动作

--》左侧配置,动作
--》发现动作
--》勾选 【Auto discovery. Linux servers.】,点击 【启用】

在这里插入图片描述

自动注册(对于agent是主动模式)

  • zabbix agent2 会主动上报自己的信息,发给 zabbix server。
  • 缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix serve
vim /etc/zabbix/zabbix_agentd.conf

##190行

 HostnameItem=system.hostname
取消注释
##重启   zabbix-agent  服务

systemctl restart zabbix-agent2
###去除配置文件中的注释项和空白行

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.80.20
ServerActive=192.168.80.20
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

###在web页面配置自动注册

--》左侧,配置,动作,自动注册动作
--》右上角创建动作
--》名称      Auto registration
--》点击条件中的    添加
	--》类型    主机名称
	--》操作者     包含
	--》值        zbx-agent
	--》添加


--》上面操作
--》点击【添加】,【操作类型】选择     添加主机,      点击 【Add】
--》点击【添加】,【操作类型】选择     添加到主机群组,
               【主机群组】选择 Linux servers,    点击 【Add】
--》点击【添加】,【操作类型】选择     与模板关联,
               【模板】搜索 Linux,选择 Linux by Zabbix agent,
                                                点击 【Add】
--》点击下方的【添加】

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

##等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,即可刷新出自动发现的客户端主机
###在服务端查看 zabbix 日志

tail -f /var/log/zabbix_server.log

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

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

相关文章

把同组人做的工作写在自己简历上,算造假吗?知道这个需求不是我做的人,这个世界可能不超过10个人!...

把同组人做的东西写在自己简历上&#xff0c;算造假吗&#xff1f; 一位网友问&#xff1a; 同组人做的需求&#xff0c;需求细节我完全可以讲得清楚。知道这个需求不是我做的人&#xff0c;全世界可能不超过10个人&#xff0c;我把这个需求写在自己简历上算简历造假吗&#xf…

go数据结构之slice与map

1. 切片 1. 切片结构定义 type slice struct {array unsafe.Pointerlen intcap int }array:引用的底层数组&#xff0c;动态数组&#xff0c;可以修改 如果多个切片的array指针指向同一个动态数组&#xff0c;则它们都可以对底层这个动态数组元素进行修改。 len:&#xf…

电商平台怎么搭建

越来越多商家致力于搭建并运营自己的私域电商平台&#xff0c;大家都清楚了解拥有自己电商平台的好处。有利于品牌的塑造与提升&#xff0c;提高品牌曝光度和认知度&#xff0c;提高客户黏性&#xff0c;降低渠道成本。 乔拓云平台模板式搭建电商平台&#xff0c;方法简单实用…

【Linux实验】I/O接口实验(Vmware虚拟机、S5P6818开发板)

这里写目录标题 一、实验目的二、实验内容三、实验设备四、实验步骤五、总结 一、实验目的 掌握S5P6818芯片的I/O口控制寄存器的配置。掌握实验掌握ARM芯片使用I/O口控制LED显示。熟练使用嵌入式交叉编译器。掌握Makefile文件书写。 二、实验内容 编写程序控制实验平台的发光…

ISCSI网络存储服务

ISCSI网络存储服务 应用场景&#xff1a; 服务器硬盘空间不足&#xff0c;可能导致服务器宕机。解决方案通常有两个&#xff0c;一是拷贝出服务器中的部分数据&#xff0c;空出存储空间&#xff0c;但在生产环境中&#xff0c;数据一般会很大&#xff0c;拷贝时间会很长&…

Kubernetes 的内部架构和工作机制

Kubernetes 是一个生产级别的容器编排平台和集群管理系统&#xff0c;能够创建、调度容器&#xff0c;监控、管理服务器。 操作系统的一个重要功能就是抽象&#xff0c;从繁琐的底层事务中抽象出一些简洁的概念&#xff0c;然后基于这些概念去管理系统资源。 Kubernetes 也是…

时间序列预测 | Matlab灰狼算法(GWO)优化极限梯度提升树XGBoost时间序列预测,GWO-XGBoost时间序列预测模型,单列数据输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab灰狼算法(GWO)优化极限梯度提升树XGBoost时间序列预测,GWO-XGBoost时间序列预测模型,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及…

AD为什么使用不了Keepout层来画板框(技巧分享)

AD为什么使用不了Keepout层 背景&#xff1a;keepout层作为板框层&#xff0c;是以前AD10的老版本延续下来的习惯&#xff0c;在新版本上需要单独放置&#xff01; 在嘉立创平台上&#xff0c;习惯了用一个机械1层作为板框。当使用带有添加3D封装的pcb库&#xff0c;发现上面的…

Excel的技术分享

导出Excel的技术分享 Excel前置知识 首先大家就是在大学的计算机导论等课程肯定有了解过office全家桶中的工具之一Excel。在印象当中就是Excel是普遍使用的就是有03和07的两个不同的版本。请问一下大家就是能说一说就是这两个版本有什么区别吗&#xff1f; 显而易见就是从了直…

Elasticsearch【安装ES服务、安装kibana、Docker安装 、索引操作、文档操作】(二)-全面详解(学习总结---从入门到深化)

目录 Elasticsearch安装_安装ES服务 Elasticsearch安装_安装kibana Elasticsearch安装_Docker安装 Elasticsearch常用操作_索引操作 Elasticsearch常用操作_文档操作 Elasticsearch安装_安装ES服务 准备工作 1、 准备一台搭载有CentOS7系统的虚拟机&#xff0c;使用XSh…

(转载)支持向量机(SVM)的回归拟合(matlab实现)

与传统的神经网络相比&#xff0c;SVM具有以下几个优点&#xff1a; (1)SVM是专门针对小样本问题而提出的&#xff0c;可以在有限样本的情况下获得最优解。 (2)SVM算法最终将转化为一个二次规划问题&#xff0c;从理论上讲可以得到全局最优解&#xff0c;从而解决了传统神经网…

Python GUI编程利器:Tkinker中的布局管理器(10)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日目标 学习Tkinter的三个布局管理器&#xff1a; pack布局管理器 gird布局管理器 place布局管理器 啥是布局管理器&am…

TCP流套接字编程(模拟多个客户端与服务器交互)

目录 一、ServerSocket API 1.1、ServerSocket构造方法 1.2、ServerSocket方法 二、Socket API 2.1、socket构造方法 2.2、socket方法 三、TCP 中的长短连接 四、示例 实现聊天室功能 五、存在的问题 一、ServerSocket API ServerSocket 是创建TCP服务端Socket的…

500个线程运行串行原因排查

场景&#xff1a;项目中有业务需要开启500个线程执行&#xff0c;需要证明有500个线程在执行。用的是一台128核的电脑。服务用docker启动的。所以理论上应该是要有128个线程并行执行的。 目录 一.证明有500个线程在执行(会发现并行度很低) 1.用top命令监控进程内的线程运行情…

netty学习(5):netty实现注册中心和发送JSON数据到指定的客户端

1. 实现&#xff1a;在netty客户端实现netty客户端注册功能&#xff0c;netty客户端需要发送注册消息到netty服务端。 2. 在父工程创建Message类&#xff0c;定义消息格式和消息类型 定义消息类型&#xff1a; package message;public enum MessageType {RegisterRequest,Re…

函数重载与函数递归

一、函数重载 定义&#xff1a;两个函数的函数名称相同&#xff0c;但是参数的个数或者类型不同 参考以下代码&#xff1a; //1.public static int add(int x,int y){return x y;}//2.与1构成重载public static int add(byte a,int b){return a b;}//3.与1构成重载public s…

文件上传漏洞总结

文件上传 文件上传漏洞产生的原理 文件上传漏洞是指用户通过界面上的上传功能上传了一个可执行的脚本文件&#xff0c;而WEB端的系统并未对其进行检测或者检测的逻辑做的不够好。 文件上传漏洞的危害 1、由于是上传的文件&#xff0c;所以文件由用户决定&#xff0c;上传we…

交换机架构整理

网口的基本结构 网口扫盲三:以太网芯片MAC和PHY的关系 问:如何实现单片以太网微控制器? 问:以太网MAC是什么? 问:什么是MII? 问:以太网PHY是什么? 问:造成以太网MAC和PHY单片整合难度高的原因是什么? 问: 网卡上除RJ-45接口外,还需要其它元件吗? 问:10BaseT和100BaseTX…

LeetCode[面试题17.14]最小的K个数

难度&#xff1a;中等 题目&#xff1a; 设计一个算法&#xff0c;找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例&#xff1a; 输入&#xff1a; arr [1,3,5,7,2,4,6,8], k 4 输出&#xff1a; [1,2,3,4]提示&#xff1a; 0 < len(arr) < 1000000 <…

Java设计模式之创建型-建造者模式(UML类图+案例分析)

目录 一、基本概念 二、UML类图 三、角色设计 四、案例分析 五、总结 一、基本概念 建造者模式是一种创建型设计模式&#xff0c;它使我们将一个复杂对象的构建步骤分离出来&#xff0c;使得同样的构建过程可以创建不同的表示。该模式的目的是将构建复杂对象的过程抽象化…