linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

多类型资源统计工具: dstat

  • 简介
  • 安装
    • CentOS/RHEL
    • Ubuntu/Debian
  • 使用方法
    • 基本语法
    • 常用参数
    • 输出示例
  • 实用脚本
    • 监控网络状态并发送报告
    • 定时任务配置
  • 最佳实践

简介

该命令整合了vmstat,iostat和ifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和区块布局的界面帮助你能够更加清晰容易的获取信息。它也支持将信息数据导出到cvs格式文件中,从而用其他应用程序打开,或者导入到数据库中。

dstat 是一个功能强大的系统资源统计工具,具有以下特点:

  • 整合了 vmstat、iostat、ifstat 等多个工具的功能
  • 实时显示系统资源使用状况
  • 支持彩色输出和模块化显示
  • 可导出 CSV 格式数据用于后续分析

安装

CentOS/RHEL

yum -y install dstat

Ubuntu/Debian

apt-get install dstat

使用方法

基本语法

dstat [options] [delay [count]]

常用参数

参数说明示例
-cCPU 状态dstat -c
-m内存状态dstat -m
-n网络状态dstat -n
-d磁盘 I/Odstat -d
-rI/O 请求dstat -r
-s交换分区dstat -s
-t显示时间dstat -t
--top-cpuCPU 使用率最高的进程dstat --top-cpu
--top-mem内存使用最多的进程dstat --top-mem

输出示例

# 监控 CPU 和内存状态,每 2 秒更新一次,共 5 次
dstat -cm 2 5

# 监控网络和磁盘 I/O
dstat -dn

# 导出到 CSV 文件
dstat --output report.csv -cdn 2 10

实用脚本

监控网络状态并发送报告

#!/bin/bash

time=`date +%Y-%m-%d`
echo $time

# 收集网络状态数据
dstat -tcf --output /tmp/eths_$time.csv 1 40

# 发送邮件报告
echo "$time网路状态" | mail -a /tmp/eths_$time.csv "$time网络状态" xxxx@qq.com

定时任务配置

crontab -e
0 10 * * * /usr/src/dstat_consol.sh >/dev/null 2>&1

最佳实践

  1. 监控建议

    • 根据需求选择合适的监控指标
    • 设置合理的采样间隔
    • 避免过多的输出项影响可读性
  2. 数据处理

    • 定期导出数据进行分析
    • 设置自动清理机制
    • 建立监控告警阈值

注意:

  • 时间参数要放在输出参数后面
  • 合理使用 CSV 输出功能
  • 注意数据存储空间

参考资料:

  • dstat 官方文档
  • Linux 性能监控工具
最近更新时间:
Prev
命令别名:alias
Next
history配置