Windows Exporter
grafana-agent内置了windows_exporter的实现,可以采集到windows平台的指标。
配置并启用windows_exporter
# grafana-agent 本身的配置server:log_level: infohttp_listen_port: 12345# grafana-agent 抓取 metrics 的相关配置(类似于prometheus的scrape_configs)metrics:global:scrape_interval: 15sscrape_timeout: 10sremote_write:- url: https://n9e-server:19000/prometheus/v1/writebasic_auth:username: <string>password: <string>integrations:windows_exporter:enabled: true
采集的关键指标列表
windows_cpu_clock_interrupts_total: Total number of received and serviced clock tick interrupts(counter)windows_cpu_core_frequency_mhz: Core frequency in megahertz(gauge)windows_cpu_cstate_seconds_total: Time spent in low-power idle state(counter)windows_cpu_dpcs_total: Total number of received and serviced deferred procedure calls (DPCs)(counter)windows_cpu_idle_break_events_total: Total number of time processor was woken from idle(counter)windows_cpu_interrupts_total: Total number of received and serviced hardware interrupts(counter)windows_cpu_parking_status: Parking Status represents whether a processor is parked or not(gauge)windows_cpu_processor_performance: Processor Performance is the average performance of the processor while it is executing instructions, as a percentage of the nominal performance of the processor. On some processors, Processor Performance may exceed 100%(gauge)windows_cpu_time_total: Time that processor spent in different modes (idle, user, system, ...)(counter)windows_cs_hostname: Labeled system hostname information as provided by ComputerSystem.DNSHostName and ComputerSystem.Domain(gauge)windows_cs_logical_processors: ComputerSystem.NumberOfLogicalProcessors(gauge)windows_cs_physical_memory_bytes: ComputerSystem.TotalPhysicalMemory(gauge)windows_exporter_build_info: A metric with a constant '1' value labeled by version, revision, branch, and goversion from which windows_exporter was built.(gauge)windows_exporter_collector_duration_seconds: Duration of a collection.(gauge)windows_exporter_collector_success: Whether the collector was successful.(gauge)windows_exporter_collector_timeout: Whether the collector timed out.(gauge)windows_exporter_perflib_snapshot_duration_seconds: Duration of perflib snapshot capture(gauge)windows_logical_disk_free_bytes: Free space in bytes (LogicalDisk.PercentFreeSpace)(gauge)windows_logical_disk_idle_seconds_total: Seconds that the disk was idle (LogicalDisk.PercentIdleTime)(counter)windows_logical_disk_read_bytes_total: The number of bytes transferred from the disk during read operations (LogicalDisk.DiskReadBytesPerSec)(counter)windows_logical_disk_read_latency_seconds_total: Shows the average time, in seconds, of a read operation from the disk (LogicalDisk.AvgDiskSecPerRead)(counter)windows_logical_disk_read_seconds_total: Seconds that the disk was busy servicing read requests (LogicalDisk.PercentDiskReadTime)(counter)windows_logical_disk_read_write_latency_seconds_total: Shows the time, in seconds, of the average disk transfer (LogicalDisk.AvgDiskSecPerTransfer)(counter)windows_logical_disk_reads_total: The number of read operations on the disk (LogicalDisk.DiskReadsPerSec)(counter)windows_logical_disk_requests_queued: The number of requests queued to the disk (LogicalDisk.CurrentDiskQueueLength)(gauge)windows_logical_disk_size_bytes: Total space in bytes (LogicalDisk.PercentFreeSpace_Base)(gauge)windows_logical_disk_split_ios_total: The number of I/Os to the disk were split into multiple I/Os (LogicalDisk.SplitIOPerSec)(counter)windows_logical_disk_write_bytes_total: The number of bytes transferred to the disk during write operations (LogicalDisk.DiskWriteBytesPerSec)(counter)windows_logical_disk_write_latency_seconds_total: Shows the average time, in seconds, of a write operation to the disk (LogicalDisk.AvgDiskSecPerWrite)(counter)windows_logical_disk_write_seconds_total: Seconds that the disk was busy servicing write requests (LogicalDisk.PercentDiskWriteTime)(counter)windows_logical_disk_writes_total: The number of write operations on the disk (LogicalDisk.DiskWritesPerSec)(counter)windows_net_bytes_received_total: (Network.BytesReceivedPerSec)(counter)windows_net_bytes_sent_total: (Network.BytesSentPerSec)(counter)windows_net_bytes_total: (Network.BytesTotalPerSec)(counter)windows_net_current_bandwidth: (Network.CurrentBandwidth)(gauge)windows_net_packets_outbound_discarded_total: (Network.PacketsOutboundDiscarded)(counter)windows_net_packets_outbound_errors_total: (Network.PacketsOutboundErrors)(counter)windows_net_packets_received_discarded_total: (Network.PacketsReceivedDiscarded)(counter)windows_net_packets_received_errors_total: (Network.PacketsReceivedErrors)(counter)windows_net_packets_received_total: (Network.PacketsReceivedPerSec)(counter)windows_net_packets_received_unknown_total: (Network.PacketsReceivedUnknown)(counter)windows_net_packets_sent_total: (Network.PacketsSentPerSec)(counter)windows_net_packets_total: (Network.PacketsPerSec)(counter)windows_os_info: OperatingSystem.Caption, OperatingSystem.Version(gauge)windows_os_paging_free_bytes: OperatingSystem.FreeSpaceInPagingFiles(gauge)windows_os_paging_limit_bytes: OperatingSystem.SizeStoredInPagingFiles(gauge)windows_os_physical_memory_free_bytes: OperatingSystem.FreePhysicalMemory(gauge)windows_os_process_memory_limix_bytes: OperatingSystem.MaxProcessMemorySize(gauge)windows_os_processes: OperatingSystem.NumberOfProcesses(gauge)windows_os_processes_limit: OperatingSystem.MaxNumberOfProcesses(gauge)windows_os_time: OperatingSystem.LocalDateTime(gauge)windows_os_timezone: OperatingSystem.LocalDateTime(gauge)windows_os_users: OperatingSystem.NumberOfUsers(gauge)windows_os_virtual_memory_bytes: OperatingSystem.TotalVirtualMemorySize(gauge)windows_os_virtual_memory_free_bytes: OperatingSystem.FreeVirtualMemory(gauge)windows_os_visible_memory_bytes: OperatingSystem.TotalVisibleMemorySize(gauge)windows_service_info: A metric with a constant '1' value labeled with service information(gauge)windows_service_start_mode: The start mode of the service (StartMode)(gauge)windows_service_state: The state of the service (State)(gauge)windows_service_status: The status of the service (Status)(gauge)windows_system_context_switches_total: Total number of context switches (WMI source is PerfOS_System.ContextSwitchesPersec)(counter)windows_system_exception_dispatches_total: Total number of exceptions dispatched (WMI source is PerfOS_System.ExceptionDispatchesPersec)(counter)windows_system_processor_queue_length: Length of processor queue (WMI source is PerfOS_System.ProcessorQueueLength)(gauge)windows_system_system_calls_total: Total number of system calls (WMI source is PerfOS_System.SystemCallsPersec)(counter)windows_system_system_up_time: System boot time (WMI source is PerfOS_System.SystemUpTime)(gauge)windows_system_threads: Current number of threads (WMI source is PerfOS_System.Threads)(gauge)
完整地配置项说明
# Enables the windows_exporter integration, allowing the Agent to automatically# collect system metrics from the local windows instance[enabled: <boolean> | default = false]# Sets an explicit value for the instance label when the integration is# self-scraped. Overrides inferred values.## The default value for this integration is inferred from the agent hostname# and HTTP listen port, delimited by a colon.[instance: <string>]# Automatically collect metrics from this integration. If disabled,# the consul_exporter integration will be run but not scraped and thus not# remote-written. Metrics for the integration will be exposed at# /integrations/windows_exporter/metrics and can be scraped by an external# process.[scrape_integration: <boolean> | default = <integrations_config.scrape_integrations>]# How often should the metrics be collected? Defaults to# prometheus.global.scrape_interval.[scrape_interval: <duration> | default = <global_config.scrape_interval>]# The timeout before considering the scrape a failure. Defaults to# prometheus.global.scrape_timeout.[scrape_timeout: <duration> | default = <global_config.scrape_timeout>]# Allows for relabeling labels on the target.relabel_configs:[- <relabel_config> ... ]# Relabel metrics coming from the integration, allowing to drop series# from the integration that you don't care about.metric_relabel_configs:[ - <relabel_config> ... ]# How frequent to truncate the WAL for this integration.[wal_truncate_frequency: <duration> | default = "60m"]# Monitor the exporter itself and include those metrics in the results.[include_exporter_metrics: <bool> | default = false]## Exporter-specific configuration options## List of collectors to enable. Any non-experimental collector from the# embeded version of windows_exporter can be enabeld here.[enabled_collectors: <string> | default = "cpu,cs,logical_disk,net,os,service,system,textfile"]# Settings for collectors which accept configuration. Settings specified here# are only used if the corresponding collector is enabled in# enabled_collectors.# Configuration for Exchange Mail Serverexchange:# Comma-separated List of collectors to use. Defaults to all, if not specified.# Maps to collectors.exchange.enabled in windows_exporter[enabled_list: <string>]# Configuration for the IIS web serveriis:# Regexp of sites to whitelist. Site name must both match whitelist and not match blacklist to be included.# Maps to collector.iis.site-whitelist in windows_exporter[site_whitelist: <string> | default = ".+"]# Regexp of sites to blacklist. Site name must both match whitelist and not match blacklist to be included.# Maps to collector.iis.site-blacklist in windows_exporter[site_blacklist: <string> | default = ""]# Regexp of apps to whitelist. App name must both match whitelist and not match blacklist to be included.# Maps to collector.iis.app-whitelist in windows_exporter[app_whitelist: <string> | default=".+"]# Regexp of apps to blacklist. App name must both match whitelist and not match blacklist to be included.# Maps to collector.iis.app-blacklist in windows_exporter[app_blacklist: <string> | default=".+"]# Configuration for reading metrics from a text files in a directorytext_file:# Directory to read text files with metrics from.# Maps to collector.textfile.directory in windows_exporter[text_file_directory: <string> | default="C:\Program Files\windows_exporter\textfile_inputs"]# Configuration for SMTP metricssmtp:# Regexp of virtual servers to whitelist. Server name must both match whitelist and not match blacklist to be included.# Maps to collector.smtp.server-whitelist in windows_exporter[whitelist: <string> | default=".+"]# Regexp of virtual servers to blacklist. Server name must both match whitelist and not match blacklist to be included.# Maps to collector.smtp.server-blacklist in windows_exporter[blacklist: <string> | default=""]# Configuration for Windows Servicesservice:# "WQL 'where' clause to use in WMI metrics query. Limits the response to the services you specify and reduces the size of the response.# Maps to collector.service.services-where in windows_exporter[where_clause: <string> | default=""]# Configuration for Windows Processesprocess:# Regexp of processes to include. Process name must both match whitelist and not match blacklist to be included.# Maps to collector.process.whitelist in windows_exporter[whitelist: <string> | default=".+"]# Regexp of processes to exclude. Process name must both match whitelist and not match blacklist to be included.# Maps to collector.process.blacklist in windows_exporter[blacklist: <string> | default=""]# Configuration for NICsnetwork:# Regexp of NIC's to whitelist. NIC name must both match whitelist and not match blacklist to be included.# Maps to collector.net.nic-whitelist in windows_exporter[whitelist: <string> | default=".+"]# Regexp of NIC's to blacklist. NIC name must both match whitelist and not match blacklist to be included.# Maps to collector.net.nic-blacklist in windows_exporter[blacklist: <string> | default=""]# Configuration for Microsoft SQL Servermssql:# Comma-separated list of mssql WMI classes to use.# Maps to collectors.mssql.classes-enabled in windows_exporter[enabled_classes: <string> | default="accessmethods,availreplica,bufman,databases,dbreplica,genstats,locks,memmgr,sqlstats,sqlerrors,transactions"]# Configuration for Microsoft Queuemsqm:# WQL 'where' clause to use in WMI metrics query. Limits the response to the msmqs you specify and reduces the size of the response.# Maps to collector.msmq.msmq-where in windows_exporter[where_clause: <string> | default=""]# Configuration for disk informationlogical_disk:# Regexp of volumes to whitelist. Volume name must both match whitelist and not match blacklist to be included.# Maps to collector.logical_disk.volume-whitelist in windows_exporter[whitelist: <string> | default=".+"]# Regexp of volumes to blacklist. Volume name must both match whitelist and not match blacklist to be included.# Maps to collector.logical_disk.volume-blacklist in windows_exporter[blacklist: <string> | default=".+"]
