当前位置: 首页 > news >正文

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.lryc.cn/news/590848.html

相关文章:

  • 算法竞赛备赛——【图论】求最短路径——Floyd算法
  • 【华为机试】122. 买卖股票的最佳时机 II
  • React 学习(4)
  • 研发知识系统选型实战:从 Notion 到 Gitee Wiki 的迭代经验
  • STM32 DMA通信详解
  • 求解偏微分方程的傅里叶积分解
  • ThreadLocal使用详解-从源码层面分析
  • Python 网络爬虫 —— requests 库和网页源代码
  • 智能体开发工具链全景图:IDE、调试器与监控平台
  • Fair-code介绍(Fair code)(一套新型软件模型:旨在“开源”“商业可持续性”中找到平衡)
  • Windows 11清理C盘方法大全:磁盘清理/禁用休眠/系统还原点/优化大师使用教程
  • Android默认背光亮度配置说明
  • 纯前端html实现图片坐标与尺寸(XY坐标及宽高)获取
  • SegNet:一种用于图像分割的深度卷积编码器解码器架构
  • RocketMQ 高可用集群架构与一致性机制解析
  • 【3D目标检测】Livox Tele-15采集的.lvx数据转.bag再转.pcd
  • 鲍威尔去留风波的AI量化解析:基于多模态数据驱动的金融市场脉冲响应研究
  • 达梦数据守护集群搭建(1主1实时备库1同步备库1异步备库)
  • 时序数据库选型指南 —— 为什么选择 Apache IoTDB?
  • javaweb学习开发代码_HTML-CSS-JS
  • Java面试(基础篇) - 第二篇!
  • slot=“trigger“ 覆盖了组件内部的 ref=“trigger“【详细来龙去脉版 5min】
  • Web开发 01
  • Python的“__name__“属性
  • visual freebasic教程-菜单栏
  • 视频码率是什么?视频流分辨率 2688x1520_25fps采用 h264格式压缩,其码率为
  • 线上协同办公时代:以开源AI大模型等工具培养网感,拥抱职业变革
  • Vim多列打开不同文件操作指南
  • Dijkstra 算法求解多种操作
  • 【真·CPU训模型!】单颗i7家用本,4天0成本跑通中文小模型训练!Xiaothink-T6-mini-Preview 技术预览版开源发布!