监控 -- linux中的一些系统性能状态指令、Prometheus
目录
- 监控
- 查看性能相关命令
- Prometheus
- 1、安装和配置
- 2、将 NFS服务器和LB服务器作为exporter采集数据
- 3、在prometheus server里添加安装exporter程序的服务器
- grafana出图工具
监控
监控的目的是获取数据,通过数据分析了解机器是否正常运行
查看性能相关命令
-
查看cpu详细信息:
lscpu、cat /proc/cpuinfo -
查看CPU使用率:
top(一行一个进程,默认以CPU使用率排序)%Cpu(s): 0.2 us, 0.3 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st当mysqld进程进行读写操作大多时候,调用系统调用如read()、write()、fork()等,系统调用就是操作系统给其他应用程序的接口,也就是实现某个功能的程序
us:用户空间(User Space)CPU使用率,表示用户进程所占用的CPU时间百分比。sy:系统空间(System Space)CPU使用率,表示内核进程所占用的CPU时间百分比。ni:nice值(Nice Value)CPU使用率,表示以较低优先级运行的进程所占用的CPU时间百分比。id:空闲(Idle)CPU时间百分比,表示CPU处于空闲状态的时间百分比。wa:等待(Wait)CPU时间百分比,表示CPU等待I/O操作完成的时间百分比。hi:硬中断(Hardware Interrupt)CPU时间百分比,表示处理硬件中断的时间百分比。si:软中断(Software Interrupt)CPU时间百分比,表示处理软件中断的时间百分比。st:偷取(Steal)CPU时间百分比,表示虚拟机(如果在虚拟化环境中运行)被物理主机偷取的CPU时间百分比。
top交互命令:

htop命令:yum install epel-release -y yum install htopz在top命令的输出中看到系统的负载平均值:
top - 10:13:26 up 19:20, 2 users, load average: 0.00, 0.02, 0.05Load Average 显示在
load average:后面的三个数字,分别是 1 分钟、5 分钟和 15 分钟的平均负载
系统平均负载是指过去的1分钟,5分钟,15分钟处于可运行或就绪或阻塞或不可中断的进程的平均数量
假如系统有n个核心,这个平均数量超过n就说明系统比较繁忙了,但如果不超过5n就说明还没有达到最忙的时候 -
查看内存使用情况
free -m,默认以kb为单位,接-m以M为单位[root@lb-2 keepalived]# free -mtotal used free shared buff/cache available Mem: 1819 240 1270 9 308 1419 Swap: 2047 0 2047-
Men:物理内存,即内存条的大小 -
Swap:交换分区的内存大小,交换分区是从磁盘里划分出来的一块空间临时做内存使用的,当物理内存不足的时候,将不活跃的进程交换到swap分区里。但由于交换分区速度慢,尽量不使用[root@lb-2 keepalived]# cat /proc/sys/vm/swappiness 30 # 当物理内存只剩下30%的时候,开始使用交换分区,临时修改为0% echo 0 >/proc/sys/vm/swappiness -
total:物理内存的总量 -
used:已用内存的总量。已用内存是当前被系统和应用程序使用的内存。 -
free:可用内存的总量。可用内存是当前未被使用的内存,可以用于新的进程和应用程序。 -
shared:共享内存的总量。共享内存是被多个进程共享的内存区域。在这里,共享内存为9 MB。 -
buff/cache:用于缓存的内存总量。这包括用于文件系统缓存和磁盘I/O缓存的内存。buff:内存的数据读取到磁盘的时候,先写到buffer里,等buffer满了再写到磁盘,减少IO读写次数。cache:磁盘的数据读取到内存的时候,先写在cache里,提升速度。 -
available:下一个进程可用内存的估计总量。这是系统根据当前内存使用情况和缓存来估计的可用内存量。
available = free + buff/cache里的未使用完的空间
-
-
查看网络流量:
dstat、iptraf、glances-
dstat[root@lb-2 keepalived]# dstatYou did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 0 0 100 0 0 0|4124B 1644B| 0 0 | 0 0 | 101 134 1 1 99 0 0 0| 0 0 | 180B 1024B| 0 0 | 139 161 0 1 99 0 0 0| 0 0 | 120B 398B| 0 0 | 141 174 1 1 99 0 0 0| 0 0 | 120B 398B| 0 0 | 121 145 [root@lb-2 keepalived]# dstat -N ens33 You did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/ens33- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 0 0 100 0 0 0|4122B 1692B| 0 0 | 0 0 | 101 134 0 0 99 0 0 0| 0 0 | 120B 878B| 0 0 | 123 157 0 0 100 0 0 0| 0 0 | 120B 398B| 0 0 | 132 160 [root@lb-2 keepalived]# dstat -N ens33,total -am ----total-cpu-usage---- -dsk/total- -net/ens33---net/total- ---paging-- ---system-- ------memory-usage----- usr sys idl wai hiq siq| read writ| recv send: recv send| in out | int csw | used buff cach free0 0 100 0 0 0|4113B 1695B| 0 0 : 0 0 | 0 0 | 101 134 | 309M 2108k 306M 1202M0 0 100 0 0 0| 0 0 | 120B 1214B: 120B 1214B| 0 0 | 125 157 | 310M 2108k 306M 1201M1 1 99 0 0 0| 0 0 | 120B 534B: 120B 534B| 0 0 | 123 155 | 310M 2108k 306M 1201M -
glances -
iftop -
iptraf:也可以抓包 -
nethogs
-
Prometheus
Prometheus:开源的监控软件
其他监控软件:
cacti:仙人掌。出图比较好
nagios:监控脚本多
zabbix:集合cacti和nagios的优点
openfalcon:小米公司开元的监控软件
组件:
1、tsdb:时序数据库time series database。
2、http server:web服务
3、push gateway:中间件(代理)
4、altermanager:告警软件
5、exporter:收集数据,采集数据
出图工具:grafana – 展示数据
1、安装和配置
-
在监控服务器(192.168.232.166)上编译安装
首先在官网上下载源码包https://prometheus.io/download/

