UNPKG

node-os-utils

Version:

Advanced cross-platform operating system monitoring utilities with TypeScript support

136 lines 3.74 kB
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