zabbix监控1

news2024/9/24 3:19:02

1、概念

自带图形化界面,通过网页就可以监控所有服务器的状态。

事件告警、邮件通知

web界面提供的分布式监控以及网络监控功能的开源的企业级的软件解决方案

zabbix可以提供各种类型的监控模版,保证服务器的正常运行,灵活的通知机制可以让管理员快速定位

2、zabbix的组成

收集数据的模式:c/s模式client/sever,客户端到服务端

展示数据和配置数据:B/S模式browes/server

2.1zabbix-server

zabbix-server服务端,收集数据,提供网页和配置数据

2.2zabbix-agent

zabbix-agent客户端,把收集到的数据发给服务端

3、zabbix的五大组件

3.1zabbix-server

Zabbix 服务器是Zabbix监控系统的核心组件。它负责从各种监视设备收集数据、存储数据,并为用户提供Web界面,
以可视化和分析所收集的信息。服务器处理并存储从Zabbix代理和其他来源接收到的数据。

3.2zabbix-agent

Zabbix 代理是安装在要监视的目标系统上的软件组件。
它收集各种指标,如CPU使用率、内存使用率、磁盘空间和自定义应用程序指标,
并将这些信息发送到Zabbix服务器进行进一步处理。

3.3zabbix_proxy

Zabbix代理是可选的组件,可部署以分发从代理收集的数据负载。

代理服务器的作用:如果所有的客户端都向服务端一起发数据,服务端的压力会比较大,发送到代理服务器,代理服务器处理完之后再发给server,可以减轻主服务器的压力

3.4zabbix-get

Zabbix 获取,是zabbix的命令行工具

3.5zabbix sender

Zabbix发送器,可以将客户端的数据进行自定义操作之后再发送到服务端,也可以通过脚本把脚本处理过的数据发送到客户端

4、zabbix的数据流向

在这里插入图片描述

5、部署zabbix5.0

#客户端test1操作如下:
systemctl stop firewalld
setenforce 0

#时间同步
yum -y install ntpdate
ntpdate ntp.aliyun.com
date

#获取zabbix的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

#修改zabbix的源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo

#建立元数据清缓存
yum clean all && yum makecache

#安装
yum install -y zabbix-server-mysql zabbix-agent

#配置yum源
vim CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#清缓存建立元数据
yum clean all && yum makecache

#修改zabbix-front前端源
vim zabbix.repo
enabled=1 
#开启安装源

#安装php库
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

#安装数据库
yum install -y mariadb-server mariadb

#重启
systemctl restart mariadb.service

#初始化
mysql_secure_installation

#登录数据库
mysql -u root -p123456

#创建库和用户
CREATE DATABASE zabbix character set utf8 collate utf8_bin;

#赋权
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

#刷新
flush privileges;

#查询sql文件的位置
rpm -ql zabbix-server-mysql

#导入zabbix监控系统所需的mysql数据库架构
zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -uroot -p123456 zabbix

#修改zabbix配置文件
vim /etc/zabbix/zabbix_server.conf
124行 取消注释 DBPassword=zabbix

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
最后一行取消注释 php_value[date.timezone] = Asia/Shanghai

#重启,设置开机自启
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

#浏览器访问192.168.230.10/zabbix

#安装解决乱码的工具
yum install -y wqy-microhei-fonts

#执行
\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

#test2操作如下:
#获取zabbix的下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

#修改zabbix的源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo

#建立元数据
yum makecache

#安装zabbix-agent2
yum install -y zabbix-agent2

#修改配置文件
vim /etc/zabbix/zabbix_agent2.conf
80server=192.168.230.10
125serveractive=192.168.230.10
136hostname=test2

#重启
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

#查看端口是否开启
netstat -antp | grep 10050

#test1安装zabbix主动获取数据的命令
yum -y install zabbix-get
zabbix_get -s '192.168.230.20' -p 10050 -k 'agent.ping'
结果为“1”表示ping的通
#获取主机名
zabbix_get -s '192.168.230.20' -p 10050 -k 'system.hostname'

#test1配置文件修改
vim /etc/zabbix/zabbix_agentd.conf
117Server=192.168.230.10
163ServerActive=192.168.230.10
174Hostname=test1

#重启
systemctl restart zabbix-agent.service

#打开zabbix
配置——主机——创建主机
主机名称:test2
可见的名称:zabbix-agent02
群组:Linux servers
接口:客户端 192.168.230.20
     端口 10050