将下载好的源码包传到监控服务器,解压

-
临时和永久修改PATH变量,添加prometheus路径
PATH=/prom/prometheus:$PATH [root@prometheus prometheus]# cat /root/.bashrc # .bashrc# User specific aliases and functionsalias rm='rm -i' alias cp='cp -i' alias mv='mv -i'# Source global definitions if [ -f /etc/bashrc ]; then. /etc/bashrc fi PATH=/prom/prometheus:$PATH # 添加的信息 -
启动prometheus服务,并让他在后台运行,不受到终端关闭的影响(Prometheus监听9090端口)
nohup prometheus --config.file=/prom/prometheus/prometheus.yml & -
关闭防火墙,并设置永久关闭。然后就可以在服务器上输入
192.168.232.166:9090看到监控页面了service firewalld stop systemctl disable firewalld -
将源码二进制安装的Prometheus配置成一个服务,便于管理
[root@prometheus prometheus]# cat /usr/lib/systemd/system/prometheus.service [Unit] Description=prometheus [Service] ExecStart=/prom/prometheus/prometheus --config.file=/prom/prometheus/prometheus.yml ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target# 重新加载systemd相关的服务 [root@prometheus prometheus]# systemctl daemon-reload将之前使用nohup方式启动的Prometheus服务杀死,再使用以下命令开启
service prometheus start
容器安装prometheus:
docker run -d -p 9090:9090 --name sc-prom-1 prom/prometheus
2、将 NFS服务器和LB服务器作为exporter采集数据
-
在官网上下载node节点源码包,解压

