监控 -- linux中的一些系统性能状态指令、Prometheus

目录

    • 监控
      • 查看性能相关命令
      • Prometheus
        • 1、安装和配置
        • 2、将 NFS服务器和LB服务器作为exporter采集数据
        • 3、在prometheus server里添加安装exporter程序的服务器
      • grafana出图工具

监控

监控的目的是获取数据,通过数据分析了解机器是否正常运行

查看性能相关命令

  • 查看cpu详细信息: lscpucat /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里的未使用完的空间

  • 查看网络流量: dstatiptrafglances

    • 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、安装和配置

  1. 在监控服务器(192.168.232.166)上编译安装

    首先在官网上下载源码包https://prometheus.io/download/
    在这里插入图片描述

    将下载好的源码包传到监控服务器,解压
    在这里插入图片描述

  2. 临时和永久修改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    # 添加的信息
    
  3. 启动prometheus服务,并让他在后台运行,不受到终端关闭的影响(Prometheus监听9090端口)

    nohup prometheus --config.file=/prom/prometheus/prometheus.yml &
    
  4. 关闭防火墙,并设置永久关闭。然后就可以在服务器上输入192.168.232.166:9090看到监控页面了

    service firewalld stop
    systemctl disable firewalld
    
  5. 将源码二进制安装的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采集数据

  1. 在官网上下载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/
  2. 修改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
  3. 启动exporter服务,并让他在后台运行,不受到终端关闭的影响(自定义exporter监听8090端口)

    nohup node_exporter --web.listen-address 0.0.0.0:8090 &
    
  4. 在浏览器上访问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出图工具

  1. 将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

  2. 配置prometheus的数据源,导入模版
    在这里插入图片描述
    在这里插入图片描述

    这里输入Prometheus的IP地址和端口号
    在这里插入图片描述
    在这里插入图片描述

    导入出图模版
    在这里插入图片描述
    在这里插入图片描述

好模版编号:1860、8919

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

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

相关文章

学习pytorch8 土堆说卷积操作

土堆说卷积操作 官网debug torch版本只有nn 没有nn.functional代码执行结果 B站小土堆视频学习笔记 官网 https://pytorch.org/docs/stable/nn.html#convolution-layers 常用torch.nn, nn是对nn.functional的封装&#xff0c;使函数更易用。 卷积核从输入图像左上角&#xf…

Python数据分析实战-将dataframe某列的值分成不同区间并计算每个区间的频数(附源码和实现效果)

实现功能 将dataframe某列的值分成不同区间并计算每个区间的频数 实现代码 import pandas as pd# 创建dataframe data {Name:[Tom1, Jack1, Steve1, Ricky1, Tom2, Jack2, Steve2, Ricky2],Score:[78,60,59,42,88,34,69,142]} df pd.DataFrame(data) print(df)# 定义区间和…

【VL tracking】Towards Unified Token Learning for Vision-Language Tracking

不知道什么原因学校认证账号进不去&#xff0c;下载不了最新的PDF 广西师范大学 | 国科大 | 厦大 代码开源 zhihu指路&#x1f449;【VL tracking】MMTrack阅读 问题 一方面&#xff0c;传统的VL tracking方法需要昂贵的先验知识。例如&#xff0c;一些tracker是专门用于bou…

【产线故障】线上接口请求过慢如何排查?

文章目录 前言一、内存使用过高导致CPU满载案例代码分析思路 二、出现了类似死循环导致cpu负载案例代码分析思路 三、死锁案例代码分析思路 前言 首先线上接口变慢&#xff0c;原因可能有很多&#xff0c;有可能是网络&#xff0c;有可能是慢 SQL&#xff0c;有可能是服务本身…

【Linux】- 一文秒懂shell编程

shell编程 1.1 Shell 是什么1.2 Shell 脚本的执行方式1.3 编写第一个 Shell 脚本2.1 Shell 的变量2.2 shell 变量的定义2.3 设置环境变量3.1 位置参数变量3.2 预定义变量4.1 运算符4.2 条件判断5.1 流程控制5.2 case 语句5.3 for 循环5.4 while 循环5.5 read基本语法6.1函数6.2…

Mysql性能调优——1.深入理解Mysql索引数据结构和算法

本系列所说的Mysql性能调优&#xff0c;主要是针对开发者在实际环境中的sql调优&#xff0c;代码层面上的优化。不涉及到mysql底层代码的调优。 我们知道&#xff0c;一个mysql数据表&#xff0c;数据量小的时候&#xff0c;可能简单的查询耗时不会太久&#xff0c;性能也可以…

供配电技术

最近&#xff0c;在上一门关于供配电技术的课程&#xff0c;虽说与自动化的关系并不是十分大&#xff0c;但对于扩展知识面还是有很大用处的&#xff0c;不至于与其他人交谈此方面的相关知识的时候&#xff0c;一头雾水。

百度智能云千帆大模型平台2.0来了!从大模型到生产力落地的怪兽级平台!!

