Dies ist der Befehl pmdabash, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
pmdabash - Bourne-Again SHell-Trace-Leistungsmetrik-Domänenagent
ZUSAMMENFASSUNG
$PCP_PMDAS_DIR/bash/pmdabash [-C] [-d Domain] [-l Logdatei] [-I Intervall] [-t Timeout] [-U
Benutzername] Konfigurationsdatei
BESCHREIBUNG
pmdabash ist ein experimenteller Performance Metrics Domain Agent (PMDA), der „xtrace“ exportiert.
Ereignisse aus einer verfolgten bash(1) Prozess. Dazu gehören die Informationen zur Befehlsausführung
das würde normalerweise mit dem Standardfehler gesendet werden kompensieren -x Option zur Shell.
Ereignismetriken werden exportiert und zeigen jeden ausgeführten Befehl, den Funktionsnamen und die Zeile an
Nummer im Skript und einen Zeitstempel. Zusätzlich die Prozesskennung für die Shell
und sein übergeordneter Prozess werden exportiert.
Dafür braucht man bash Version 4 oder höher.
Eine kurze Beschreibung der pmdabash Befehlszeilenoptionen folgen:
-d Es ist absolut entscheidend, dass die Leistungskennzahlen Domain hier angegebene Nummer ist
einzigartig und konsequent. Das ist, Domain sollte zum einen für jedes PMDA anders sein
Gastgeber, und das gleiche Domain sollte auf allen Hosts für denselben PMDA verwendet werden.
-l Speicherort der Protokolldatei. Standardmäßig wird eine Protokolldatei namens bash.log ist in der geschrieben
aktuelles Verzeichnis von pmcd(1) wenn pmdabash wird gestartet, dh $PCP_LOG_DIR/pmcd. Wenn
die Log-Datei kann nicht erstellt werden oder ist nicht beschreibbar, Ausgabe wird in den Standard geschrieben
Fehler statt.
-s Zeitspanne (in Sekunden) zwischen aufeinanderfolgenden Auswertungen der Shell-Trace-Datei
Deskriptor(en). Der Standardwert beträgt 2 Sekunden.
-m Maximal zulässige Speichermenge für jede Ereigniswarteschlange (eine pro verfolgtem Prozess).
Der Standardwert ist 2 Megabyte.
-U Benutzerkonto, unter dem der Agent ausgeführt werden soll. Der Standard ist das nicht privilegierte "pcp"
Konto in aktuellen Versionen von PCP, aber in älteren Versionen das Superuser-Konto
("root") wurde standardmäßig verwendet.
INSTALLATION
Damit ein Host die Namen, Hilfetexte und Werte für die Bash-Leistung exportieren kann
Um Metriken anzuzeigen, gehen Sie als Root wie folgt vor:
# cd $PCP_PMDAS_DIR/bash
# ./Installieren
Sobald ein instrumentiertes Shell-Skript (siehe Auswahl INSTRUMENTATION unten) ausgeführt wird, mit
Wenn die Ablaufverfolgung aktiviert ist, werden neue Metrikwerte angezeigt – es ist keine weitere Einrichtung des Agenten erforderlich
erforderlich.
Wenn Sie die Installation rückgängig machen möchten, gehen Sie als Root wie folgt vor:
# cd $PCP_PMDAS_DIR/bash
# ./Entfernen
pmdabash wird ins Leben gerufen von pmcd(1) und sollte niemals direkt ausgeführt werden. Die Installation und
Skripte entfernen benachrichtigen pmcd(1) wenn der Agent installiert oder entfernt wird.
INSTRUMENTE
Um den Fluss von Ereignisdaten zwischen a bash(1) Skript und pmdabash, das Skript
sollte folgende Maßnahmen ergreifen:
#!/ Bin / sh
Quelle $PCP_DIR/etc/pcp.sh
pcp_trace on $@ # Tracing aktivieren
echo „wach, $count“
pcp_trace off # Tracing deaktivieren
Die Ablaufverfolgung kann durch das Skript beliebig oft aktiviert und deaktiviert werden. Auf erfolgreich
Nach der Installation des Agenten sind mehrere Metriken verfügbar:
$ pminfo bash
bash.xtrace.numclients
bash.xtrace.maxmem
bash.xtrace.queuemem
bash.xtrace.count
bash.xtrace.records
bash.xtrace.parameters.pid
bash.xtrace.parameters.parent
bash.xtrace.parameters.lineno
bash.xtrace.parameters.function
bash.xtrace.parameters.command
Wenn ein instrumentiertes Skript ausgeführt wird, kann die Generierung von Ereignisdatensätzen überprüft werden
Verwendung der pmevent(1) Befehl wie folgt:
$ pmevent -t 1 -x '' bash.xtrace.records
Host: lokaler Host
Proben: alle
bash.xtrace.records["4538 ./test-trace.sh 1 2 3"]: 5 Ereignisdatensätze
10:00:05.000 --- Ereignisdatensatz [0] Flags 0x19 (Punkt, ID, übergeordnetes Element) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 43
bash.xtrace.parameters.command „true“
10:00:05.000 --- Ereignisdatensatz [1] Flags 0x19 (Punkt, ID, übergeordnetes Element) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 45
bash.xtrace.parameters.command „(( count++ ))“
10:00:05.000 --- Ereignisdatensatz [2] Flags 0x19 (Punkt, ID, übergeordnetes Element) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 46
bash.xtrace.parameters.command „echo 'awoke, 3'“
10:00:05.000 --- Ereignisdatensatz [3] Flags 0x19 (Punkt, ID, übergeordnetes Element) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 47
bash.xtrace.parameters.command „müde 2“
10:00:05.000 --- Ereignisdatensatz [4] Flags 0x19 (Punkt, ID, übergeordnetes Element) ---
bash.xtrace.parameters.pid 4538
bash.xtrace.parameters.parent 4432
bash.xtrace.parameters.lineno 38
bash.xtrace.parameters.function „müde“
bash.xtrace.parameters.command „sleep 2“
Verwenden Sie pmdabash online über die Dienste von onworks.net