Linux之Zabbix分布式监控篇(二)

一、前置回顾

  • zabbix作为一个分布式监控工具,能帮助我们7*24*365监控硬件使用情况(cpu,内存),以及网络流量波动,从而能让运维能及时排查错误
  • zabbix由zabbix-server(10051)、zabbix-agent(10050)、zabbix-database、zabbix-proxy、zabbix-web五大组件组成,若需要进行其他客户机的监控,其他监控机则需安装zabbix-agent服务
  • zabbix部署和排错思路,并完成了客户机的添加,服务机的图表功能的使用,要在监控项的前提下添加图表、同时完成了前置nginx服务监听

二、知识补充

  • 监测nginx端口使用情况,但是无法正常访问其使用情况

解决方案:chmod u+s /usr/bin/netstat,其目的是让其他用户和root用户权限一致并有同等的权限来访问netstat命令

数据恢复正常!!!!

  • 批量监控nginx指数

  • 首先修改zabbix_agentd.conf配置文件
## $1作为环境输入(process,port,word)
UserParameter=check_nginx_[*],/data/sh/check_nginx.sh $1# UserParameter=check_nginx_process,ps -ef | grep nginx | grep -v grep | wc -l
# UserParameter=check_nginx_port,netstat -tnlp | grep 80  | wc -l
# UserParameter=check_nginx_word,curl -s "http://10.0.0.6/index.html" | grep "Welcome" | wc -                                                                                                                                                                                                                                                                                                 
  • 完成check_nginx脚本的编写=====>修改监控项的键值
#!/bin/bash
function process(){ps -ef | grep nginx | grep -v grep |grep -v check_nginx |wc -l
}
function port(){netstat -tnlp | grep 80  | wc -l
}
function word(){curl -s "http://10.0.0.6/index.html" | grep "Welcome" | wc -l
}$1

  • 优化nginx运行状态散乱情况

添加一个新的图标,将监控项全部加入图表

测试效果

  • 监控windows系统

1.在window上部署zabbix_agentd环境

2.windows安装zabbix_agentd监控

3.完成了windows的zabbix_agentd 配置后添加zabbix主机

添加完成后即可监控主机情况了

三、zabbix实现自动发现和注册

自动发现

服务端主动扫描-----发起监控+配置

通过zabbix_discover读取Rule规则,然后基于ICMP探测方式去扫描网段,若机器IP存活的话将其加入自动发现列表

完成自动发现规则的创建

长时间未检测到主机机器,经过查询日志发现缺少fping工具

yum -y install fping

出现了权限问题无法访问

chmod +s /usr/sbin/fping

访问过慢可以增加进程数

发现需要监控的设备

配置发现动作

配置动作

配置操作

重启zabbix服务

 /etc/init.d/zabbix_server restart

/etc/init.d/zabbix_agentd restart

若已经监控到发现机器之后,一定需要修改其他zabbix_agentd机器配置情况,就可直接以查找到被注册发现的机器了

 

自动注册

客户端提前进行Agent 配置<--------->上报监控

  • 创建自动注册动作

  • 创建触发条件

  • 配置动作信息

  • 完成注册发现

四、发送邮件告警

设置邮件告警

【场景】:假如Nginx宕机了,如何进行监控告警

  • 针对部署Nginx机器创建触发器

  • Nginx触发告警设置

  • 检查是否能正常告警

实现邮件转发

  • 找到媒介模块

  • 进行Email媒介相关配置

使用163邮箱进行发送

填写邮箱密码

填写SMTP服务器地址:  smtp.163.com

选择接收用户

创建接收用户

创建触发器动作

配置触发告警度条件------动作

配置该动作条件满足后执行的操作-------操作

测试进行邮件发送

解决方案:安装curl开发库包:yum -y install curl-devel,并重新进行zabbix环境的编译

完成环境的重新编译(给server端安装插件)

./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-libcurl

自定义邮件告警模板

重新编辑触发器模板(恢复和操作时都可设置)

填写告警模板

