# fleetlib-metrics **Repository Path**: syswu/fleetlib-metrics ## Basic Information - **Project Name**: fleetlib-metrics - **Description**: 平台和中间件的监测代码。请联系吴悦文,wuyuewen@otcaix.iscas.ac.cn - **Primary Language**: Rust - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-27 - **Last Updated**: 2025-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 物理机监测指标 #### 1. CPU | CPU指标名称 | 指标含义 | sysinfo rust 库是否支持/对应函数 | | ------------ | ------------------------------------- | ------------------------------------------------------------ | | cpu_usage | CPU 使用率 | pub fn [cpu_usage](https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html#method.cpu_usage)(&self) -> f32 CPU结构体的函数 | | name | CPU名称 | pub fn [name](https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html#method.name)(&self) -> &str CPU结构体的函数 | | vendor_id | CPU供应商ID | pub fn [vendor_id](https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html#method.vendor_id)(&self) -> &str CPU结构体的函数 | | brand | CPU的品牌 | pub fn [brand](https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html#method.brand)(&self) -> &str CPU结构体的函数 | | frequency | CPU频率 | pub fn [frequency](https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html#method.frequency)(&self) -> u64 CPU结构体的函数 | | cpu_arch | CPU架构 (eg. x86, amd64, aarch64, …). | pub fn [cpu_arch](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.cpu_arch)() -> String System结构体的函数 | | cpus | CPU核心数/列表 | pub fn [cpus](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.cpus)(&self) -> &[[Cpu](https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html)] System结构体的函数 | | global_usage | 返回全局CPU的使用情况 | pub fn [global_cpu_usage](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.global_cpu_usage)(&self) -> f32 System结构体的函数 | #### 2.内存 | 内存指标名称 | 指标含义 | sysinfo库是否支持/对应函数 | | ------------------- | ---------------------------------- | ------------------------------------------------------------ | | available_memory | 系统可用内存,单位字节 | pub fn [available_memory](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.available_memory)(&self) -> u64 System结构体的函数 | | free_memory | 系统空闲内存,单位字节 | pub fn [free_memory](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.free_memory)(&self) -> u64 System结构体的函数 | | free_swap | 系统可用的内存交换空间,单位李子杰 | pub fn [free_swap](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.free_swap)(&self) -> u64 System结构体的函数 | | total_memory | 系统总内存,单位字节 | pub fn [total_memory](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.total_memory)(&self) -> u64 System结构体的函数 | | total_swap | 系统总交换空间,单位字节 | pub fn [total_swap](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.total_swap)(&self) -> u64 System结构体的函数 | | used_memory | 系统已用内存,单位字节 | pub fn [used_memory](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.used_memory)(&self) -> u64 System结构体的函数 | | used_swap | 系统已用交换空间,单位字节 | pub fn [used_swap](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.used_swap)(&self) -> u64 System结构体的函数 | | ultilization_memory | 内存利用率 | 可使用上述函数计算得出 | #### 3.磁盘 | 磁盘指标名称 | 指标含义 | sysinfo库是否支持/对应函数 | | --------------- | -------------------------- | ------------------------------------------------------------ | | available_space | 可用磁盘空间 | pub fn [available_space](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.available_space)(&self) -> u64 Disk函数 | | file_system | 磁盘上使用的文件系统 | pub fn [file_system](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.file_system)(&self) -> &OsStr Disk函数 | | is_read_only | 磁盘是否只读 | pub fn [is_read_only](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.is_read_only)(&self) -> bool Disk函数 | | is_removable | 磁盘是否可移除 | pub fn [is_read_only](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.is_read_only)(&self) -> bool Disk函数 | | kind | 磁盘种类 | pub fn [kind](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.kind)(&self) -> [DiskKind](https://docs.rs/sysinfo/latest/sysinfo/enum.DiskKind.html) Disk函数 | | name | 磁盘名字 | pub fn [name](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.name)(&self) -> &OsStr Disk函数 | | mount_point | 磁盘挂载点 | pub fn [mount_point](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.mount_point)(&self) -> &Path Disk函数 | | total_space | 磁盘总空间,单位字节 | pub fn [total_space](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.total_space)(&self) -> u64 Disk函数 | | usage | 返回磁盘读取和写入的字节数 | pub fn [usage](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html#method.usage)(&self) -> [DiskUsage](https://docs.rs/sysinfo/latest/sysinfo/struct.DiskUsage.html) Disk函数 | | list | 返回系统磁盘列表 | pub fn [list](https://docs.rs/sysinfo/latest/sysinfo/struct.Disks.html#method.list)(&self) -> &[[Disk](https://docs.rs/sysinfo/latest/sysinfo/struct.Disk.html)] Disks函数 | #### 4. **网络** | 网络指标名称 | 指标含义 | sysinfo库是否支持/对应函数name | | --------------------------- | ------------------------------ | ------------------------------------------------------------ | | name | 网络接口名称 | Networks字段 | | mac_address | mac地址 | pub fn [mac_address](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.mac_address)(&self) -> [MacAddr ](https://docs.rs/sysinfo/latest/sysinfo/struct.MacAddr.html) NetworkData函数 | | received | 自上次刷新以来已接收字节数 | pub fn [received](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.received)(&self) -> u64 NetworkData函数 | | transmitted | 自上次刷新以来已传输的字节数 | pub fn [transmitted](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.transmitted)(&self) -> u64 NetworkData函数 | | packets_received | 自上次刷新以来已接收的数据包数 | pub fn [packets_received](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.packets_received)(&self) -> u64 NetworkData函数 | | packets_transmitted | 自上次刷新以来已传输的数据包数 | pub fn [total_packets_transmitted](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.total_packets_transmitted)(&self) -> u64 NetworkData函数 | | error_received | 自上次刷新以来已接收的错误次数 | pub fn [errors_on_received](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.errors_on_received)(&self) -> u64 NetworkData函数 | | error_transmitted | 自上次刷新以来已传输的错误次数 | pub fn [errors_on_transmitted](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.errors_on_transmitted)(&self) -> u64 NetworkData函数 | | ip_networks | 返回与当前接口相关的 Ip 网络。 | pub fn [ip_networks](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.ip_networks)(&self) -> &[[IpNetwork](https://docs.rs/sysinfo/latest/sysinfo/struct.IpNetwork.html)] NetworkData函数 | | mut | 返回接口的最大传输单元MTU | pub fn [mtu](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.mtu)(&self) -> u64 NetworkData函数 | | total_errors_on_received | 返回接收过程中产生的错误总数 | pub fn [total_errors_on_received](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.total_errors_on_received)(&self) -> u64 NetworkData函数 | | total_errors_on_transmitted | 返回传输过程中产生的错误总数 | pub fn [total_errors_on_transmitted](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.total_errors_on_transmitted)(&self) -> u64 NetworkData函数 | | total_packets_received | 返回接收到的数据包总数。 | pub fn [total_packets_received](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.total_packets_received)(&self) -> u64 NetworkData函数 | | total_packets_transmitted | 返回传输的数据包总数 | pub fn [total_packets_transmitted](https://docs.rs/sysinfo/latest/sysinfo/struct.NetworkData.html#method.total_packets_transmitted)(&self) -> u64 NetworkData函数 | | | | | #### 5.进程 | 名称 | 指标含义 | sysinfo库是否支持/对应函数 | | ------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | process | 返回给定进程号的进程信息(包括启动进程的命令、进程CPU使用情况、当前工作目录、读写磁盘的字节数、进程所属组ID、进程所属用户ID、进程路径、进程的环境变量、进程内存占用情况、进程名、进程ID、进程运行时间、进程会话ID、进程开始时间、进程状态、进程使用虚拟内存的大小、父进程PID、线程类型(如果是),进程运行的子任务/子进程) | pub fn [process](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.process)(&self, pid: [Pid](https://docs.rs/sysinfo/latest/sysinfo/struct.Pid.html)) -> Option<&[Process](https://docs.rs/sysinfo/latest/sysinfo/struct.Process.html)>
括号内的均是Process结构体的方法 | #### 6.其他 | 指标名称 | 指标含义 | sysinfo库是否支持/对应函数 | | ------------------- | -------------------------------------- | ------------------------------------------------------------ | | hostname | 系统主机名 | pub fn [host_name](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.host_name)() -> Option System结构体的函数 | | kernel_version | 系统内核版本 | pub fn [kernel_version](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.kernel_version)() -> Option | | load_average | 系统平均负载值 | pub fn [load_average](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.load_average)() -> [LoadAvg](https://docs.rs/sysinfo/latest/sysinfo/struct.LoadAvg.html) | | long_os_version | 长操作系统版本(Linux (Ubuntu 22.04)) | pub fn [long_os_version](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.long_os_version)() -> Option | | name | 系统名 | pub fn [name](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.name)() -> Option | | os_version | 短操作系统版本(22.04) | pub fn [os_version](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.os_version)() -> Option | | physical_core_count | CPU上的物理核心数 | pub fn [os_version](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.os_version)() -> Option | | uptime | 系统正常运行时间 | pub fn [uptime](https://docs.rs/sysinfo/latest/sysinfo/struct.System.html#method.uptime)() -> u64 | | | | | #### 7. 算力(GPU/DCU/MLU) | 算力指标名称 | 指标含义 | sysinfo库是否支持/对应函数 | | ------------------- | -------------------- | -------------------------- | | type | 算力类型 | 自研 | | utilization | 算力利用率 | 自研 | | temperature | 温度 | 自研 | | total_memory | 显存总大小 | 自研 | | used_memory | 已用显存大小 | 自研 | | utilization_memory | 显存利用率 | 自研 | | power | 算力功率 | 自研 | | frequency | 算力频率 | 自研 | | name | 算力名称 | 自研 | | id | 算力ID | 自研 | | processes | 算力上运行的进程 | 自研 | | container_connected | 算力与容器的关联关系 | 自研 | ### NFS监测 Prometheus 指标: nfs_iobytes_read 读取字节总数 nfs_iobytes_write 写入字节总数 nfs_network_connections 网络连接总数 nfs_network_netcount 数据包总量 TCP 数据包总数 nfs_network_udpcount UDP 数据包总数 nfs_reply_cache_hits 缓存点击数 nfs_reply_cache_misses 缓存未命中次数 nfs_reply_cache_nocache nocache 的数量 nfsv4_op_deleg_per_client 每个 NFSv4 客户端的委托操作数 nfsv4_op_layout_per_client 每个 NFSv4 客户端的布局操作数 nfsv4_op_lock_per_client 每个 NFSv4 客户端的锁操作数 nfsv4_op_open_per_client 每个 NFSv4 客户端执行的打开操作数 NFSv4 客户端的数量 nfsv4_exports_total NFSv4 出口数量 ### Keepalived监测 探针地址:https://github.com/gen2brain/keepalived_exporter(×) 或:https://github.com/mehdy/keepalived-exporter(√) 使用参考:https://blog.csdn.net/qq_25934401/article/details/127966498 | 指标名称 | 指标含义 | 详细含义 | | ----------------------------------------------- | -------------------------------- | -------------------------------------------------------- | | keepalived_up | Status of Keepalived service | Keepalived服务的运行状态。1表示运行中,0表示未运行。 | | keepalived_vrrp_state | State of vrrp | VRRP(虚拟路由冗余协议)的当前状态,例如MASTER或BACKUP。 | | keepalived_vrrp_excluded_state | State of vrrp with excluded VIP | 处于排除状态的VIP(虚拟IP地址)的VRRP状态。 | | keepalived_exporter_build_info | Exporter build info | Keepalived Exporter的版本和构建信息。 | | keepalived_exporter_check_script_status | Check Script status for each VIP | 用于每个VIP的检查脚本状态,表示检测是否正常。 | | keepalived_gratuitous_arp_delay_total | Gratuitous ARP delay | 发送免费ARP(Gratuitous ARP)请求的延迟次数统计。 | | keepalived_advertisements_received_total | Advertisements received | 接收到的VRRP广告包的总数。 | | keepalived_advertisements_sent_total | Advertisements sent | 发送出的VRRP广告包的总数。 | | keepalived_become_master_total | Became master | 切换为MASTER状态的总次数。 | | keepalived_release_master_total | Released master | 释放MASTER状态的总次数。 | | keepalived_packet_length_errors_total | Packet length errors | 接收到的VRRP数据包长度错误的总数。 | | keepalived_advertisements_interval_errors_total | Advertisement interval errors | VRRP广告包的间隔时间错误总数。 | | keepalived_ip_ttl_errors_total | TTL errors | IP数据包TTL(生存时间)错误的总数。 | | keepalived_invalid_type_received_total | Invalid type errors | 接收到的无效类型VRRP数据包总数。 | | keepalived_address_list_errors_total | Address list errors | 地址列表错误的总数,例如配置中的VIP地址异常。 | | keepalived_authentication_invalid_total | Authentication invalid | 无效认证的总数,例如认证字段格式错误。 | | keepalived_authentication_mismatch_total | Authentication mismatch | 认证不匹配的总数,例如密码不一致。 | | keepalived_authentication_failure_total | Authentication failure | 认证失败的总数,例如密码验证未通过。 | | keepalived_priority_zero_received_total | Priority zero received | 接收到优先级为0的VRRP数据包总数。 | | keepalived_priority_zero_sent_total | Priority zero sent | 发送优先级为0的VRRP数据包总数。 | | keepalived_script_status | Tracker Script Status | 跟踪脚本的状态,用于检查指定脚本的运行是否正常。 | | keepalived_script_state | Tracker Script State | 跟踪脚本的状态值,例如成功或失败。 | ### PostgreSQL监测 探针地址:https://github.com/prometheus-community/postgres_exporter https://github.com/alex-karpenko/psql-query-exporter 使用方式:README.md | 指标名称 | 指标含义 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | pg_database_connection_limit | 数据库的连接限制。 | | pg_database_size_bytes | 数据库磁盘空间使用情况 | | pg_exporter_last_scrape_duration_seconds | 上次抓取 PostgreSQL 指标的持续时间 | | pg_exporter_last_scrape_error | 上次抓取 PostgreSQL 指标是否出错(1 为错误,0 为成功) | | pg_exporter_scrapes_total | PostgreSQL 被抓取的总次数 | | pg_locks_count | 锁数量 | | pg_replication_is_replica | 指示服务器是否为副本 | | pg_replication_lag_seconds | 主服务器与副本之间的复制延迟(秒) | | pg_roles_connection_limit | 角色连接限制 | | pg_scrape_collector_duration_seconds | 每个收集器的抓取持续时间 | | pg_scrape_collector_success | 收集器是否成功抓取 收集器是否成功抓取 | | pg_stat_activity_count | 当前处于各状态下的连接数。 | | pg_stat_activity_max_tx_duration | 任何活动事务已运行的最长时间(以秒为单位)。 | | pg_stat_archiver_archived_count | 已成功归档的WAL(Write-Ahead Logging)文件数量。 | | pg_stat_archiver_failed_count | 归档WAL文件失败的尝试次数。 | | pg_stat_archiver_last_archive_age | 自上次成功归档WAL段以来的时间(以秒为单位)。 | | pg_stat_database_active_time_seconds_total | 在该数据库中执行SQL语句所花费的总时间(以秒为单位)。 | | pg_stat_database_blk_read_time | 后端在该数据库中读取数据文件块所花费的时间(以毫秒为单位)。 | | pg_stat_database_blk_write_time | 后端在该数据库中写入数据文件块所花费的时间(以毫秒为单位)。 | | pg_stat_database_blks_hit | 在该数据库中,磁盘块已存在于缓冲区缓存中,无需读取磁盘的次数(仅包括PostgreSQL缓冲区缓存中的命中,不包括操作系统文件系统缓存)。 | | pg_stat_database_blks_read | 在该数据库中读取的磁盘块数量。 | | pg_stat_database_conflicts | 因与恢复冲突而被取消的查询次数。 | | pg_stat_database_conflicts_confl_active_logicalslot | 因活动逻辑复制槽冲突而取消的查询次数。 | | pg_stat_database_conflicts_confl_bufferpin | 因缓冲区被固定(pinned buffers)而取消的查询次数。 | | pg_stat_database_conflicts_confl_deadlock | 因死锁(deadlocks)而取消的查询次数。 | | pg_stat_database_conflicts_confl_lock | 因锁超时(lock timeouts)而取消的查询次数。 | | pg_stat_database_conflicts_confl_snapshot | 因快照过旧(old snapshots)而取消的查询次数。 | | pg_stat_database_conflicts_confl_tablespace | 因删除表空间(dropped tablespaces)而取消的查询次数。 | | pg_stat_database_deadlocks | 在该数据库中检测到的死锁数量。 | | pg_stat_database_numbackends | 当前连接到该数据库的后端数量。这是该视图中唯一反映当前状态的列;其他列返回自上次重置以来的累计值。 | | pg_stat_database_stats_reset | 这些统计信息上次重置的时间。 | | pg_stat_database_temp_bytes | 该数据库中查询写入临时文件的总数据量(以字节为单位)。所有临时文件均被计数,无论创建原因如何,与`log_temp_files`设置无关。 | | pg_stat_database_temp_files | 该数据库中查询创建的临时文件数量。所有临时文件均被计数,无论创建原因如何,与`log_temp_files`设置无关。 | | pg_stat_database_tup_deleted | 在该数据库中,查询删除的行数。 | | pg_stat_database_tup_fetched | 在该数据库中,查询获取的行数。 | | pg_stat_database_tup_inserted | 在该数据库中,查询插入的行数。 | | pg_stat_database_tup_returned | 在该数据库中,查询返回的行数。 | | pg_stat_database_tup_updated | 在该数据库中,查询更新的行数。 | | pg_stat_database_xact_commit | 在该数据库中,已提交的事务数量。 | | pg_stat_database_xact_rollback | 在该数据库中,已回滚的事务数量。 | | pg_static | PostgreSQL报告的版本字符串。 | | pg_up | 上一次从PostgreSQL抓取指标时是否成功连接到服务器(1表示成功,0表示失败)。 | | pg_wal_segments | WAL(Write-Ahead Logging)段的数量。 | | pg_wal_size_bytes | WAL段的总大小(以字节为单位)。 | | postgres_exporter_build_info | 一个具有恒定值`1`的指标,带有标签标识postgres_exporter的版本、修订号、分支、Go版本、构建操作系统和架构。 | | postgres_exporter_config_last_reload_success_timestamp_seconds | 上一次成功重新加载配置的时间戳(以秒为单位,自Unix纪元以来)。 | | postgres_exporter_config_last_reload_successful | postgres_exporter配置是否成功加载(1表示成功,0表示失败)。 |