目录 前言 最佳算力效能为企业降低门槛 最多大模型&#xff0c;最多数据集为企业保驾护航 企业级安全对于企业来说是硬性要求 前言 普通人或许感知不明显&#xff0c;但是对于企业而言&#xff0c;身处AI时代&#xff0c;是否选择投资大模型&#xff0c;是否拥抱人工智能…

AlmaLinux 经济收益增加,红帽 RHEL 源码限制不成威胁

导读红帽在两个月前发布公告表示&#xff0c;将限制对 Red Hat Enterprise Linux (RHEL) 源代码的访问&#xff0c;未来 CentOS Stream 将成为公共 RHEL 相关源代码发布的唯一仓库。对于这一决策&#xff0c;AlmaLinux OS Foundation 主席 Benny Vasquez 则向 SiliconANGLE 表示…

【MyBatis篇】MyBatis框架基础知识笔记

目录 ORM思想&#xff08;对象关系映射思想&#xff09; 初识MyBatis 什么是MyBatis呢&#xff1f; JDBC VS MyBatis代码 获取数据库连接对比 对表格查询操作&#xff1a; JDBC弊端 MyBatis&#xff0c;JDBC对比 MyBatis进一步介绍以及本质分析 JDBC编程的劣势&…

五大类注解和方法注解详解

五大类注解为Controller&#xff0c;Service&#xff0c;Repository&#xff0c;Configuration&#xff0c;Component,方法注解为Bean。 需要注意的是&#xff1a;Bean注解必须要在类注解修饰的类内才能正常使用。 一、与配置文件的关系 在spring原生项目中 如果你使用的spri…

基于Hata模型的BPSK调制信号小区覆盖模拟matlab完整程序分享

基于Hata信道模型的BPSK调制信号小区覆盖模拟matlab仿真&#xff0c;对比VoIP, Live Video,FTP/Email 完整程序&#xff1a; clc; clear; close all; warning off; addpath(genpath(pwd)); % Random bits are generated here. bits randi([0, 1], [50,1]); M 2; t 1:1:50; …

Json“牵手”唯品会商品详情数据方法,唯品会商品详情API接口,唯品会API申请指南

唯品会是中国最大的会员制特卖电商平台之一&#xff0c;于2008年创立&#xff0c;唯品会主营业务为互联网在线销售品牌折扣商品&#xff0c;涵盖名品服饰鞋包、美妆、母婴、居家等各大品类2。唯品会采取供应链直采模式&#xff0c;与全球3000多家品牌及供应商合作&#xff0c;直…

TSINGSEE青犀视频AI分析/边缘计算/AI算法·安全帽检测功能——多场景高效运用

安全帽检测算法主要是对人员安全和事故预防的需要。在许多工业领域和施工现场&#xff0c;佩戴安全帽是一种重要的安全措施&#xff0c;可以减少头部受伤的风险。然而&#xff0c;由于工地人员数量众多且繁忙&#xff0c;人工监控难以有效覆盖所有区域&#xff0c;因此旭帆科技…

Ubuntu 升级cuda版本与切换

下载cuda版本 进&#xff1a;CUDA Toolkit 12.2 Downloads | NVIDIA Developer wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.runsudo sh ./cuda_12.2.0_535.54.03_linux.run --toolkit --silent --overrid…

Shell命令操作Linux文件系统

Shell命令操作Linux文件系统 文件夹介绍 文件夹常规命令 文件夹权限控制⭐ 文件类型和权限 修改文件权限 移动、复制、删除文件夹 文件夹介绍 Linux文件系统是计算机操作系统中的一个关键组成部分&#xff0c;它用于管理和组织计算机上的数据和信息。先到根目录&#xf…

并发容器11

一 JDK 提供的并发容器总结 JDK 提供的这些容器大部分在 java.util.concurrent 包中。 ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List&#xff0c;在读多写少的场合性能非常好&#xff0c;远远好于 Vector. ConcurrentLinkedQueue: 高效的并…

音频应用编程

目录 ALSA 概述alsa-lib 简介sound 设备节点alsa-lib 移植编写一个简单地alsa-lib 应用程序一些基本概念打开PCM 设备设置硬件参数读/写数据示例代码之PCM 播放示例代码值PCM 录音 使用异步方式PCM 播放示例-异步方式PCM 录音示例-异步方式 使用poll()函数使用poll I/O 多路复用…

W5500-EVB-PICO主动PING主机IP检测连通性(十)

前言 上一章我们用W5500_EVB_PICO 开发板做UDP组播数据回环测试&#xff0c;那么本章我们进行W5500_EVB_PICO Ping的测试。 什么是PING&#xff1f; Ping &#xff08;Packet Internet Groper&#xff09;是一种因特网包探索器&#xff0c;用于测试网络连接量的程序 。Ping是…

phpstudy本地快速搭建网站,并外网访问【无公网IP】

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…