node-os-utils
Version:
Advanced cross-platform operating system monitoring utilities with TypeScript support
136 lines • 3.74 kB
TypeScript
import { BaseMonitor } from '../core/base-monitor';
import { MonitorResult, DiskConfig, DiskInfo, DiskUsage, DiskStats, MountPoint, FileSystem, DataSize } from '../types';
import { PlatformAdapter } from '../types/platform';
import { CacheManager } from '../core/cache-manager';
/**
* 磁盘监控器
*
* 提供磁盘相关的监控功能,包括空间使用、I/O统计、挂载点等
*/
export declare class DiskMonitor extends BaseMonitor<DiskInfo[]> {
private diskConfig;
constructor(adapter: PlatformAdapter, config?: DiskConfig, cache?: CacheManager);
/**
* 获取所有磁盘信息
*/
info(): Promise<MonitorResult<DiskInfo[]>>;
/**
* 获取指定磁盘的信息
*/
infoByDevice(device: string): Promise<MonitorResult<DiskInfo | null>>;
/**
* 获取磁盘使用情况
*/
usage(): Promise<MonitorResult<DiskUsage[]>>;
/**
* 获取总体磁盘使用率(百分比)
*/
overallUsage(): Promise<MonitorResult<number>>;
/**
* 获取指定挂载点的使用情况
*/
usageByMountPoint(mountPoint: string): Promise<MonitorResult<DiskUsage | null>>;
/**
* 获取磁盘 I/O 统计
*/
stats(): Promise<MonitorResult<DiskStats[]>>;
/**
* 获取挂载点信息
*/
mounts(): Promise<MonitorResult<MountPoint[]>>;
/**
* 获取文件系统信息
*/
filesystems(): Promise<MonitorResult<FileSystem[]>>;
/**
* 获取磁盘空间总览
*/
spaceOverview(): Promise<MonitorResult<{
total: DataSize;
used: DataSize;
available: DataSize;
usagePercentage: number;
disks: number;
}>>;
/**
* 获取磁盘健康状态检查
*/
healthCheck(): Promise<MonitorResult<{
status: 'healthy' | 'warning' | 'critical';
issues: string[];
checks: {
spaceUsage: boolean;
mountStatus: boolean;
ioErrors: boolean;
};
}>>;
/**
* 配置是否包含 I/O 统计
*/
withStats(include: boolean): this;
/**
* 配置排除的文件系统类型
*/
withExcludeTypes(types: string[]): this;
/**
* 配置只监控指定的挂载点
*/
withMountPoints(mountPoints: string[]): this;
/**
* 配置磁盘单位
*/
withUnit(unit: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB'): this;
/**
* 获取默认配置
*/
protected getDefaultConfig(): DiskConfig;
/**
* 转换磁盘基本信息
*/
private transformDiskInfo;
/**
* 转换磁盘使用情况
*/
private transformDiskUsage;
/**
* 转换磁盘 I/O 统计
*/
private transformDiskStats;
/**
* 转换挂载点信息
*/
private transformMountPoints;
/**
* 转换文件系统信息
*/
private transformFileSystems;
/**
* 计算使用率百分比
*/
private calculateUsagePercentage;
/**
* 判断是否应该包含该磁盘
*/
private shouldIncludeDisk;
/**
* 规范化设备类型
*/
private normalizeDeviceType;
/**
* 安全解析数字
*/
private safeParseNumber;
/**
* 获取指定路径的空闲磁盘空间(同步版本,向后兼容)
* @param path 路径(默认为根目录)
* @returns 空闲磁盘空间对象或 'not supported'
*/
free(path?: string): any;
/**
* 获取指定路径的已用磁盘空间(同步版本,向后兼容)
* @param path 路径(默认为根目录)
* @returns 已用磁盘空间对象或 'not supported'
*/
used(path?: string): any;
}
//# sourceMappingURL=disk-monitor.d.ts.map