centos服务器巡检脚本
服务器巡检脚本
- 系统负载shell脚本
- python将txt文件转换成excel,不正常巡检结果标记红色
系统负载shell脚本
#!/bin/bash#文件路径
path="/root/monitor.txt"#yum -y install bc sysstat net-tools lrzsz
#获取主机名
system_hostname=$(hostname | awk '{print $1}')#获取服务器IP
system_ip=$(ip a|grep "global"|awk '{print $2}' |awk -F/ '{print $1}')#获取服务器系统
system=$(cat /etc/os-release | grep "^NAME" | awk -F\" '{print $2}')#获取服务器系统版本
version=$(cat /etc/redhat-release | awk '{print $4$5}')#获取总内存
#free -m|awk '/Mem/ {printf ("%.f\n",$2/1024)}'
mem_total=$(free -m | grep Mem| awk -F " " '{print $2}')#获取已用内存
mem_use=$(free -m | grep Mem| awk -F " " '{print $3}')#获取可用内存
mem_free=$(free -m | grep "Mem" | awk '{print $7}')#取CPU核数
Cpu_num=`grep processor /proc/cpuinfo|wc -l`#cpu使用率
Cpu_use=`top -n 1 -b |grep 'Cpu(s)' |awk '{print $2}'`#获取当前平均一分钟负载
load_1=`uptime | awk '{print $11}' | sed -e 's/\,//g' | awk -F " " '{print $1}'`#获取当前平均五分钟负载
load_5=`uptime | awk '{print $12}' | sed -e 's/\,//g' | awk -F " " '{print $1}'`#获取当前平均十五分钟负载
load_15=`uptime | awk '{print $13}'`#磁盘I/O
disk_io=`iostat -d -x -k 1 1 | grep -Ev "^$|Linux|Device"| grep vda| awk '{print $1,$14"ms"}'`#过滤磁盘使用率大于50%目录,并加入描述
disk_1=$(df -Ph | awk '{if(+$5>50) print "分区:"$1,"总空间:"$2,"使用空间:"$3,"剩余空间:"$4,"磁盘使用率:"$5}')#拆分
disk_fq=$(df -h | grep "root" | awk '{print "分区:"$1}')
disk_to=$(df -Ph | grep "root" | awk '{print "总空间:"$2}')
disk_us=$(df -Ph | grep "root" | awk '{print "使用空间:"$3}')
disk_fe=$(df -Ph | grep "root" | awk '{print "剩余空间:"$4}')
disk_ul=$(df -Ph | grep "root" | awk '{print "磁盘使用率:"$5}')
disk_ux=$(df -Ph | grep "root" | awk '{print $5}')#内存阈值
mem_mo='50'echo -e " " > $path
echo -e "主机名:"$system_hostname >> $path
echo -e "服务器IP:"$system_ip >> $path
echo -e "服务器系统:"$system >> $path
echo -e "服务器系统版本:"$version >> $path
echo -e "总内存:"$mem_total >> $path
echo -e "已使用内存:"$mem_use >> $path
echo -e "可用内存:"$mem_free >> $path
echo -e "cpu核数:"$Cpu_num >> $path
echo -e "cpu使用率:"$Cpu_use >> $path
echo -e "磁盘IO:"$disk_io >> $pathif [[ $(echo $disk_ux | sed s/%//g) -gt 50 ]]
thenecho $disk_fq >>$pathecho $disk_to >>$pathecho $disk_us >>$pathecho $disk_fe >>$pathecho $disk_ul >>$pathecho 磁盘巡检状态:不正常 >>$path
elseecho $disk_fq >>$pathecho $disk_to >>$pathecho $disk_us >>$pathecho $disk_fe >>$pathecho $disk_ul >>$pathecho 磁盘巡检状态:正常 >>$path
fiPERCENT=$(printf "%d%%" $(($mem_use*100/$mem_total)))
PERCENT_1=$(echo $PERCENT|sed 's/%//g')if [[ $PERCENT_1 -gt $mem_mo ]]
thenecho -e 总内存大小:$mem_total MB>> $pathecho -e 已用内存:$mem_use MB >> $pathecho -e 内存剩余大小:$mem_free MB >> $pathecho -e 内存使用率:$PERCENT >> $pathecho -e 内存巡检状态:不正常 >> $path
elseecho -e 总内存大小:$mem_total MB>> $pathecho -e 已用内存:$mem_use MB >> $pathecho -e 内存剩余大小:$mem_free MB >> $pathecho -e 内存使用率:$PERCENT >> $pathecho 内存巡检状态:正常 >> $path
fiecho -e 平均1分钟负载:$load_1"\n"平均5分钟负载:$load_5"\n"平均15分钟:$load_15 >> $path
执行脚本后会在/root 目录生成monitor.txt
python将txt文件转换成excel,不正常巡检结果标记红色
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#使用环境python2.7import xlwt
import datetimestyle = "font:colour_index red; align: wrap on, vert centre, horiz center;"
styleb = xlwt.XFStyle() # 创建一个样式对象,初始化样式
al = xlwt.Alignment()
al.horz = 0x02 # 设置水平居中
al.vert = 0x01 # 设置垂直居中
styleb.alignment = al
red_style = xlwt.easyxf(style)
title_style = xlwt.easyxf('font: height 200, name Arial Black, colour_index blue, bold on; align: wrap on, vert centre, horiz center;')def getlist(): # 读取txtwith open('/root/monitor.txt', 'r+') as f:s1 = f.readlines()f.close()s2 = []for i in s1:if '\n' in i:s2.append(i[:-1])else:s2.append(i)return s2def fenge(): # 分割list0 = [] # 存贮空格行for num, val0 in enumerate(getlist()):if val0.split(':')[0] == '主机名':list0.append(num)list0.append(len(getlist()))list1 = [] # 存贮内容for num1, val1 in enumerate(list0[1:]):temp = getlist()[list0[num1]:list0[num1+1]]list1.append(temp)return list1def wxls(): # 写入表格title = ['主机名', '服务器IP', '服务器系统', '服务器系统版本', '分区', '总空间', '使用空间', '剩余空间', '磁盘使用率', '磁盘巡检状态', '总内存大小','已用内存', '内存剩余大小', '内存使用率', '内存巡检状态', 'cpu核数', 'cpu使用率', '磁盘IO', '平均1分钟负载', '平均5分钟负载', '平均15分钟', '备注']workbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('sheet1')for i1, val in enumerate(title):worksheet.write(0, i1, label=val, style=title_style)first_col = worksheet.col(i1)first_col.width = 180 * 20for i2, val2 in enumerate(title):for i3, val3 in enumerate(fenge()):for j in val3:if j.split(':')[0] == val2:if j.split(':')[1] == '不正常':worksheet.write(i3 + 1, i2, label=j.split(':')[1], style=red_style)else:worksheet.write(i3+1, i2, label=j.split(':')[1], style=styleb)name = 'miontior.xls'workbook.save(name)wxls()
相关文章:
centos服务器巡检脚本
服务器巡检脚本 系统负载shell脚本python将txt文件转换成excel,不正常巡检结果标记红色 系统负载shell脚本 #!/bin/bash#文件路径 path"/root/monitor.txt"#yum -y install bc sysstat net-tools lrzsz #获取主机名 system_hostname$(hostname | awk {pr…...
抖音试水AI分身;腾讯 AI 战略调整架构;百度旗下小度官宣接入DeepSeek...|网易数智日报
抖音试水AI分身,字节旗下AI智能体平台扣子已与抖音打通,相关功能内测中 2月19日消息,钛媒体App独家获悉,字节旗下AI智能体开发平台扣子(Coze)已与抖音打通,抖音创作者可在扣子智能体平台打造AI分…...
红帽7基于kickstart搭建PXE环境
Kickstart 文件是一种配置文件,用于定义 Linux 系统安装过程中的各种参数,如分区、网络配置、软件包选择等。system-config-kickstart 提供了一个图形界面,方便用户快速生成这些配置文件。 用户可以通过图形界面进行系统安装的详细配置&…...
安装PHPStudy 并搭建DVWA靶场
目录 一、PHPStudy 简介 二、DVWA 简介 三、安装 PHPStudy 四:安装 DVWA 一、PHPStudy 简介 phpstudy傻瓜式的一键启动,支持WAMP、WNMP、LAMP、LNMP,一键切换环境(nginxapahce),一键切换PHP版本(5.1-7…...
【量化科普】Liquidity,流动性
【量化科普】Liquidity,流动性 🚀量化软件开通 🚀量化实战教程 在量化交易的世界里,流动性(Liquidity)是一个至关重要的概念。它描述的是资产能够以多快的速度被买入或卖出而不显著影响其价格的能力。简…...
SQL写法技巧
目录 1.批量插入,查询,删除数据 缺点 实现方法 1.批量插入数据 2.批量查询数据 3.批量删除数据 4.批量修改数据 解释 2.树型表查询 方法一:递归(适用于多级的情况) 方法二:表的自连接 方法三:MySQL递归&am…...
Ryu:轻量开源,开启 SDN 新程
1. Ryu 控制器概述 定位:轻量级、开源的SDN控制器,专为开发者和研究人员设计,基于Python实现。开发者:由日本NTT实验室主导开发,遵循Apache 2.0开源协议。核心理念:简化SDN应用开发,提供友好的…...
【核心算法篇十四】《深度解密DeepSeek量子机器学习:VQE算法加速的黑科技与工程实践》
在经典计算机逼近物理极限的今天,量子计算正以指数级加速潜力颠覆传统计算范式。想象一下,一个需要超级计算机运算千年的化学分子模拟问题,用量子计算机可能只需几分钟——这就是DeepSeek团队在VQE(Variational Quantum Eigensolver)算法加速实践中创造的奇迹。根据,VQE作…...
“国补”带火手机换新,出售旧手机应如何保护个人信息安全
在“国补”政策的推动下,手机换新热潮正席卷而来。“国补”以其诱人的补贴力度,成功激发了消费者更换手机的热情。无论是渴望体验最新技术的科技爱好者,还是对旧手机性能不满的普通用户,都纷纷投身到这场手机换新的浪潮之中。 随着大量消费者参与手机换新,二手手机市场迎来…...
数据结构:基数排序(c++实现)
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 基数排序的定义和基本原理基本原理具体步骤 基数排序的优缺点:代码实现总结 基数排序的定义和基本原理 基数排序(Radix Sort)是一…...
eNSP下载安装(eNsp、WinPcap、Wireshark、VirtualBox下载安装)
一、下载 下载网址:https://cloud.grbj.cn/softlink/eNSP%20V100R003C00SPC100%20Setup.exe 备用临时网址:https://linshi.grbj.cn/abdpana/softlink 二、准备工作 系统要求 关闭防火墙 三、安装 3.1安装WinPcap 基本都是下一步,双击&…...
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解 1 冯诺依曼体系结构1.1 基本概念理解1.2 CPU只和内存打交道1.3 为什么冯诺依曼是这种结构1.4 理解数据流动 2 操作系统2.1 什么是操作系统2.2 设计OS的目的2.3 操作系统小知识点2.4 如何理解"管理"2.5 系统调用和…...
Linux 权限系统和软件安装(二):深入理解 Linux 权限系统
在 Linux 的世界里,权限系统犹如一位忠诚的卫士,严密守护着系统中的文件与目录,确保只有具备相应权限的用户才能进行操作。与其他一些操作系统不同,Linux 并不依据文件后缀名来标识文件的操作权限,而是构建了一套独特且…...
Windows 中的启动项如何打开?管理电脑启动程序的三种方法
在日常使用电脑时,我们经常会发现一些应用程序在开机时自动启动,这不仅会拖慢系统的启动速度,还可能占用不必要的系统资源。幸运的是,通过几个简单的步骤,你可以轻松管理这些开机自启的应用程序。接下来,我…...
uniapp邪门事件
很久之前在这篇《THREEJS 在 uni-app 中使用(微信小程序)》:THREEJS 在 uni-app 中使用(微信小程序)_uni-app_帶刺的小葡萄-华为开发者空间 中学到了如何在uniapp的微信小程序里接入three.js的3d模型 由于小程序自身很…...
DeepSeek学习教程 从入门到精通pdf下载:快速上手 DeepSeek
下载链接:DeepSeek从入门到精通(清华大学).pdf 链接: https://pan.baidu.com/s/1Ym0-_x9CrFHFld9UiOdA5A 提取码: 2ebc 一、DeepSeek 简介 DeepSeek 是一款由中国团队开发的高性能大语言模型,具备强大的推理能力和对中文的深刻理解。它广泛应用于智能办…...
MATLAB进阶之路:数据导入与处理
在MATLAB的学习旅程中,我们已经初步了解了它的基础操作。如今,我们将沿着这条充满惊喜的道路,迈向下一个重要的站点——数据导入与处理。这部分内容就像是为MATLAB注入了强大的能量,使其能够从现实的数据世界中汲取信息,然后像一位智慧的魔法师一样,巧妙地处理这些数据,…...
百度首页上线 DeepSeek 入口,免费使用
大家好,我是小悟。 百度首页正式上线了 DeepSeek 入口,这一重磅消息瞬间在技术圈掀起了惊涛骇浪,各大平台都被刷爆了屏。 百度这次可太给力了,PC 端开放仅 1 小时,就有超千万人涌入体验。这速度,简直比火…...
安全见闻
今天学了Windows操作系统和驱动程序的相关知识 Windows注册表 注册表是windows系统中具有层次结构的核心数据库 储存的数据对windows 和Windows上运行的应用程序和服务至关重要。注册表时帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。 打开注册表编辑器…...
PLC通讯
PPI通讯 是西门子公司专为s7-200系列plc开发的通讯协议。内置于s7-200 CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主站…...
Image Downloader下载文章图片的WordPress插件
源码介绍 一个用于下载图片的WordPress插件,包含下载统计功能,支持任何主题使用 用户点击下载后自动打包该文章所有原始图片,并把文章标题作为压缩包的文件名。 不占用服务器空间,也不占网盘空间,直接利用浏览器的性…...
乐享数科:供应链金融—三个不同阶段的融资模式
供应链金融是与产业链紧密结合的融资模式,它主要体现在订单采购、存货保管、销售回款这三个不同的业务阶段,并针对这些阶段提供了相应的金融服务。以下是这三个阶段中主要的融资模式及其特点: 供应链金融融资模式主要分为以下几种࿱…...
Jenkins 创建 Node 到 Windows
Jenkins 创建 Node 到 Windows 一. 新建 Node Dashboard -> Manage Jenkins -> Manage Nodes and Clouds Dashboard -> Nodes -> New Node 二. 配置节点 Node:节点名 Description:节点描述 Number of executors:节点最大同…...
halcon机器视觉深度学习对象检测,物体检测
目录 效果图操作步骤软件版本halcon参考代码本地函数 get_distinct_colors()本地函数 make_neighboring_colors_distinguishable() 效果图 操作步骤 首先要在Deep Learning Tool工具里面把图片打上标注文本, 然后训练模型,导出模型文件 这个是模型 mod…...
【分布式数据一致性算法】Gossip协议详解
在分布式系统中,多个节点同时提供服务时,数据一致性是核心挑战。在多个节点中,若其中一个节点的数据发生了修改,其他节点的数据都要进行同步。 一种比较简单粗暴的方法就是 集中式发散消息,简单来说就是一个主节点同时…...
蓝桥杯笔记——递归递推
递归 0. 函数的概念 我们从基础讲起,先了解函数的概念,然后逐步引入递归,帮助同学们更好地理解递归的思想和实现方式。 函数是程序设计中的一个基本概念,简单来说,它是一段封装好的代码,可以在程序中多次…...
Vue 3 + Vite 项目中配置代理解决开发环境中跨域请求问题
在 Vue 3 Vite 项目中,配置代理是解决开发环境中跨域请求问题的常见方法。通过在 Vite 的配置文件中设置代理,可以将前端请求转发到后端服务器,从而避免浏览器的同源策略限制。 1. 创建 Vue 3 Vite 项目 首先,确保你已经安装了…...
【复现DeepSeek-R1之Open R1实战】系列7:GRPO原理介绍、训练流程和源码深度解析
【复现DeepSeek-R1之Open R1实战】系列博文链接: 【复现DeepSeek-R1之Open R1实战】系列1:跑通SFT(一步步操作,手把手教学) 【复现DeepSeek-R1之Open R1实战】系列2:没有卡也能训模型!Colab跑Op…...
【Qt】可爱的窗口关闭确认弹窗实现
文章目录 实现思路界面构建交互逻辑实现颜色渐变处理圆形部件绘制 代码在主窗口的构造函数中创建弹窗实例ExitConfirmDialog 类代码ColorCircleWidget 类代码 今天在Qt实现了这样一个可互动的窗口(上图由于录屏工具限制没有录制到鼠标) 实现…...
服务器通过 ollama 运行deepseek r1
1、服务器环境简介 56核 CPU64G 内存无显卡已安装 Ollama 2、下载模型与配置 正常可以通过 ollama pull 或 ollama run 命令直接下载,但通常会遇到连接超时、找不到网址等总理。因此,可以使用国内的模型站进行下载,在这里使用魔塔查找模型…...
