1
1
# NETWAYS support collector
2
2
3
- <!-- NOTE: Update `Readme` const in `main.go` when changing the text here -->
3
+ The support collector allows to collect relevant information from servers. The resulting ZIP file can be given to second
4
+ to get an insight into the system.
4
5
5
- The support collector allows our customers to collect relevant information from their servers.
6
- A resulting ZIP file can then be provided to our support team for further inspection.
6
+ > ** WARNING:** DO NOT transfer the generated file over insecure connections, it contains potential sensitive information!
7
7
8
8
If you are a customer, you can contact us at [ support@netways.de ] ( mailto:support@netways.de ) or
9
9
[ netways.de/en/contact/] ( https://www.netways.de/en/contact/ ) .
10
10
11
- > ** WARNING:** DO NOT transfer the generated file over insecure connections or by
12
- email, it contains potential sensitive information!
13
-
14
- Inspired by [ icinga2-diagnostics] ( https://github.com/Icinga/icinga2-diagnostics ) .
11
+ Inspired by [ NETWAYS/icinga2-diagnostics] ( https://github.com/Icinga/icinga2-diagnostics ) .
15
12
16
13
## Usage
17
14
18
- > ** WARNING:** Some passwords or secrets are automatically removed, but this no guarantee, so be careful what you share.
15
+ > ** WARNING:** Some passwords or secrets are automatically removed, but this no guarantee, so be careful what you share!
19
16
20
17
The ` --hide ` flag can be used multiple times to hide sensitive data, it supports regular expressions.
21
18
22
19
```
23
- support-collector --hide "Secret:.*" --hide "Password:.*" --enable base
20
+ support-collector --hide "Secret:.*" --hide "Password:.*"
24
21
```
25
22
26
23
By default, we collect all we can find. You can control this by only enabling certain modules, or disabling some.
27
24
28
25
If you want to see what is collected, add ` --verbose ` .
29
26
30
- ```
31
- Usage of support-collector:
32
- -o, --output string Output file for the zip content
33
- --enable strings List of enabled module (default [base,icinga2,icingaweb2,icinga-director,icingadb,elastic,corosync,keepalived,mongodb,mysql,influxdb,postgresql,prometheus,ansible,puppet,grafana,graphite,graylog])
34
- --disable strings List of disabled module
35
- --hide stringArray List of keywords to obfuscate. Can be used multiple times.
36
- --command-timeout duration Timeout for command execution in modules (default 1m0s)
37
- -v, --verbose Enable verbose logging
38
- -V, --version Print version and exit
39
- ```
27
+ | Short | Long | Description |
28
+ | -------| -------------------| ------------------------------------------------------------------------------------------------------------------------|
29
+ | -o | --output | Output file for the zip content (default: current directory and named like '$HOSTNAME'-netways-support-$TIMESTAMP.zip) |
30
+ | | --enable | List of enabled modules (default: all) |
31
+ | | --disable | List of disabled modules (default: none) |
32
+ | | --hide | List of keywords to obfuscate. Can be used multiple times |
33
+ | | --command-timeout | Timeout for command execution in modules (default: 1m0s) |
34
+ | -v | --verbose | Enable verbose logging |
35
+ | -V | --version | Print version and exit |
40
36
41
37
## Modules
42
38
43
- A brief overview about the modules, you can check the source code under [ modules] ( modules ) for what exactly is collected.
44
-
45
- Most modules check if the component is installed before trying to collect data.
46
-
47
- ### Base
48
-
49
- Module: ` base `
50
-
51
- Will collect basic information about your system:
52
-
53
- * Kernel and Operating system versions
54
- * CPU, memory, disk and other hardware and vendor information
55
- * Current process and load status
56
- * Status of AppArmor and SELinux
57
- * Repositories
58
-
59
- See [ modules/base/collector.go] ( modules/base/collector.go ) for details.
60
-
61
- ### Icinga 2
62
-
63
- Module: ` icinga2 `
64
-
65
- * Configuration from ` /etc/icinga2 `
66
- * Files in PluginDir
67
- * Package information
68
- * Service status
69
- * Config check result
70
- * Log files from ` /var/log/icinga2 `
71
- * Object list for ` Zone ` and ` Endpoint `
72
- * Variables like ` NodeName ` and ` ZoneName `
73
-
74
- See [ modules/icinga2/collector.go] ( modules/icinga2/collector.go ) for details.
75
-
76
- ### Icinga Web 2
77
-
78
- Module: ` icingaweb2 `
79
-
80
- * Configuration from ` /etc/icingaweb2 `
81
- * Package information
82
- * Log files from ` /var/log/icingaweb2 `
83
- * Version for icingaweb2 and its modules, including Git information
84
- * Installed PHP packages and php-fpm service status
85
- * Installed webserver packages
86
-
87
- See [ modules/icingaweb2/collector.go] ( modules/icingaweb2/collector.go ) for details.
88
-
89
- ### IcingaDB
90
-
91
- Module: ` icingadb `
92
-
93
- * Configuration from ` /etc/icingadb ` , ` /etc/icingadb-redis ` and ` /etc/icinga2/features-enabled/icingadb.conf `
94
- * Service status from ` icingadb ` , ` icingadb-redis ` and ` icingadb-redis-server `
95
- * Package information
96
- * Journal logs from ` icingadb ` , ` icingadb-redis ` and ` icingadb-redis-server `
97
-
98
- ### Icinga Director
99
-
100
- Module: ` icinga-director `
101
-
102
- * Package or Git version information
103
- * Service status
104
- * Health status
105
-
106
- See [ modules/icingadirector/collector.go] ( modules/icingadirector/collector.go ) for details.
107
-
108
- ### Corosync
109
-
110
- Module: ` corosync `
111
-
112
- * Version
113
- * Service status from ` corosync ` and ` pacemaker `
114
- * Configuration from corosync
115
- * Logs from corosync and pacemaker
116
-
117
- See [ modules/corosync/collector.go] ( modules/corosync/collector.go ) for details.
118
-
119
- ### Elastic Stack
120
-
121
- Module: ` elastic `
122
-
123
- Includes ` elasticsearch ` , ` logstash ` and ` kibana ` .
124
-
125
- * Version
126
- * Service status
127
- * Configuration
128
-
129
- See [ modules/elastic/collector.go] ( modules/elastic/collector.go ) for details.
130
-
131
- ### Keepalived
132
-
133
- Module: ` keepalived `
134
-
135
- * Version
136
- * Service status from keepalived
137
- * Configuration from keepalived
138
-
139
- See [ modules/keepalived/collector.go] ( modules/keepalived/collector.go )
140
-
141
- ### MongoDB
142
-
143
- Module: ` mongodb `
144
-
145
- * MongoDB version
146
- * Package versions
147
- * Service status
148
- * Configuration from ` /etc/mongod.conf `
149
-
150
- See [ modules/mongodb/collector.go] ( modules/mongodb/collector.go ) for details.
151
-
152
- ### MySQL
153
-
154
- Module: ` mysql `
155
-
156
- Is looking for standard MySQL or MariaDB installations.
157
-
158
- * Mysql version
159
- * Package versions
160
- * Service status
161
- * Configuration files from ` /etc/my* ` (depending on the known paths)
162
-
163
- See [ modules/mysql/collector.go] ( modules/mysql/collector.go ) for details.
164
-
165
- ### PostgreSQL
166
-
167
- Module: ` postgresql `
168
-
169
- * PostgreSQL version
170
- * Package versions
171
- * Service status
172
- * Configuration files from ` /etc/postgresql ` and ` /var/lib/pgsql ` (depending on OS)
173
-
174
- See [ modules/postgresql/collector.go] ( modules/postgresql/collector.go ) for details.
175
-
176
- ### Prometheus
177
-
178
- Module: ` prometheus `
179
-
180
- Includes ` prometheus ` , ` pushgateway ` and ` alertmanager ` .
181
-
182
- * Version
183
- * Service status
184
- * Configuration
185
-
186
- See [ modules/prometheus/collector.go] ( modules/prometheus/collector.go ) for details.
187
-
188
- ### Ansible
189
-
190
- Module: ` ansible `
191
-
192
- * Configuration from ` /etc/ansible `
193
- * Package versions
194
-
195
- See [ modules/ansible/collector.go] ( modules/ansible/collector.go ) for details.
196
-
197
- ### Puppet
198
-
199
- Module: ` puppet `
200
-
201
- * Configuration from ` /etc/puppetlabs `
202
- * Package Versions
203
- * Puppet module list
204
-
205
- See [ modules/puppet/collector.go] ( modules/puppet/collector.go ) for details.
206
-
207
- ### InfluxDB
208
-
209
- Module: ` influxdb `
210
-
211
- * Configuration file from ` /etc/influxdb/config.* `
212
- * Package versions
213
- * Service status
214
-
215
- See [ modules/influxdb/collector.go] ( modules/influxdb/collector.go ) for details.
216
-
217
- ### Grafana
218
-
219
- Module ` grafana `
220
-
221
- * Configuration files from` /etc/grafana ` and ` /usr/share/grafana `
222
- * Package Versions
223
- * Service status
224
- * grafana-cli version
225
- * grafana-cli plugins list
226
-
227
- See [ modules/grafana/collector.go] ( modules/grafana/collector.go ) for details.
228
-
229
- ### Graphite
230
-
231
- Module: ` graphite `
232
-
233
- * Configuration from:
234
- * ` /opt/graphite/conf ` ,
235
- * ` /opt/graphite/webapp/graphite/local_settings.py ` ,
236
- * ` /etc/carbon `
237
- * ` /etc/graphite-api* `
238
- * ` /etc/graphite-web* `
239
- * Package versions
240
- * Python and pip version & list
241
- * Process list for ` *graphite* ` and ` *carbon* `
242
-
243
- See [ modules/graphite/collector.go] ( modules/graphite/collector.go ) for details.
244
-
245
- ### Graylog
246
-
247
- Module ` graylog `
248
-
249
- * Configuration files from` /etc/graylog `
250
- * Package Versions
251
- * Service status
252
-
253
- See [ modules/grafana/collector.go] ( modules/graylog/collector.go ) for details.
39
+ A brief overview about the modules, you can check the source code under [ modules] ( modules ) for what exactly is
40
+ collected.
41
+
42
+ Most modules check if the component is installed before trying to collect data. If the module is not detected, it will
43
+ not be collected.
44
+
45
+ | Module name | Description |
46
+ | ----------------| ----------------------------------------------------------------------------------------------------|
47
+ | ansible | Configuration and packages |
48
+ | base | Basic information about the system (OS, memory, cpu, processes, etc.) |
49
+ | corosync | Configuration, logs, packages and service status |
50
+ | elastic | Includes elasticsearch, logstash and kibana. Collects configuration, packages and service statuses |
51
+ | grafana | Configuration, plugins, packages and service status |
52
+ | graphite | Configuration, python and pip version and list, packages and service statuses |
53
+ | graylog | Configuration, packages and service status |
54
+ | icinga2 | Configuration, packages, service status, logs, Icinga objects, Icinga variables and plugins |
55
+ | icingadb | Includes IcingaDB and Icinga redis Collects configuration, logs, packages and service statuses |
56
+ | icingadirector | Packages or git information, Director health status and service status |
57
+ | icingaweb2 | Configuration, packages, logs, modules, PHP packages and service status |
58
+ | influxdb | Configuration, packages and service status |
59
+ | keepalived | Configuration, packages and service status |
60
+ | mongodb | Configuration, packages and service status |
61
+ | mysql | Configuration, packages and service status |
62
+ | postgresql | Configuration, packages and service status |
63
+ | prometheus | Configuration, packages and service status |
64
+ | puppet | Configuration, module list, packages and service status |
254
65
255
66
## Supported systems
256
67
257
- ** Note:** Currently, only Linux is supported by the collector.
258
-
259
- Distribution | Supported | Tested | Comment
260
- ----------------|-----------|-------------|--------
261
- CentOS / EL | ✅️ | CentOS 7/8 | Should work on all similar enterprise platforms
262
- Debian | ✅ |
263
- Ubuntu | ✅ |
264
- SLES / OpenSUSE | ✅ |
68
+ | Distribution | Tested on | Supported |
69
+ | -----------------| --------------------------| :-----------:|
70
+ | CentOS / EL | CentOS 7/8, RHEL 7/8 | ✅ |
71
+ | Debian | Debian 10/11 | ✅ |
72
+ | Ubuntu | Ubuntu 18.04/20.04/22.04 | ✅ |
73
+ | SLES / OpenSUSE | openSUSE Leap 15.4 | ✅ |
265
74
266
75
## License
267
76
@@ -275,4 +84,4 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
275
84
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
276
85
277
86
You should have received a copy of the GNU General Public License along with this program. If not,
278
- see < https://www.gnu.org/licenses/ > .
87
+ see < https://www.gnu.org/licenses/ > .
0 commit comments