mirror of
https://github.com/prometheus-community/windows_exporter
synced 2025-05-08 03:06:24 +00:00
Strip special chars from instance names
This commit is contained in:
parent
263ab8c444
commit
7de316af9f
@ -66,7 +66,7 @@ func getMSSQLInstances() mssqlInstancesType {
|
|||||||
|
|
||||||
instanceNames, err := k.ReadValueNames(0)
|
instanceNames, err := k.ReadValueNames(0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn("Can't ReadSubKeyNames %#v", err)
|
log.Warnf("Can't ReadSubKeyNames %#v", err)
|
||||||
return sqlDefaultInstance
|
return sqlDefaultInstance
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,15 @@ func getMSSQLInstances() mssqlInstancesType {
|
|||||||
func mssqlBuildWMIInstanceClass(suffix string, instance string) string {
|
func mssqlBuildWMIInstanceClass(suffix string, instance string) string {
|
||||||
instancePart := "MSSQLSERVER_SQLServer"
|
instancePart := "MSSQLSERVER_SQLServer"
|
||||||
if instance != "MSSQLSERVER" {
|
if instance != "MSSQLSERVER" {
|
||||||
instancePart = fmt.Sprintf("MSSQL%s_MSSQL%s", instance, instance)
|
// Instance names can contain some special characters, which are not supported in the WMI class name.
|
||||||
|
// We strip those out.
|
||||||
|
cleanedName := strings.Map(func(r rune) rune {
|
||||||
|
if r == '_' || r == '$' || r == '#' {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}, instance)
|
||||||
|
instancePart = fmt.Sprintf("MSSQL%s_MSSQL%s", cleanedName, cleanedName)
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("Win32_PerfRawData_%s%s", instancePart, suffix)
|
return fmt.Sprintf("Win32_PerfRawData_%s%s", instancePart, suffix)
|
||||||
|
Loading…
Reference in New Issue
Block a user