监控 -- 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.05
Load 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-server
grafana监听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…...
【C++】内联函数 ① ( 内联函数引入 | 内联函数语法 )
文章目录 一、内联函数引入1、内联函数引入2、代码示例 - 宏代码片段 与 内联函数 二、内联函数语法1、内联函数语法说明2、代码示例 - 内联函数基本语法 一、内联函数引入 1、内联函数引入 " 内联函数 " 是 C 语言中的一种特殊函数 , 其目的是为了提高程序的执行效率…...
聊聊springboot的ConfigurationProperties的绑定
序 本文主要研究一下springboot的ConfigurationProperties的绑定 ConfigurationPropertiesBindingPostProcessor org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java /*** {link BeanPostProcessor} to bind {link PropertySo…...
Mysql和Oracle的语法区别?
Mysql和Oracle是两种不同的关系型数据库。 MySQL通常在中小型应用程序、Web应用程序和小型企业中广泛使用,因为它易于学习和部署,而且成本较低。 Oracle数据库通常用于大型企业和复杂的企业级应用程序,因为它提供了高度可扩展性、高可用性…...
F - LIS on Tree
F - LIS on Tree (atcoder.jp) 问题描述:树上LIS。 普通LIS。O(n * n)。 void solve() {int n; cin>>n;vector<int> f(n 1),a(n1);for(int i 1; i < n; i) {cin>>a[i];f[i] 1;for(int j 1; j < i; j) {if(a[i] > a[j]) f[i] max…...
2023 年全国大学生数学建模B题目-多波束测线问题
B题目感觉属于平面几何和立体几何的问题,本质上需要推导几何变换情况,B题目属于有标准答案型,没太大的把握不建议选择,可发挥型不大。 第一问 比较简单,就一个2维平面的问题,但有点没理解,这个…...
qt creater11 翻译国际化教程教程:
先出效果图。 闲聊几句:qt这个翻译很方便,能直接导出项目里所有文字。 具体步骤如下: 在Qt中,我们可以使用QTranslator类来实现多语言切换。以下是一般步骤: 1. 在你的源代码中,所有需要翻译的字符串都…...
【AWS实验 】在 AWS Fargate 上使用 Amazon ECS 部署应用程序
文章目录 实验概览目标实验环境任务 1:连接到实验命令主机任务 2:将应用程序容器化任务 3:构建 Web2048 容器任务 4:创建 Amazon ECR 存储库并推送 Docker 映像任务 5:创建 ECS 集群任务 6:测试应用程序总结…...
matlab几种求解器的选择fsolve-sole-vpasolve
文章目录 fsolvesolvevpasovle总结vpasovle的结果fsovle的结果 fsolve 求数值解 result_xfsolve(my_fun,x0,options)参数: my_fun:待求解函数,作为一个.m文件 x0:初始值,向量,可以仅仅指定其中的几项solve 强大的求解器。在方程组中求解析…...
无限访问 GPT-4,OpenAI 强势推出 ChatGPT 企业版!
继 ChatGPT 收费大降价、推出 App 版等系列动作之后,OpenAI 于今日宣布正式发布面向企业的 AI 助手——ChatGPT Enterprise 版。 与 To C 端的 ChatGPT 版本有所不同的是,该版本可以以更快速度无限制地访问 GPT-4,还可以用来处理更长输入的上…...
MySQL的故事——Schema与数据类型优化
Schema与数据类型优化 一、选择优化的数据类型 更小的通常更好 应该尽量使用可以正确存储数据的最小类型,更小的数据类型通常更快,因为他们占用更少的磁盘,内存和CPU缓存,并且处理时需要的CPU周期更少 简单就好 更简单的数据类型…...
网站制作需求表/企业网站制作费用
复习Python的Day4 复习Python的Day4习题 5 更多的变量和打印习题代码加分习题 格式化操作符格式化操作符辅助符 习题 5: 更多的变量和打印 每一次使用” “把一些文本引用起来,你就建立了一个字符串,的的确确,字符串是非常好用的东西。 字符…...
网站没有地图怎么做的/北京seo分析
https://blog.csdn.net/hongbin_xu/article/details/76284134转载于:https://www.cnblogs.com/ACPIE-liusiqi/p/10665652.html...
更改wordpress后台登录地址/桂林seo顾问
一,暴露端口 根据官网教程,需要使用3000端口,但一般都是阿里云的安全组没有放行3000端口,致使安装好metabase后无法打开浏览页面。 通过阿里云控制台打开安全组规则,在入方向新增3000端口即可。 二,安装d…...
广州专业网站建设报价/怎么做网络广告
1、一个基类的引用类型变量可以“指向”其子类的对象; 2、一个基类的引用不可以访问其子类对象新增加的成员(属性和方法); 3、可以使用引用变量instanceof类名来判断该引用型变量所“指向”的对象是否属于该类或该类的子类&#x…...
申请一个自己的网站/石家庄网站建设培训
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:低压电工报名考试考前必练!安全生产模拟考试一点通每个月更新低压电工模拟考试题库题目及答案!多做几遍,其实通过低压电工作业考试题库很简单。…...
iis url重写wordpress/seo培训费用
为什么80%的码农都做不了架构师?>>> 摘要: 弹性计算服务ECS(Elastic Compute Service)是阿里云营收的中流砥柱和流量担当。作为各行业客户新业务和技术创新的发动机和使能者,ECS不仅能在10分钟内交付出一个…...