2016-11-17 1 views
0

nur eine Frage über scollector Tagging. Ich habe eine Config-Datei, die wie folgt aussieht: Seinscollector - Tagging-Metriken von vsphere

Host = "bosun01:80" 
BatchSize = 5000 

[Tags] 
    customer = "Admin" 
    environment = "bosun" 
    datacenter = "SITE1" 

[[Vsphere]] 
    Host = "CUST2SITE1VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 

[[Vsphere]] 
    Host = "CUST3SITE1VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 

[[Vsphere]] 
    Host = "CUST4SITE1VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 

[[Vsphere]] 
    Host = "CUST4SITE2VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 

[[TagOverride]] 
    CollectorExpr = "Vsphere" 
    [TagOverride.MatchedTags] 
     Host = '^(?P<customer>.{5})(?P<datacenter>.{5})(?P<environment>)\.[.]+' 

mit der Idee, dass wir aus verschiedenem vsphere-Server abrufen und Tag-Daten können.

Mein Verständnis der Dokumente ist, dass dies uns eine Anzahl von verschiedenen Tag-Werten basierend auf was aus dem Vsphere-Hostnamen regex gegeben wird. Die anfänglichen Tags sind für den lokalen Host und die Überschreibungen für die Daten, die von Vsphere stammen.

Wenn ich dies jedoch implementiere, merke ich, dass diese Metriken mit dem ursprünglichen Umgebungs-Tag von "bosun" kommen, anstatt dass der Override angewendet wird.

Ich habe eine alternative Konfiguration versucht:

Host = "bosun01:80" 
BatchSize = 5000 

[Tags] 
    customer = "Admin" 
    environment = "bosun" 
    datacenter = "SITE1" 

[[Vsphere]] 
    Host = "CUST2SITE1VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 
    [[TagOverride]] 
    [TagOverride.Tags] 
     environment = "Env01" 

[[Vsphere]] 
    Host = "CUST3SITE1VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 
    [[TagOverride]] 
    [TagOverride.Tags] 
     environment = "Env02" 


[[Vsphere]] 
    Host = "CUST4SITE1VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 
    [[TagOverride]] 
    [TagOverride.Tags] 
     environment = "Env03" 


[[Vsphere]] 
    Host = "CUST4SITE2VC01.F.Q.D.N" 
    User = "user" 
    Password = "pass" 
    [[TagOverride]] 
    [TagOverride.Tags] 
     environment = "Env04" 

Aber ich sehe ein ähnliches Verhalten (das letzte Umgebung Tag für alle vpshere Daten angewendet wird), so im nicht ganz sicher, wo ich falsch werde.

Kann mir jemand helfen zu verstehen, wo ich hier falsch liege?

aktualisieren

Wie pro Gregs Antwort unten, war mein Problem, dass ich die CollectorExpr ganz recht haben abgepfiffen.

Mit scollector -l konnte ich den richtigen CollectorExpr erstellen.

# ./scollector-linux-amd64 -l | grep vsphere 
vsphere-CUST1-SITE1-MGMTVC01 
vsphere-CUST1-SITE2-MGMTVC01 
vsphere-CUST1-SITE1-CLIVC01 
vsphere-CUST1-SITE2-CLIVC01 
# 

Unsere config (für alle, die Beispiele suchen) endete in etwa so hoch:

Host = "hwbosun01:80" 
BatchSize = 5000 

[Tags] 
    customer = "Customer1" 
    environment = "bosun" 
    datacenter = "eq" 

[[Vsphere]] 
    Host = "CUST1-SITE1-MGMTVC01" 
    User = "user" 
    Password = "pass" 

[[Vsphere]] 
    Host = "CUST1-SITE2-MGMTVC01" 
    User = "user" 
    Password = "pass" 

[[Vsphere]] 
    Host = "CUST1-SITE1-CLIVVC01" 
    User = "user" 
    Password = "pass" 

[[Vsphere]] 
    Host = "CUST-SITE1-CLIVVC01" 
    User = "user" 
    Password = "pass" 

[[TagOverride]] 
    CollectorExpr = "CUST-SITE1-MGMTVC01" 
    [TagOverride.Tags] 
     environment = "vsphere.mgmt" 
     datacenter = 'site1' 

[[TagOverride]] 
    CollectorExpr = "CUST-SITE1-MGMTVC01" 
    [TagOverride.Tags] 
     environment = "vsphere.mgmt" 
     datacenter = 'site2' 

[[TagOverride]] 
    CollectorExpr = "CUST-SITE1-CLIVC01" 
    [TagOverride.Tags] 
     environment = "vsphere.mgmt" 
     datacenter = 'site1' 

[[TagOverride]] 
    CollectorExpr = "CUST-SITE1-CLIVC01" 
    [TagOverride.Tags] 
     environment = "vsphere.mgmt" 
     datacenter = 'site2' 

Antwort

1

Ich glaube CollectorExpr ein regulärer Ausdruck ist, der gegen die Ausgabe von scollector -l oder den Kollektor Tag-Werte übereinstimmen müssen verwendet in der scollector.collector.duration Metrik. Unsere vsphere-Instanzen erhalten die Tag-Werte von vsphere-ny-vsphere02 für ny-vsphere02 und vsphere-nyhq-vsphere01 für nyhq-vsphere01. Folgende Einstellungen sollten gegen die Kollektornamen entsprechen:

[[TagOverride]] 
    CollectorExpr = "vsphere-ny-" 
    [TagOverride.Tags] 
     datacenter = 'ny' 

[[TagOverride]] 
    CollectorExpr = "vsphere-nyhq-" 
    [TagOverride.Tags] 
     datacenter = 'nyhq' 

Mit [TagOverride.MatchedTags] statt [TagOverride.Tags] sollte den Wert aus dem Hostnamen extrahieren arbeiten, aber bedenken Sie, dass alle Host-Namen, um ihre Kurznamen abgeschnitten werden (kein FQDN) es sei denn, Sie setzen FullHost = true in der scollector.toml-Datei. Meine Vermutung ist, dass Ihre Einstellungen fehlschlagen, weil der CollectorExpr falsch ist. Versuchen Sie so etwas wie:

[[TagOverride]] 
    CollectorExpr = "vsphere-" 
    [TagOverride.MatchedTags] 
     Host = '^(?P<customer>.{5})(?P<datacenter>.{5})(?P<environment>[^.]+)' 

Wenn das nicht versuchen, funktioniert mit ‚[TagOverride.Tags]‘ in einer Entwicklungsumgebung, um zu sehen, wenn Sie Test-Tags/Werte zu diesen Metriken hinzufügen können.

+0

ah, fantastisch. mein Problem scheint mit dem CollectorExpr gewesen zu sein, und danke für den Tipp re: '' 'scollector -l''' –

Verwandte Themen