点击添加

点击zabbix-agent02——模版——链接新模版Template OS Linux by Zabbix agent——更新——查看仪表板

6、自定义监控内容

#浏览器访问192.168.230.10/zabbix
检测——主机——可用性
ZBX:ZABBIX的缩写,默认模式,监控网络和设备、服务,大部分情况都是默认模式
SNMP:simple network management protocol简单网络管理协议,用来管理和监控网络设备的协议
JMX:专门监控java程序
IPMI:用来管理服务器硬件,服务器的电源、温度、风扇的速度等

test2
who | wc -l
#记录当前登录系统的用户数
登录当前系统的不能超过3个,大于3个就会告警并且发邮件

#监控的脚本
vim /etc/zabbix/zabbix_agent2.conf
273Include=/etc/zabbix/zabbix_agent2.d/*.conf
#这个路径就是来保存监控脚本的默认路径,文件名可以自定义,但是必须是以.conf为结尾
297行 Format:UserParameter=<key>,<shell command>
#脚本的监控格式,UserParameter=***.***,who | wc -l,也可以是shell脚本,要绝对路径且有执行权限

#配置脚本
cd /etc/zabbix/zabbix_agent2.d
vim user_login.conf
UserParameter=login.user,who | wc -l 

systemctl restart zabbix-agent2.service

#test1验证
zabbix_get -s '192.168.230.20' -p 10050 -k 'login.user'

#回到zabbix服务器
#告警操作
1、配置——模版——创建模版
  模版名称:Template Login User
  可见的名称:Template Login User
  群组:Templates
  点击添加
  在模版中搜索login,点开

2、应用集——创建应用集
  名称:Login User,点击添加

3、监控项——创建监控项
  名称:Number of login users
  键值:login.user
  更新间隔:10s
  应用集:Login User
  测试没问题点添加

4、触发器——创建触发器
  名称:Number of login users is greater than 3
  严重性:一般严重
  表达式添加以下内容:
  监控项:Template Login User: Number of login       users
  功能:last()-最后(最近)的T值
  结果:>3
  点击插入
  最后点击添加

5、图形——创建图形
  名称:Number of login users
  监控项——添加	Template Login User: Number of     login users
  最后再点击添加

6、配置——主机——点击zabbix-agent02——模版——链接新模版     Template Login User——更新
  管理——报警媒介类型
  名称:QQmail
  SMTP服务器:smtp.qq.com
  SMTP HELLO:qq.com
  SMTP电邮:自己的邮箱号
  输入用户名和密码
  消息模版——添加默认模版——添加

7、用户设置——报警媒介——添加
  类型:QQmail
  收件人:邮箱号
  添加——更新

8、配置——动作——选择	Report problems to Zabbix     administrators——添加
  类型:触发器
  触发器:Number of login users is greater than 3
  添加——更新——将状态已停用改为已启用
  查看是否收到邮件


#监控脚本
#test2安装nginx
yum -y install nginx
vim /etc/nginx/nginx.conf
location /nginx_status {
  stub_status on;
  access_log off;
 }
 
nginx -t
systemctl restart nginx

#统计nginx状态的脚本
cd /opt
vim test-nginx.sh

#!/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
 
HOST="localhost"
PORT=80
stub_status="stub_status"
NGINX_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 $NGINX_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 777 test-nginx.sh

cd /etc/zabbix/zabbix_agent2.d
vim nginx_test.conf
UserParameter=nginx.status[*],/opt/test-nginx.sh $1

systemctl restart zabbix-agent2.service

#回到test1测试一下
zabbix_get -s '192.168.230.20' -p 10050 -k 'nginx.status[check]'
结果为0表示nginx挂了

#回到zabbix服务器
1、配置——模版——创建模版
  模版名称:Template Nginx Status
  可见的名称:Template Nginx Status
  群组:Template
  然后点击添加

2、选择Template Nginx Status
  应用集——创建应用集
  名称:nginx.status
  点击添加

3、监控项——创建监控项
  名称:Nginx is running
  键值:nginx.status[check]
  更新间隔:10s
  应用集:nginx.status
  测试——添加

4、触发器——创建触发器
  名称:Nginx is down
  严重性:严重
  添加表达式
  监控项:Template Nginx Status: Nginx is running
  功能:last()-最后(最近)的T值
  结果:=0
  点击插入,最后点击添加

5、图形——创建图形
  名称:Nginx is running
  监控项:	Template Nginx Status: Nginx is         running
  然后添加添加

6、配置——主机——zabbix-agent02——模版
  链接新模版:Template Nginx Status
  点击更新
  检测——主机——zabbix-agent02——图形——查看是否添加成功

发送邮件:
配置——动作——选择Report problems to Zabbix administrators——添加触发条件
类型:触发器
触发器:Template Nginx Status:Nginx is dowm
然后点击添加——更新

测试:
将nginx停掉,看是否收到邮件

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

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

相关文章

惠海 H7303 DCDC线性恒流IC PWM调光无电感低压差大电流 9V 12V 24V 30V球泡灯/转向灯方案

H7303是一种带PWM调光功能的线性降压恒流LED驱动器&#xff0c;仅需外接一个电阻就可以构成一个完整的LED恒流驱动电路,调节该外接电阻就可以调节输出电流&#xff0c;输出电流可调范围为16~2000mA。H7303内置过热保护功能&#xff0c;可有效保护芯片&#xff0c;避免因过热而造…

【经验分享】ShardingSphere+Springboot-04:自定义分片算法(COMPLEX/STANDARD)

文章目录 3.4 CLASS_BASED 自定义类分片算法3.4.1 复杂分片自定义算法&#xff08;strategyCOMPLEX &#xff09;3.4.2 STANDARD 标准分片自定义算法## 进阶:star: 自定义算法范围查询优化 3.4 CLASS_BASED 自定义类分片算法 3.4.1 复杂分片自定义算法&#xff08;strategyCOM…

Windows 10 /11 系统上安装Arc浏览器!超详细的教程

Arc浏览器在在发布以后&#xff0c;给人留下了相当不错的第一印象。 简洁的界面设计,巧妙的操作逻辑,使用过后让人爱不释手,体验出众&#xff01;目前官方提供了Windows 11 和 Mac版 官方下载&#xff1a;【链接直达】 如果你是Windows 10系统&#xff0c;由于官方没有直接提…

加固三防笔记本电脑:保护数据安全的首选设备

随着信息技术的飞速发展&#xff0c;笔记本电脑早已成为现代生活中不可或缺的工具。然而&#xff0c;普通的笔记本电脑无法适应一些特殊的环境&#xff0c;在数据安全保护方面也有着一定的风险。加固三防笔记本电脑则是保护数据安全的首选设备。下面将介绍加固三防笔记本电脑的…

掌控150+KOC账号!游戏厂商深掘ChinaJoy余温,热度再飙升!

4天36.7万人次&#xff0c;抖音话题总播放次数达到10.9亿&#xff01; ChinaJoy&#xff08;以下简称CJ&#xff09;官方给出了第21届CJ的参观总人次和线上流量数据&#xff0c;展现了其应有的“顶流”热度。 作为全球数字娱乐领域最具知名度与影响力的年度盛会&#xff0c;202…

springmvc框架 dispacherServelet容器组件调用

服务器启动时&#xff0c;tomcat创建并自动装配所有生成对象&#xff1a;spring容器放在服务器应用全局中&#xff0c;springmvc容器被放在dispacherServlet容器中。注解解析器在dispacherServlet创建时赋予它识别相关注解并作出相应操作的能力。 浏览器发送请求req&#xff0c…

养老院老人健康信息管理系统 /养老院管理系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…

达梦数据库 DMFLDR的使用

达梦的DMFLDR使用 1.背景2.要求3.实验步骤3.1 参数简介3.2 控制文件3.3 数据文件编写3.4 创建表3.5 执行装载程序3.6 查看运行结果3.7 数据导出控制文件编写3.8 数据导出命令3.9 行列分隔符 4.实验结论 1.背景 用户通过使用快速装载工具能够把按照一定格式排序的文本数据以简单…

门店收银系统源码+同城即时零售多商户入驻商城源码

一、我们为什么要开发这个系统&#xff1f; 1. 商户经营现状 “腰尾部”商户&#xff0c;无小程序运营能力&#xff1b;自营私域商城流量渠道单一&#xff1b;无法和线下收银台打通&#xff0c;库存不同步&#xff0c;商品不同步&#xff0c;订单不同步&#xff1b; 2.平台服…

SpringBoot-application.properties为对象赋值

简单对象赋值 第一种方式 首先让该Bean交由Spring管理,然后加上ConfigurationProperties(prefix"前缀") <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId>&l…

PCIe学习笔记(19)

TLP Prefix&#xff08;前缀&#xff09;规则 以下规则适用于任何包含TLP Prefix的TLP: •对于任何TLP, TLP第0字节的Fmt[2:0]字段值为100b表示存在TLP Prefix, Type[4]位表示TLP Prefix的类型。 ◦Type[4]位的值为0b表示存在Local TLP Prefix ◦Type[4]位的值为1b表示存在…

一、Matlab基础

文章目录 一、Matlab界面二、Matlab窗口常用命令三、Matlab的数据类型3.1 数值类型3.2 字符和字符串3.3 逻辑类型3.4 函数句柄3.5 结构类型3.6 细胞数组 四、Matlab的运算符4.1 算术运算符4.2 关系运算符4.3 逻辑运算4.4 运算符优先级 五、Matlab的矩阵5.1 矩阵的建立5.2 矩阵的…

解决vscode连接远程服务器时一直要求输入密码的问题

今天在用vscode连接我的Linux服务器时&#xff0c;输入密码后并没有成功登录&#xff0c;而是不断的弹出密码输入框。如果有遇到相同问题的同学可以试试下面的方法 1.点击查看&#xff0c;打开命令面板 2.终止服务器 选中自己的服务器&#xff0c;然后会让你输入密码 3.重新登…

sqlserver一列转多行

文章目录 sqlserver一列转多行建表插入数据方式一方式二 sqlserver一列转多行 建表 CREATE TABLE [dbo].[MM_T_MATER]([fbillno] [NVARCHAR](50) NOT NULL,[fid] [INT] NOT NULL,[FCREATEDATE] [DATETIME] NOT NULL,[FDATE] [DATETIME] NOT NULL,[FPURCHASEORGID] [INT] NOT …

leetcode70_爬楼梯

思路 动态规划 爬到第n阶楼梯的方法数为&#xff1a;第n-1阶楼梯的方法数 第n-2阶楼梯的方法数 func climbStairs(n int) int {if n < 2 {return 1}dp : make([]int, n1)dp[1] 1dp[2] 2for i:3; i<n; i {dp[i] dp[i-1] dp[i-2]}return dp[n] }

C++分析哈希表

目录 哈希表 哈希表介绍 哈希表的数据插入和查找原理 哈希表的存放方法 开散列解决哈希冲突 思路 代码设计 结构设计 数据插入 数据查找 数据删除 闭散列解决哈希冲突 思路 代码设计 结构设计 数据插入 数据查找 数据删除 析构函数设计 比较key相等以及key…

Firefox滚动条在Win10和Win11下表现不一致问题?

文章目录 前言总结解决方法 前言 最近在写页面的时候发现一个非常有意思的事。Firefox滚动条在Win10和Win11下表现居然不一致。在网上几经查找资料&#xff0c; 终于找到原因所在。总结成下面的文章&#xff0c;加深印象也防止下次遇到。 总结 参考文章&#xff1a; Firefox…

淘宝天猫优惠券领取入口直达口令是什么?

词令是一款关键词口令直达工具&#xff1b;打开词令&#xff0c;输入口令「tb88」&#xff0c;搜索直达口令关联的目标淘宝优惠券领取入口。领取成功后&#xff0c;在下单购买默认使用领到的店铺优惠券享受券后价优惠。下面为您准备了图文教程 淘宝优惠券领取入口直达口令是什…

突破视觉界限:单目深度估计算法,智能无人系统的新视角

今天&#xff0c;为大家介绍一项新的SpireCV视觉感知技术——单目深度估计算法&#xff08;MDE, Monocular Depth Estimation&#xff09;。 什么是单目深度估计算法&#xff1f; 简单来说&#xff0c;单目深度估计是指通过单个摄像头获取的图像来估计场景中物体的深度信息。相…

打破老美垄断,潘展乐商业价值起飞

文&#xff5c;琥珀食酒社 作者 | 积溪 奥运会上的潘展乐 真是牛逼坏了 拿下男子100米自由游金牌 打破欧美长达近百年垄断 搞定男子4x100米混合泳金牌 终结了美国在这项目上 10年不败的神话 比赛前 美国选手对他爱答不理 招呼都不打 比赛后美国选手想套热乎 潘展乐…