tar xf node_exporter-1.6.1.linux-amd64.tar.gz mv node_exporter-1.6.1.linux-amd64 /node_exporter cd /node_exporter/ -
修改PATH变量
PATH=/node_exporter/:$PATH[root@lb node_exporter]# cat /root/.bashrc # .bashrc# User specific aliases and functionsalias rm='rm -i' alias cp='cp -i' alias mv='mv -i'# Source global definitions if [ -f /etc/bashrc ]; then. /etc/bashrc fi PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/scnginx99/sbin:/usr/local/scnginx99/sbin PATH=/node_exporter/:$PATH -
启动exporter服务,并让他在后台运行,不受到终端关闭的影响(自定义exporter监听8090端口)
nohup node_exporter --web.listen-address 0.0.0.0:8090 & -
在浏览器上访问node节点上的metrics(指标)
http://192.168.232.164:8090/metrics
3、在prometheus server里添加安装exporter程序的服务器
[root@prometheus prometheus]# pwd
/prom/prometheus
[root@prometheus prometheus]# cat prometheus.yml# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]- job_name: "LB1"static_configs:- targets: ["192.168.232.161:8090"]- job_name: "LB2"static_configs:- targets: ["192.168.232.165:8090"]- job_name: "NFS"static_configs:- targets: ["192.168.232.164:8090"]
修改完之后记得重启服务
然后再去浏览器查看监控页面,就可以看到LB和NFS的相关信息了

grafana出图工具
-
将grafana和prometheus安装在一台机器上
官网https://dl.grafana.com/enterprise/release/grafana-enterprise-10.1.1-1.x86_64.rpm下载rpm包,传入prometheus服务器中
[root@prometheus grafana]# ls grafana-enterprise-10.1.1-1.x86_64.rpm [root@prometheus grafana]# yum install grafana-enterprise-10.1.1-1.x86_64.rpm service grafana-server start systemctl enable grafana-servergrafana监听3000端口
可以在浏览器上访问,用户和密码都为
admin -
配置prometheus的数据源,导入模版


这里输入Prometheus的IP地址和端口号


导入出图模版