名称:Action-Email
默认标题:故障{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报警应用

企业ID

wwb790ba1d960b0da3

确定其AgentId、Secret、CorpID(企业ID)

配置可信IP

获取微信报警工具

修改微信告警脚本

下载报警工具并解压微信接口 : wget http://dl.cactifans.org/tools/zabbix_weixin.x86_64.tar.gz

通过脚本发送邮箱(先修改配置文件)

 

拷贝配置文件到/etc/目录下

cp weixincfg.json /etc/
使用微信脚本发送即可【前提要绑定好IP---->username 即发送的联系人】

./weixin username hello welcome to my world

拷贝脚本至zabbix_server目录下

## 添加至zabbix服务中
mkdir  -p /usr/local/zabbix/alertscripts
cd  /usr/local/zabbix/alertscripts
mv weixin /usr/local/zabbix/alertscripts/
chmod o+x weixin

修改zabbix-servre配置文件

加入配置信息:AlertScriptsPath=/usr/local/zabbix/alertscripts

重启脚本:/etc/init.d/zabbix_server restart

创建新的告警媒介

给用户添加告警媒介

配置触发器动作

完成以上配置后企业微信就能收到告警信息了

五、zabbix_proxy代理节点的配置

  • 准备一个zabbix_proxy代理服务器

./configure --prefix=/usr/local/zabbix/ --enable-proxy --enable-agent --with-mysql --with-libcurl

  • 编译环境需准备工具

yum install curl-devel pre-devel gcc make

  • 创建zabbix_server数据库及用户
## 在zabbix-srver机器上配置## 创建数据库及用户
create database zabbix_proxy character set utf8 collate utf8_bin;
create user zabbix_proxy@'%' identified by 'aaaAAA111.';
grant all privileges on zabbix_proxy.* to zabbix_proxy@'%';
alter user 'zabbix_proxy'@'%' identified with mysql_native_password by 'aaaAAA111.';
flush privileges;## 导入sql表信息
cd /root/zabbix-6.0.32/database/mysql/
mysql -uroot -p zabbix_proxy < schema.sql 

  • 修改zabbix_proxy配置文件

加入DBHost信息:DBHost=10.0.0.6

重启zabbix_proxy服务

/usr/local/zabbix/sbin/zabbix_proxy

创建用户

useradd zabbix

  • 检查服务进程

日志运行情况分析

  • 添加代理

填写代理信息

proxy程序已经正常启动

  • 给监测机器添加代理机器

  • 修改被代理机器的agentd配置文件


测试结果如下

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

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

相关文章

leetcode 3202. 找出有效子序列的最大长度 II 中等

给你一个整数数组 nums 和一个 正 整数 k 。nums 的一个 子序列 sub 的长度为 x &#xff0c;如果其满足以下条件&#xff0c;则称其为 有效子序列 &#xff1a;(sub[0] sub[1]) % k (sub[1] sub[2]) % k ... (sub[x - 2] sub[x - 1]) % k返回 nums 的 最长有效子序列 的…

Mysql测试题

1 Which Linux MySQL server installation directories are the base directories? (Choose two) /usr/sbin /var/lib/mysql /var/log /usr/bin /etc 2 What does the RPM installation process for MySQL do? (Choose two) It creates the default my.cnf file It se…

自动化测试工具 Selenium 入门指南

Selenium 是一款强大的自动化测试工具&#xff0c;可用于模拟用户在浏览器中的各种操作。它支持多种浏览器&#xff08;如 Chrome、Firefox、Edge 等&#xff09;和多种编程语言&#xff08;如 Python、Java、C# 等&#xff09;&#xff0c;广泛应用于 Web 应用程序的自动化测试…

Hystrix与Resilience4j在微服务熔断降级中的应用对比与实战

Hystrix与Resilience4j在微服务熔断降级中的应用对比与实战 1. 问题背景介绍 在微服务架构中&#xff0c;服务之间的依赖使得链路调用更加复杂。一旦某个下游服务发生故障或响应延迟&#xff0c;可能导致整个调用链阻塞甚至雪崩&#xff0c;影响系统可用性。熔断&#xff08;Ci…

PostgreSQL数据库集群如何进行自动化性能监测?

前言&#xff1a;在这个数据爆炸的时代&#xff0c;PostgreSQL数据库集群就像是我们的"数据宝库"。但是&#xff0c;再好的宝库也需要有专业的"保安"来守护。今天我们就来聊聊如何给PostgreSQL集群配备一套智能的"保安系统"——自动化性能监测。…

OneCode体系架构深度剖析:设计哲学与AI增强之道

引言 在企业级应用开发领域&#xff0c;架构设计决定了系统的扩展性、可维护性与演进能力。OneCode作为一站式开发平台&#xff0c;其架构设计蕴含着对复杂业务场景的深刻理解与技术选型的前瞻性思考。本文将从六个维度系统剖析OneCode的架构设计理念&#xff0c;揭示其模块划分…

AWS中国区资源成本优化全面指南:从理论到实践

引言:为什么AWS中国区成本优化如此重要? 在数字化转型的浪潮中,越来越多的中国企业选择AWS中国区作为其云计算服务提供商。然而,随着业务规模的扩大,云资源成本往往成为企业关注的焦点。有效的成本优化不仅能够直接降低IT支出,还能提高资源利用效率,为企业创造更大的商…

Redis中什么是看门狗机制

在 Redis 中&#xff0c;“看门狗机制”&#xff08;Watchdog Mechanism&#xff09;不是 Redis 的核心机制之一&#xff0c;但它在一些场景中起到了重要作用&#xff0c;尤其是在使用 Redlock 分布式锁实现 或在 Redis Enterprise 等高级用法中。一、看门狗机制的通用含义看门…

[MRCTF2020]PYWebsite

function enc(code){hash hex_md5(code);return hash;}function validate(){var code document.getElementById("vcode").value;if (code ! ""){if(hex_md5(code) "0cd4da0223c0b280829dc3ea458d655c"){alert("您通过了验证&#xff01;…

AWS S3事件通知实战:从配置到生产的完整指南

引言 在现代云架构中,事件驱动设计已成为构建可扩展、高可用系统的核心模式。AWS S3作为对象存储服务,其事件通知功能为我们提供了强大的自动化处理能力。本文将基于一个真实的图片处理系统案例,详细介绍如何正确配置和使用S3事件通知。 业务场景 我们开发了一个图片处理…

[AI-video] Web UI | Streamlit(py to web) | 应用配置config.toml

链接&#xff1a;https://reccloud.cn/start?positiontab1 docs&#xff1a;AI creates videos MoneyPrinterTurbo 是一个自动化短视频创作流程的开源项目。 它通过输入主题或关键词&#xff0c;利用人工智能&#xff08;大语言模型&#xff09;生成脚本和搜索条件&#xff0…

CommonJS 功能介绍

CommonJS是JavaScript的模块化规范&#xff0c;主要用于服务器端&#xff08;如Node.js&#xff09;的模块化开发&#xff0c;其核心功能和特点如下&#xff1a; 一、核心功能模块定义与导出 module.exports&#xff1a;用于导出模块的内容&#xff0c;可以是函数、对象、变量等…

3D材质总监的“光影魔法”:用Substance Sampler AI,“擦除”照片中的光影

在三维视觉艺术的创作中&#xff0c;我们始终在探索一对核心的“对立统一”&#xff1a;一方面是**“现实世界的光照”&#xff08;Real-World Lighting&#xff09;&#xff0c;它被固定、“烘焙”在一张照片的像素之中&#xff1b;另一方面是“虚拟世界的光照”&#xff08;V…

从高斯噪声的角度分析MAE和MSE

文章目录1. MAE与MSE的本质区别2. 高斯噪声下的统计特性3. MAE导致稀疏解的内在机制4. 对比总结1. MAE与MSE的本质区别 MAE&#xff08;Mean Absolute Error&#xff09;和MSE&#xff08;Mean Squared Error&#xff09;是两种常用的损失函数&#xff0c;它们的数学形式决定了…

AR智能巡检:制造业零缺陷安装的“数字监工”

在制造业中&#xff0c;设备安装与组装环节的准确性是产品质量和生产效率的关键。传统的人工巡检和纸质作业指导书容易因人为疏忽、经验不足或信息滞后导致安装错误&#xff0c;进而引发返工、延误甚至安全事故。然而&#xff0c;随着增强现实&#xff08;AR www.teamhelper.cn…

js最简单的解密分析

js最简单的解密分析 一、JavaScript 代码保护技术简介 ✅ 为什么要保护 JavaScript 代码&#xff1f; JavaScript 是前端语言&#xff0c;代码在浏览器中是完全可见的。这意味着&#xff1a; 别人可以轻松查看你的核心算法或业务逻辑页面上的接口地址、加密逻辑等容易被抓包分析…

React强大且灵活hooks库——ahooks入门实践之开发调试类hook(dev)详解

什么是 ahooks&#xff1f; ahooks 是一个 React Hooks 库&#xff0c;提供了大量实用的自定义 hooks&#xff0c;帮助开发者更高效地构建 React 应用。其中开发调试类 hooks 是 ahooks 的一个重要分类&#xff0c;专门用于开发调试阶段&#xff0c;帮助开发者追踪组件更新和副…

React强大且灵活hooks库——ahooks入门实践之副作用类hook(effect)详解

什么是 ahooks&#xff1f; ahooks 是一个 React Hooks 库&#xff0c;提供了大量实用的自定义 hooks&#xff0c;帮助开发者更高效地构建 React 应用。其中副作用类 hooks 是 ahooks 的一个重要分类&#xff0c;专门用于处理各种副作用操作&#xff0c;如定时器、防抖、节流等…

SpringBoot一Web Flux、函数式Web请求的使用、和传统注解@Controller + @RequestMapping的区别

一、函数式 Web 在 Spring Boot 中&#xff0c;使用函数式 Web&#xff08;Function-based Web&#xff09;可以通过 RouterFunction 和 HandlerFunction 来定义路由和请求处理逻辑。这种方式与传统的注解驱动的方式不同&#xff0c;它更加简洁&#xff0c;并且适合响应式编程。…

Vue+Cesium快速配置指南

安装必要依赖在项目根目录下运行以下命令安装vue-cesium和cesium&#xff1a;npm install vue-cesium3.1.4 cesium1.84配置Vite在vite.config.js文件中添加以下配置&#xff1a;import { defineConfig } from vite import vue from vitejs/plugin-vue import { resolve } from …