master
go 80 lines 4.46 KB
Raw
1 package mq
2
3 import "github.com/netdata/netdata/go/plugins/plugin/ibm.d/framework"
4
5 // Config is the configuration for the collector.
6 type Config struct {
7 framework.Config `yaml:",inline" json:",inline"`
8
9 // IBM MQ Queue Manager name to connect to
10 QueueManager string `yaml:"queue_manager" json:"queue_manager"`
11 // IBM MQ channel name for connection
12 Channel string `yaml:"channel" json:"channel"`
13 // IBM MQ server hostname or IP address
14 Host string `yaml:"host" json:"host"`
15 // IBM MQ server port number
16 Port int `yaml:"port" json:"port"`
17 // Username for IBM MQ authentication
18 User string `yaml:"user" json:"user"`
19 // Password for IBM MQ authentication
20 Password string `yaml:"password" json:"password"`
21
22 // Enable collection of queue metrics
23 CollectQueues bool `yaml:"collect_queues" json:"collect_queues"`
24 // Enable collection of channel metrics
25 CollectChannels bool `yaml:"collect_channels" json:"collect_channels"`
26 // Enable collection of topic metrics
27 CollectTopics bool `yaml:"collect_topics" json:"collect_topics"`
28 // Enable collection of listener metrics
29 CollectListeners bool `yaml:"collect_listeners" json:"collect_listeners"`
30 // Enable collection of subscription metrics
31 CollectSubscriptions bool `yaml:"collect_subscriptions" json:"collect_subscriptions"`
32
33 // Enable collection of system queue metrics (SYSTEM.* queues provide critical infrastructure visibility)
34 CollectSystemQueues bool `yaml:"collect_system_queues" json:"collect_system_queues"`
35 // Enable collection of system channel metrics (SYSTEM.* channels show clustering and administrative health)
36 CollectSystemChannels bool `yaml:"collect_system_channels" json:"collect_system_channels"`
37 // Enable collection of system topic metrics (SYSTEM.* topics show internal messaging patterns)
38 CollectSystemTopics bool `yaml:"collect_system_topics" json:"collect_system_topics"`
39 // Enable collection of system listener metrics (SYSTEM.* listeners show internal connectivity)
40 CollectSystemListeners bool `yaml:"collect_system_listeners" json:"collect_system_listeners"`
41
42 // Enable collection of channel configuration metrics
43 CollectChannelConfig bool `yaml:"collect_channel_config" json:"collect_channel_config"`
44 // Enable collection of queue configuration metrics
45 CollectQueueConfig bool `yaml:"collect_queue_config" json:"collect_queue_config"`
46
47 // Patterns to include queues (wildcards supported). Empty means include everything.
48 IncludeQueues []string `yaml:"include_queues" json:"include_queues"`
49 // Patterns to exclude queues after inclusion (wildcards supported).
50 ExcludeQueues []string `yaml:"exclude_queues" json:"exclude_queues"`
51 // Pattern to filter channels (wildcards supported)
52 ChannelSelector string `yaml:"channel_selector" json:"channel_selector"`
53 // Pattern to filter topics (wildcards supported)
54 TopicSelector string `yaml:"topic_selector" json:"topic_selector"`
55 // Pattern to filter listeners (wildcards supported)
56 ListenerSelector string `yaml:"listener_selector" json:"listener_selector"`
57 // Pattern to filter subscriptions (wildcards supported)
58 SubscriptionSelector string `yaml:"subscription_selector" json:"subscription_selector"`
59 // Maximum number of queues to collect (0 = no limit)
60 MaxQueues int `yaml:"max_queues" json:"max_queues"`
61 // Maximum number of channels to collect (0 = no limit)
62 MaxChannels int `yaml:"max_channels" json:"max_channels"`
63 // Maximum number of topics to collect (0 = no limit)
64 MaxTopics int `yaml:"max_topics" json:"max_topics"`
65 // Maximum number of listeners to collect (0 = no limit)
66 MaxListeners int `yaml:"max_listeners" json:"max_listeners"`
67
68 // Enable collection of queue statistics (destructive operation)
69 CollectResetQueueStats bool `yaml:"collect_reset_queue_stats" json:"collect_reset_queue_stats"`
70 // Enable collection of statistics queue metrics (SYSTEM.ADMIN.STATISTICS.QUEUE provides advanced metrics like min/max depth)
71 CollectStatisticsQueue bool `yaml:"collect_statistics_queue" json:"collect_statistics_queue"`
72
73 // Enable collection of $SYS topic metrics (provides Queue Manager CPU, memory, and log utilization)
74 CollectSysTopics bool `yaml:"collect_sys_topics" json:"collect_sys_topics"`
75
76 // Statistics collection interval in seconds (auto-detected STATINT overwrites this value)
77 StatisticsInterval int `yaml:"statistics_interval,omitempty" json:"statistics_interval,omitempty"`
78 // $SYS topic collection interval in seconds (user override for customized MQ configurations)
79 SysTopicInterval int `yaml:"sys_topic_interval,omitempty" json:"sys_topic_interval,omitempty"`
80 }