Questo è il comando pmlogrewrite che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre numerose workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online di Windows o emulatore online di MAC OS
PROGRAMMA:
NOME
pmlogrewrite - riscrivere gli archivi di Performance Co-Pilot
SINOSSI
$PCP_BINADM_DIR/pmlogrewrite [-Cdiqsvw ] [-c config] registro [uscita]
DESCRIZIONE
pmlogrewrite legge un registro di archivio Performance Co-Pilot (PCP) identificato da registro e
crea un registro di archivio PCP in uscitaIn condizioni di utilizzo normali, il -c l'opzione verrà utilizzata per
nominare uno o più file di configurazione che contengono specifiche (vedere RISCRITTURA
REGOLAMENTO SINTASSI sezione sottostante) che descrivono come i dati e i metadati da registro dovrebbe essere
trasformato per produrre uscita.
Gli usi tipici per pmlogrewrite sarebbe quello di accogliere l'evoluzione delle prestazioni
Agenti di dominio metrico (PMDA) in cui i nomi, i metadati e la semantica delle metriche e i loro
i domini di istanza associati possono cambiare nel tempo, ad esempio promuovendo il tipo di una metrica da
un intero da 32 bit a 64 bit o rinominare un gruppo di metriche. Fare riferimento a ESEMPI
sezione per alcuni casi d'uso aggiuntivi.
pmlogrewrite è particolarmente utile quando si verificano cambiamenti PMDA o errori nell'ambiente di produzione,
risultano in archivi che non possono essere combinati con pmlogextract(1). Pre-elaborando il
archivi con pmlogrewrite gli archivi risultanti potrebbero essere in grado di essere uniti con
pmlogextract(1).
L'input registro deve essere un registro di archivio PCP creato da pmlogger(1), o eventualmente uno dei
strumenti che leggono e creano archivi PCP, ad esempio pmlogextract(1) e pmlogreduce(1).
Se no -c è specificata l'opzione, quindi il comportamento predefinito crea semplicemente uscita come una copia di
registroQuesto è un po' più complicato di gatto(1), poiché ogni archivio PCP è composto da
diversi file fisici.
Mentre pmlogrewrite può essere utilizzato per riparare alcuni problemi di coerenza dei dati negli archivi PCP,
esiste anche una classe di attività di riparazione che non possono essere gestite da pmlogrewrite e
pmloglabel(1) può essere uno strumento utile in questi casi.
COMANDO LINE VERSIONI
Le opzioni della riga di comando per pmlogrewrite sono come segue:
-C Analizza le regole di riscrittura ed esci. uscita non viene creato. Quando -C è specificato,
questo imposta anche -v e -w in modo che tutti gli avvisi e i messaggi dettagliati vengano visualizzati come
config viene analizzato.
-c config
If config è un file o un collegamento simbolico, leggi e analizza le regole di riscrittura da lì.
If config è una directory, quindi tutti i file o collegamenti simbolici in quella directory
(esclusi quelli che iniziano con un punto ``.'') saranno utilizzati per fornire il
riscrittura delle regole. Multiplo -c opzioni sono consentite.
-d Modalità disperata. Normalmente, se si verifica un errore fatale, ogni traccia del parzialmente
archivio PCP scritto uscita viene rimosso. Con il -d opzione, parzialmente creata
uscita il registro di archivio non viene rimosso.
-i Piuttosto che creare uscita, registro viene riscritto in luogo quando il -i opzione è
utilizzato. Un nuovo archivio viene creato utilizzando nomi di file temporanei e quindi rinominato in
registro in modo tale che se si verificano errori (non avvisi), registro
rimane inalterato.
-q Modalità rapida, in cui se non ci sono azioni di riscrittura da eseguire (nessuna delle
dati globali, domini di istanza o metriche da registro verrà cambiato), quindi
pmlogrewrite uscirà (con stato 0, quindi successo) immediatamente dopo l'analisi del
file di configurazione e uscita non è creato.
-s Quando le ``unità'' di una metrica vengono modificate, se la dimensione in termini di spazio,
tempo e conteggio non sono alterati, quindi il fattore di scala viene modificato, ad esempio BYTE in
KBYTE, o MSEC-1 a USEC-1, o il composito MBYTE.SEC-1 a KBYTE.USEC-1. Il
la motivazione potrebbe essere (a) che i metadati originali erano sbagliati ma i valori in registro
sono corretti, oppure (b) i metadati stanno cambiando, quindi anche i valori devono cambiare.
Il predefinito pmlogrewrite il comportamento corrisponde al caso (a). Se si applica il caso (b), allora usa
, il -s opzione e i valori di tutte le metriche con un fattore di scala cambiano in ciascuna
il risultato verrà ridimensionato. Per un controllo più preciso sulla ridimensionamento del valore, fare riferimento a
RIDIMENSIONAMENTO opzione per il UNITA ' clausola della regola di riscrittura metrica descritta di seguito.
-v Aumentare il livello di dettaglio dell'output diagnostico.
-w Emettere avvisi. Normalmente pmlogrewrite rimane in silenzio per qualsiasi avvertimento che non sia
fatale e ci si aspetta che per un archivio particolare, alcuni (o addirittura tutti)
le specifiche di riscrittura potrebbero non essere applicabili. Ad esempio, le modifiche a un PMDA potrebbero essere
catturati in un insieme di regole di riscrittura, ma un singolo archivio potrebbe non contenere tutti
le metriche modificate né tutti i domini di istanza e/o le istanze modificati.
Poiché questi casi sono previsti, non impediscono pmlogrewrite esecuzione, e
regole che non si applicano a registro vengono ignorati silenziosamente per impostazione predefinita. Allo stesso modo, alcuni
le regole di riscrittura potrebbero non comportare alcuna modifica perché i metadati in registro corrisponde già
l'intento della regola di riscrittura è quello di correggere i dati di una versione precedente di un PMDA.
. -w flag impone l'emissione di avvisi per tutti questi casi.
L'argomento uscita è obbligatorio in tutti i casi, tranne quando -i è specificato.
RISCRITTURA REGOLAMENTO SINTASSI
Un file di configurazione contiene zero o più regole di riscrittura come definito di seguito.
Di seguito sono riportate le parole chiave e i caratteri di punteggiatura speciali grassetto corsivo font e sono
senza distinzione tra maiuscole e minuscole, quindi METRIC, metrico e Metrico sono tutti equivalenti nelle regole di riscrittura.
Il carattere ``#'' introduce un commento e il resto della riga viene ignorato.
Altrimenti l'input è un formato relativamente libero con spazio bianco opzionale (spazi, tabulazioni o
nuove righe) tra gli elementi lessicali nelle regole.
A globale la regola di riscrittura ha la forma:
GLOBAL { specifiche globali ... }
where specifiche globali è zero o più delle seguenti clausole:
HOSTNAME -> hostname
Modifica i record delle etichette in uscita Archivio PCP, in modo che le metriche
sembrano essere stati raccolti dall'ospite hostname.
ORARIO -> delta
Sia i valori metrici che i metadati del dominio di istanza in un archivio PCP trasportano
timestamp. Questa clausola impone che tutti i timestamp vengano modificati da deltaDurante la serata,
delta è un segno facoltativo ``+'' (predefinito) o ``-'', un numero facoltativo di
ore seguite da due punti ``:'', un numero facoltativo di minuti seguito da due punti
``:'', un numero di secondi, una frazione facoltativa di secondi dopo un punto
``.''. L'esempio più semplice sarebbe ``30'' per aumentare i timestamp di 30
secondi. Un esempio più complesso sarebbe ``-23:59:59.999'' per spostare i timestamp
indietro di un millisecondo in meno di un giorno.
TZ -> "fuso orario"
Modifica i record delle etichette in uscita Archivio PCP, in modo che le metriche
sembrano essere stati raccolti da un host con un fuso orario locale di fuso orario.
fuso orario deve essere racchiuso tra virgolette e deve essere conforme al fuso orario valido
regole di sintassi per la piattaforma locale.
An indom la regola di riscrittura modifica un dominio di istanza e ha la forma:
INDONESIA dominio.serial { indomspec ... }
where dominio e serial identificare uno o più domini di istanza esistenti da registro -
tipicamente dominio sarebbe un numero intero compreso tra 1 e 510 e serial sarebbe un numero intero
nell'intervallo da 0 a 4194304.
Come caso speciale serial potrebbe essere un asterisco ``*'' che significa che la regola si applica a tutti
dominio di istanza con un numero di dominio di dominio.
Se un dominio di istanza designato non è in registro la regola non ha effetto.
. indomspec è zero o più delle seguenti clausole:
NOMINO "vecchio nome" -> "nuovo nome"
L'istanza identificata dal nome dell'istanza esterna vecchio nome viene rinominato in
nuovo nome. Entrambi vecchio nome e nuovo nome devono essere racchiusi tra virgolette.
Come caso speciale, il nuovo nome potrebbe essere la parola chiave DELETE (senza virgolette), e
quindi l'istanza vecchio nome verrà cancellato da uscita che lo rimuove dal
metadati del dominio di istanza e rimuove tutti i valori di questa istanza per tutti i
metriche associate.
Se i nomi delle istanze contengono spazi incorporati, è necessario prestare particolare attenzione
presa in considerazione la regola di denominazione dell'istanza PCP che tratta il non spazio iniziale
parte del nome dell'istanza come porzione univoca del nome ai fini di
corrispondenza e garanzia di unicità all'interno di un dominio di istanza, fare riferimento a
Istanza pmda(3) per una discussione di questo problema.
A titolo esemplificativo, si consideri il dominio di istanza ipotetico per una metrica che
contiene 2 istanze con i seguenti nomi:
rosso
eek urk
Poi alcuni possibili NOMINO le clausole potrebbero essere:
"eek" -> "giallo come un fiore"
Accettabile, vecchio nome "eek" corrisponde all'istanza "eek urk".
"rosso" -> "eek"
errore, nuovo nome "eek" corrisponde all'istanza "eek urk" esistente.
"eek urk" -> "rosso di un'altra tonalità"
errore, nuovo nome "rosso di un'altra tonalità" corrisponde all'istanza "rosso" esistente.
INDONESIA -> nuovodominio.notiziario
Modifica i metadati per il dominio dell'istanza e ogni metrica associata al
dominio di istanza. Come caso speciale, notiziario potrebbe essere un asterisco ``*'' che
significa usare serial dal indom regola di riscrittura, anche se questo è più utile quando
serial è anche un asterisco. Quindi, per esempio:
indom 29.* { indom -> 109.* }
sposterà tutti i domini di istanza dal dominio 29 al dominio 109.
INDONESIA -> DUPLICARE nuovodominio.notiziario
Un caso speciale del precedente INDONESIA clausola in cui il dominio di istanza è un
copia duplicata del dominio.serial dominio di istanza dal indom regola di riscrittura,
e quindi tutte le regole di mappatura vengono applicate al copiato nuovodominio.notiziario esempio
dominio. Ciò è utile quando un PMDA è diviso e lo stesso dominio di istanza deve essere
essere replicato per dominio dominio e dominio nuovodominioQuindi, ad esempio, se il
metrica foo.one e foo.two sono entrambi definiti sul dominio di istanza 12.34 e
foo.two viene spostato su un altro PMDA utilizzando il dominio 27, quindi la seguente riscrittura
potrebbero essere utilizzate le seguenti regole:
indom 12.34 { indom -> duplicato 27.34 }
metrica foo.two { indom -> 27.34 pmid -> 27.*.* }
INST vecchio -> nuovo ID
L'istanza identificata dall'identificatore di istanza interno vecchio viene rinumerato in
nuovo ID. Entrambi vecchio e nuovo ID sono numeri interi compresi tra 0 e 231-1.
Come caso speciale, nuovo ID potrebbe essere la parola chiave DELETE e poi l'istanza vecchio
verrà cancellato da uscita che lo rimuove dai metadati del dominio dell'istanza
e rimuove tutti i valori di questa istanza per tutte le metriche associate.
A metrico la regola di riscrittura ha la forma:
METRIC metricid { specifica metrica ... }
where metricid identifica una o più metriche esistenti da registro utilizzando una metrica
nome o la codifica interna per il PMID di una metrica come dominio.gruppo.articolo. In quest'ultimo
caso, tipicamente dominio sarebbe un numero intero compreso tra 1 e 510, gruppo sarebbe un
intero compreso tra 0 e 4095, e articolo sarebbe un numero intero compreso tra 0 e 1023.
Come casi speciali articolo potrebbe essere un asterisco ``*'' che significa che la regola si applica a tutti
metrica con un numero di dominio di dominio e un numero di cluster di gruppo, o gruppo potrebbe essere
un asterisco che significa che la regola si applica a ogni metrica con un numero di dominio di dominio
e un numero di articolo di articolo, o entrambi gruppo e articolo potrebbero esserci degli asterischi e la regola si applica
a ogni metrica con un numero di dominio di dominio.
Se una metrica designata non è presente registro la regola non ha effetto.
. specifica metrica è zero o più delle seguenti clausole:
DELETE
La metrica è completamente rimossa da uscita, sia i metadati che tutti i valori in
i risultati vengono cancellati.
INDONESIA -> nuovodominio.notiziario [ scegliere ]
Modifica i metadati per cambiare il dominio dell'istanza per questa metrica. Il nuovo
il dominio di istanza deve esistere in uscita.
Facoltativo scegliere la clausola può essere utilizzata per selezionare un valore di input o calcolare un
valore aggregato dalle istanze in un risultato di input o assegnare un valore interno
identificatore di istanza a un singolo valore di output. Se no scegliere è specificata la clausola, la
il comportamento predefinito è quello di copiare tutti i valori di input da ciascun risultato di input a un output
risultato, tuttavia se il dominio dell'istanza di input è singolare (indom PM_INDOM_NULL)
quindi al valore di output deve essere assegnato un identificatore di istanza interno, che
è 0 per impostazione predefinita, a meno che non venga sovrascritto da un INST or NOMINO clausola come definita di seguito.
Le scelte per scegliere sono come segue:
USCITA PRIMO
scegli il valore della prima istanza da ogni risultato di input
USCITA ULTIMO scegli il valore dell'ultima istanza da ogni risultato di input
USCITA INST istigare
scegli il valore dell'istanza con identificatore di istanza interno
istigare da ogni risultato; la sequenza delle regole di riscrittura garantisce la
USCITA l'elaborazione avviene prima della rinumerazione dell'identificatore di istanza da
qualsiasi associato indom regola, quindi istigare dovrebbe essere uno degli interni
identificatori di istanza che appaiono in registro
USCITA NOMINO "Nome"
scegli il valore dell'istanza con Nome per la sua istanza esterna
nome da ogni risultato; la sequenza delle regole di riscrittura garantisce il
USCITA l'elaborazione avviene prima della ridenominazione dell'istanza da qualsiasi associata
indom regola, quindi Nome dovrebbe essere uno dei nomi delle istanze esterne che
appare in registro
USCITA MIN scegli il valore più piccolo in ogni risultato (il tipo di metrica deve essere numerico
e l'istanza di output sarà 0 per un dominio di istanza non singolare)
USCITA MAX scegli il valore più grande in ogni risultato (il tipo di metrica deve essere numerico
e l'istanza di output sarà 0 per un dominio di istanza non singolare)
USCITA SUM scegli la somma di tutti i valori in ogni risultato (il tipo di metrica deve essere
numerico e l'istanza di output sarà 0 per un'istanza non singolare
dominio)
USCITA AVG scegli la media di tutti i valori in ogni risultato (il tipo di metrica deve essere
numerico e l'istanza di output sarà 0 per un'istanza non singolare
dominio)
Se il dominio dell'istanza di input è singolare (indom PM_INDOM_NULL) quindi indipendente da
in qualsiasi scegliere specifiche, c'è al massimo un valore in ogni risultato di input e quindi
PRIMO, ULTIMO, MIN, MAX, SUM e AVG sono tutti equivalenti e l'istanza di output
l'identificatore sarà 0.
In generale è un errore specificare un'azione di riscrittura per gli stessi metadati o
valori dei risultati più di una volta, ad esempio più di uno INDONESIA clausola per lo stesso
dominio di istanza. L'unica eccezione è la possibile interazione tra INDONESIA
clausole nel indom e metrico regole. Ad esempio la metrica campione.bin is
definito sul dominio di istanza 29.2 in registro e quanto segue è accettabile
(anche se ridondante):
indom 29.* { indom -> 109.* }
campione metrico.bin { indom -> 109.2 }
Tuttavia quanto segue è un errore, perché il dominio dell'istanza per campione.bin ha
due definizioni contrastanti:
indom 29.* { indom -> 109.* }
campione metrico.bin { indom -> 123.2 }
INDONESIA -> NULL[ scegliere ]
La metrica (che deve essere stata precedentemente definita su un dominio di istanza) è
modificato per essere una metrica singolare. Ciò comporta una modifica dei metadati e
comprimendo tutti i risultati per questa metrica in modo che più valori diventino un unico valore.
Facoltativo scegliere parte della clausola definisce come un valore per ogni risultato
dovrebbe essere calcolato e segue le stesse regole descritte per il non-NULL
INDONESIA caso sopra.
In assenza di scegliere, l'impostazione predefinita è USCITA PRIMO.
NOME -> nuovo nome
Rinomina la metrica nei metadati dell'archivio PCP che supporta le prestazioni
Spazio dei nomi delle metriche (PMNS). nuovo nome non dovrebbe corrispondere a nessun nome esistente nel
PMNS dell'archivio e deve seguire le regole sintattiche per i nomi metrici validi come
delineato in pmns(5).
PMID -> nuovodominio.nuovo cluster.nuovo elemento
Modifica i metadati e i risultati per rinumerare il PMID della metrica. Come speciale
casi, nuovo cluster potrebbe essere un asterisco ``*'' che significa usare gruppo dal
metrico regola di riscrittura e/o articolo potrebbe essere un asterisco che significa usare articolo da
, il metrico regola di riscrittura. Questo è molto utile quando gruppo e / o articolo è altresì
un asterisco. Ad esempio:
metrica 30.*.* { pmid -> 123.*.* }
sposterà tutte le metriche dal dominio 30 al dominio 123.
SEM -> notiziario
Cambia la semantica della metrica. notiziario dovrebbe essere la parte XXX del nome di
Uno dei PM_SEM_XXX macro definite in O pmCercaDesc(3), ad esempio
CONTATORE da PM_TYPE_COUNTER.
Nessuna riscrittura del valore dei dati viene eseguita come risultato di SEM clausola, quindi il
l'utilità è limitata ai casi in cui è stata utilizzata una versione del PMDA associato
esportando una semantica errata per la metrica. pmlogreduce(1) può fornire un
alternativa nei casi in cui si desidera ricalcolare i valori dei risultati.
TIPO -> nuovo tipo
Cambia il tipo di metrica che altera i metadati e può cambiare il
codifica dei valori nei risultati. nuovo tipo dovrebbe essere la parte XXX del nome di uno
di PM_TYPE_XXX macro definite in O pmCercaDesc(3), ad esempio FLOAT
da PM_TYPE_FLOAT.
La conversione del tipo è supportata solo nei casi in cui il tipo di metrica vecchio e nuovo è
numerico, quindi PM_TYPE_STRING, PM_TYPE_AGGREGATE e PM_TYPE_EVENT non sono consentiti.
Anche per i casi numerici, alcune conversioni possono produrre errori di runtime, ad esempio
overflow di interi o tentativo di riscrivere un valore negativo in un tipo senza segno.
UNITA ' -> nuove unità [ RIDIMENSIONAMENTO ]
nuove unità è composto da sei valori separati da virgole. I primi 3 valori descrivono il
dimensione della metrica lungo le dimensioni dello spazio, del tempo e del conteggio; queste sono
valori interi, solitamente 0, 1 o -1. I restanti 3 valori descrivono la scala di
i valori della metrica nelle dimensioni di spazio, tempo e conteggio. Scala spaziale
i valori dovrebbero essere 0 (se la dimensione dello spazio è 0), altrimenti la parte XXX del nome di
Uno dei PM_SPACE_XXX macro, ad esempio KBYTE da PM_TYPE_KBYTEValori della scala temporale
dovrebbe essere 0 (se la dimensione temporale è 0), altrimenti la parte XXX del nome di uno dei
, il PM_TIME_XXX macro, ad esempio SEC da PM_TIME_SECI valori della scala di conteggio dovrebbero essere 0
(se la dimensione temporale è 0), altrimenti ONE da PM_COUNT_ONE.
. PM_SPACE_XXX, PM_TIME_XXX e PM_COUNT_XXX le macro sono definite in
or pmCercaDesc(3).
Quando la scala viene modificata (ma la dimensione rimane inalterata) la parola chiave facoltativa
RIDIMENSIONAMENTO può essere utilizzato per scegliere il ridimensionamento del valore secondo -s opzione della riga di comando,
ma applicato solo a questa metrica.
Quando si modifica il numero di dominio per un dominio metrico o di istanza, il nuovo numero di dominio
di solito corrisponde al numero di dominio di un PMDA esistente. In caso contrario,
il nuovo numero di dominio non dovrebbe essere scelto a caso; consultare $PCP_VAR_DIR/pmns/stdpmid
per i numeri di dominio già assegnati ai PMDA.
ESEMPI
Per promuovere i valori delle metriche IOPS per disco a 64 bit per consentire l'aggregazione su un
lungo periodo di tempo per la pianificazione della capacità, o perché il PMDA è cambiato per esportare 64 bit
contatori e vogliamo convertire i vecchi archivi in modo che possano essere elaborati insieme ai nuovi
archivi.
metric disk.dev.read { tipo -> U64 }
metrica disk.dev.write { tipo -> U64 }
metric disk.dev.total { tipo -> U64 }
Le istanze associate alla metrica del carico medio kernel.all.load potrebbe essere rinominato e
rinumerati secondo le regole sottostanti.
# per il PMDA Linux, è definita la metrica kernel.all.load
# su dominio di istanza 60.2
indom 60.2 {
inst 1 -> 60 iname "1 minuto" -> "60 secondi"
inst 5 -> 300 iname "5 minuto" -> "300 secondi"
inst 15 -> 900 iname "15 minuto" -> "900 secondi"
}
Se decidiamo di separare le metriche ``proc'' dal PMDA Linux, ciò comporterà
modificando il numero di dominio per il PMID di queste metriche e l'istanza associata
domini. Le regole seguenti riscriverebbero un vecchio archivio per adattarlo alle modifiche apportate dopo il PMDA
Diviso.
# tutte le metriche proc Linux sono in 7 cluster
metrica 60.8.* { pmid -> 123.*.* }
metrica 60.9.* { pmid -> 123.*.* }
metrica 60.13.* { pmid -> 123.*.* }
metrica 60.24.* { pmid -> 123.*.* }
metrica 60.31.* { pmid -> 123.*.* }
metrica 60.32.* { pmid -> 123.*.* }
metrica 60.51.* { pmid -> 123.*.* }
# solo un dominio di istanza per le metriche proc Linux
indom 60.9 { indom -> 123.0 }
Utilizzare pmlogrewrite online utilizzando i servizi onworks.net