好模版编号:1860、8919
相关文章:
监控 -- linux中的一些系统性能状态指令、Prometheus
目录 监控查看性能相关命令Prometheus1、安装和配置2、将 NFS服务器和LB服务器作为exporter采集数据3、在prometheus server里添加安装exporter程序的服务器 grafana出图工具 监控 监控的目的是获取数据,通过数据分析了解机器是否正常运行 查看性能相关命令 查看c…...
跳槽面试:如何转换工作场所而不失去优势
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
TINA如何导入spice模型
本文介绍如何使用TINA仿真运算放大器电路。TINA是TI公司自己的spice仿真软件,各个大厂为了更好的让客户使用自己的器件,都纷纷推出自己的仿真软件,ADI也有类似的软件,有机会我们介绍,这期我们主要简单介绍下如何使用TI…...
C. MEX Repetition Pinely Round 2 (Div. 1 + Div. 2)
Problem - C - Codeforces 题目大意:有一个长度为n的数组,数组中每个数字互不相同,范围都是0到n,每次操作将每一个数字从左到右依次变成当前数组的MEX,问k次操作后的数组 1<n<1e5;1<k<1e9 思…...
C++ 运算符
一键三连支持一下吧 C 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符 本章将逐一介绍算术运算符、关系运算符、逻辑…...
数据结构day07(栈和队列)
今日任务 链式队列: head.h #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.h> #include <stdlib.h>typedef int datatype; typedef struct link_list{datatype data;struct link_list* next; }link,*linkp; typedef struct circulate_line_t…...
八、Linux中的用户与文件权限
1、普通用户与特权用户 (1)在Linux中,和windows中一样。用户分为普通用户和特权用户。 特权用户:拥有系统管理的绝对权限。普通用户:普通用户的权限受到限制,只拥有基本的权限,某些操作没有权限。 (2)Linux中的特权…...
岛屿数量 -- 二维矩阵的dfs算法
岛屿数量 又被称为 FloodFill 算法 class NumIslands:"""floodFill 算法https://leetcode.cn/problems/number-of-islands/"""def solution(self, grid: List[List[str]]) -> int:res 0m, n len(grid), len(grid[0])for i in range(m):for…...
JDBC学习汇总
概念 JDBC:JDBC是Java提供的一套用来操作数据库的接口 通过Java代码操作数据库 1.确定数据库是可以正常使用(MySQL服务是否正常开启) 2.确定MySQL的账号和密码是正确的 3.确定MySQL版本和MySQL驱动版本匹配 4.在工程(module&#…...
HarmonyOS—UI开发性能提升的推荐方法
注:本文转载自HarmonyOS官网文档 开发者若使用低性能的代码实现功能场景可能不会影响应用的正常运行,但却会对应用的性能造成负面影响。本章节列举出了一些可提升性能的场景供开发者参考,以避免应用实现上带来的性能劣化。 使用数据懒加载 开…...
英文科技论文写作与发表-常见英语写作困扰(第3章)
1.常见英语写作困扰 英语写作应该是越精炼越好。写完一个句子,建议尝试删除某个或某些单词,如果删除后句子意义基本不变,就应该删除。 1.1 所有格 使用所有格可以省去至少一个单词(of),如:Kangs book T…...
video标签自动播放音视频并绘制波形图
html中的<video>标签可以用来播放常见的音视频格式,支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等,当然支持的格式也和浏览器和操作系统有关。这里以一个可以自动播放音视频并绘制波形图的页面为例说明一下<video>标签的用法。 vid…...
Netty—EventLoop
文章目录 一、EventLoopGroup 是什么?🤔️二、NioEventLoop 有哪些重要组成部分?🔍三、NioEventLoop 的 thread 在何时启动?三、 run() 方法中线程在干嘛? 一、EventLoopGroup 是什么?…...
[极客大挑战 2019]FinalSQL(bypass盲注)
这里是数字型注入,选择一个序号 fuzz ?id1这里过滤了很多东西 使用fuzzSQL字典,这是我自己定义编写的一个fuzz字典,内容较少 select from information . tables whereand " or | & union columns updatexml extractvalue databa…...
如何实现小程序与h5页面间的跳转
接到新需求,要在小程序页面内点击按钮实现跳转h5,一开始没接触过,还挺头疼的,但真正做起来,也就那么一回事啦,废话少说,直接上 1. 配置域名 先登录小程序开发平台,将页面需要跳转的…...
企业架构LNMP学习笔记9
nginx配置文件定义php-fpm服务: 编写测试文件: vim /usr/local/nginx/html/index.php 内容: <?phpphpinfo(); 在nginx的配置文件中配置: 修改配置文件,告知nginx如果收到.php结尾的请求,交由给php-…...
华为OD机试 - 二维伞的雨滴效应(Java JS Python)
题目描述 普通的伞在二维平面世界中,左右两侧均有一条边,而两侧伞边最下面各有一个伞坠子,雨滴落到伞面,逐步流到伞坠处,会将伞坠的信息携带并落到地面,随着日积月累,地面会呈现伞坠的信息。 1、为了模拟伞状雨滴效应,用二叉树来模拟二维平面伞(如下图所示),现在输…...
【HttpRunnerManager】搭建接口自动化测试平台操作流程
一、需要准备的知识点 1. linux: 安装 python3、nginx 安装和配置、mysql 安装和配置 2. python: django 配置、uwsgi 配置 二、我搭建的环境 1. Centos7 (配置 rabbitmq、mysql 、Supervisord) 2. python 3.6.8 (配置 django、uwsgi&am…...
【C++】STL-常用算法-常用查找算法
0.前言 1.find #include <iostream> using namespace std;// 常用查找算法 find #include<vector> #include<algorithm>//查找 内置数据类型 void test01() {vector<int>v;for (int i 0; i < 10; i){v.push_back(i);}//查找 容器中 是否有 5 这个元…...
vue3 webpack打包流程及安装 (1)
npm run build 也可以打包 如果没有特殊需求 可以使用 效果其实是差不多的 --------------------------------------------------------------------------------------------------------------------------------- webpack网址 : 起步 | webpack 中文文档 (docsc…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
