pmdaweblog(1)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök

pmdaweblog(1)

NAMN

pmdaweblog - Performance Metrics Domain Agent, PMDA, för webbserverloggar

SYNOPSIS

$PCP_PMDAS_DIR/weblog/pmdaweblog [-Cp] [-D debug] [-d domän]
      [-h hjälpfil] [-i port] [-l loggfil] [-n vilosekunder]
      [-S antal] [-t fördröjning] [-u socket] [-U användarnamn]
      konfigurationsfil

BESKRIVNING

pmdaweblog är en Performance Metrics Domain Agent, PMDA(3), som söker igenom webbserverloggar för att extrahera mått som beskriver webbserveraktivitet. Dessa prestandamått görs sedan tillgängliga via infrastrukturen Performance Co-Pilot, PCP.

konfigurationsfil anger vilka webbservrar som ska övervakas, deras tillhörande åtkomstloggar och felloggar, samt ett reguljärt uttrycksbaserat schema för att extrahera detaljerad information om varje webbåtkomst.

Denna fil underhålls som en del av installationen och/eller avinstallationen av PMDA:n genom skripten Install och Remove i katalogen $PCP_PMDAS_DIR/weblog. Mer information finns i avsnittet om installation nedan.

När pmdaweblog har startats övervakar den en uppsättning loggfiler. Som svar på en begäran om information behandlas all ny information som har lagts till i loggfilerna, på liknande sätt som tail(1). Det finns också en periodisk ”ikappkörning” för att behandla ny information från alla loggfiler, samt ett system för att upptäcka rotation av loggfiler.

Liksom alla andra PMDA:er startas pmdaweblog av pmcd(1), med kommandoradsalternativ som anges i $PCP_PMCDCONF_PATH. Skriptet Install frågar efter lämpliga värden för kommandoradsalternativen och uppdaterar $PCP_PMCDCONF_PATH.

En kort beskrivning av kommandoradsalternativen för pmdaweblog följer:

-C

Kontrollera konfigurationen och avsluta.

-d domän

Ange domännumret. Det är helt avgörande att det angivna domännumret för prestandamåtten är unikt och konsekvent. Det innebär att domän ska vara annorlunda för varje PMDA på en och samma värd, och att samma domännummer ska användas för PMDA:n pmdaweblog på alla värdar.

För de flesta installationer räcker standarddomänen som finns inkapslad i filen:

$PCP_PMDAS_DIR/weblog/domain.h

För alternativa värden, kontrollera $PCP_PMCDCONF_PATH för att se vilka domänvärden som redan används på denna värd. Filen:

$PCP_VAR_DIR/pmns/stdpmid

innehåller dessutom ett förråd av ”välkända” tilldelningar av domän, som sannolikt bör undvikas.

-h hjälpfil

Hämta hjälptexten från den angivna hjälpfilen i stället för från standardplatsen.

-i port

Kommunicera med pmcd(1) på den angivna Internet-porten, som kan vara ett nummer eller ett namn.

-l loggfil

Plats för loggfilen. Som standard skrivs en loggfil med namnet weblog.log i den aktuella katalogen för pmcd(1) när pmdaweblog startas, det vill säga:

$PCP_LOG_DIR/pmcd

Om loggfilen inte kan skapas eller inte är skrivbar skrivs utdata till standardfel i stället.

-n vilosekunder

Om en loggfil för en webbserver inte har ändrats på vilosekunder sekunder kommer filen att stängas och öppnas på nytt. Detta är det enda sättet för pmdaweblog att upptäcka asynkron rotation av loggarna genom webbserverns administrativa skript.

Standardperioden är 20 sekunder. Detta värde kan ändras dynamiskt med pmstore(1) genom att ändra värdet för prestandamåttet:

web.config.check

-p

Kommunicera med pmcd(1) via ett rör.

-S antal

Ange det maximala antalet webbservrar per sproc. Det kan vara önskvärt, ur ett latens- och lastbalanseringsperspektiv, eller nödvändigt, på grund av begränsningar för filbeskrivare, att delegera ansvaret för genomsökning av webbserverloggar till flera sprocs.

pmdaweblog ser till att varje sproc hanterar loggfilerna för högst antal webbservrar. Standardvärdet är 80 webbservrar per sproc.

-t fördröjning

För att undvika behovet av att söka igenom stora mängder information från webbserverloggarna som svar på en enda begäran om prestandamått kontrolleras alla loggfiler minst en gång var fördröjning:e sekund.

Standardvärdet är 15 sekunder. Detta värde kan ändras dynamiskt med pmstore(1) genom att ändra värdet för prestandamåttet:

web.config.catchup

-u socket

Kommunicera med pmcd(1) via den angivna Unix-domänsocketen.

-U användarnamn

Användarkonto som agenten ska köras under. Standard är det opriviligierade kontot ”pcp” i nuvarande versioner av PCP, men i äldre versioner användes superanvändarkontot, ”root”, som standard.

INSTALLATION

PCP-ramverket tillåter att mått samlas in på en värd och övervakas från en annan. Dessa värdar kallas insamlingsvärd respektive övervakningsvärd. En värd kan vara både insamlingsvärd och övervakningsvärd.

Insamlingsvärdar kräver installation av agenten, medan övervakningsvärdar inte kräver någon agentinstallation alls.

För insamlingsvärdar, gör följande som root:

# cd $PCP_PMDAS_DIR/weblog
# ./Install

Installationsproceduren frågar efter en standardinstallation eller en icke-standardinstallation. En standardinstallation söker efter kända serverkonfigurationer och konfigurerar automatiskt PMDA:n för alla serverloggfiler som hittas.

En icke-standardinstallation går igenom varje server och frågar användaren efter andra serverkonfigurationer och argument till pmdaweblog. Slutresultatet av en installation på en insamlingsvärd är att en konfigurationsfil byggs upp och skickas till pmdaweblog via argumentet konfigurationsfil.

Om du vill ångra installationen, gör följande som root:

# cd $PCP_PMDAS_DIR/weblog
# ./Remove

pmdaweblog startas av pmcd(1) och ska aldrig köras direkt. Skripten Install och Remove meddelar pmcd(1) när agenten installeras eller tas bort.

KONFIGURATION

Konfigurationsfilen för weblog-PMDA:n är en ASCII-fil som enkelt kan ändras. Tomma rader och rader som börjar med # ignoreras. Alla andra rader måste antingen vara ett reguljärt uttryck eller en serverspecifikation.

Reguljära uttryck, som används på både åtkomstloggar och felloggar, måste ha formen:

regex regexNamn reguljärt_uttryck

eller:

regex_posix regexNamn ordning posix_reguljärt_uttryck

regexNamn är ett ord som unikt identifierar det reguljära uttrycket. Detta är referensen som används i serverspecifikationen.

reguljärt_uttryck för åtkomstloggar har formatet som beskrivs för regcmp(3). posix_reguljärt_uttryck för åtkomstloggar har formatet som beskrivs för regcomp(3). Argumentet ordning förklaras nedan. POSIX-formen bör vara tillgänglig på alla plattformar.

Det reguljära uttrycket kräver specifikation av upp till fyra argument som ska extraheras från varje rad i en webbservers åtkomstlogg, beroende på servertyp. I det vanligaste fallet finns två argument som representerar metoden och storleken.

För icke-POSIX-versionen ska argumentet $0 innehålla metoden:

GET
HEAD
POST
PUT

Metoden PUT behandlas som synonym till POST, och allt annat kategoriseras som OTHER.

Det andra argumentet, $1, ska innehålla storleken på begäran. En storlek på - eller ett blankt värde behandlas som okänd.

Argumentet $3 ska innehålla statuskoden som returnerades till klientens webbläsare, och argumentet $4 ska innehålla statuskoden som returnerades till servern från en fjärrvärd. Dessa två senare argument används för cachningsservrar och måste anges som ett par, annars ignoreras $3.

För mer information om statuskoder, se webbplatsen:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Några giltiga icke-POSIX-specifikationer med reguljära uttryck för övervakning av en åtkomstlogg är:

# mönster för CERN-, NCSA-, Netscape- osv. åtkomstloggar
regex CERN ] "([A-Za-z][-A-Za-z]+)$0 .*" [-0-9]+ ([-0-9]+)$1

# mönster för FTP-serverns åtkomstloggar, normalt i SYSLOG
regex SYSLOG_FTP ftpd[.*]: ([gp][-A-Za-z]+)$0( )$1

Det finns en särskild typ av åtkomstloggar med RegexName SQUID. Detta format extraherar fyra parametrar, men eftersom loggfilen från Squid använder textbaserade statuskoder hanteras den som ett specialfall.

I exemplen nedan tolkar NS_PROXY Netscape/W3C:s Common Extended Log Format, och SQUID tolkar standardformatet för loggfiler från Squid Object Cache.

# mönster för Netscape Proxy Server Extended Logs
regex NS_PROXY ] "([A-Za-z][-A-Za-z]+)$0 .*" ([-0-9]+)$2 \
     ([-0-9]+)$1 ([-0-9]+)$3

# mönster för Squid Cache-loggar
regex SQUID [0-9]+.[0-9]+[ ]+[0-9]+ [a-zA-Z0-9.]+ \
     ([_A-Z]+)$3([0-9]+)$2 ([0-9]+)$1 ([A-Z]+)$0

reguljärt_uttryck för felloggar kräver inga argument, endast en matchning. Några giltiga uttryck är:

# mönster för CERN-, NCSA-, Netscape- osv. felloggar
regex CERN_err .

# mönster för FTP-serverns felloggar, normalt i SYSLOG
regex SYSLOG_FTP_err FTP LOGIN FAILED

Om POSIX-kompatibla reguljära uttryck används krävs ytterligare information, eftersom ordningen på parametrarna inte kan anges i det reguljära uttrycket. För bakåtkompatibilitet kan det vanliga fallet med två parametrar anges som:

method,size

eller:

size,method

I det allmänna fallet anges ordningen med någon av följande metoder:

n1,n2,n3,n4

Där nX är en siffra mellan 1 och 4. Varje kommaseparerat fält representerar, i ordning, argumentnumret för:

method,size,client_status,server_status

-

Används för fall som felloggar där innehållet ignoreras.

Precis som för icke-POSIX-formatet behandlas SQUID som RegexName som ett specialfall för att matcha icke-numeriska statuskoder.

Några giltiga POSIX-specifikationer med reguljära uttryck för övervakning av en åtkomstlogg är:

# mönster för CERN-, NCSA-, Netscape-, Apache- osv. åtkomstloggar
regex_posix CERN method,size ][ \]+"([A-Za-z][-A-Za-z]+) \
     [^"]*" [-0-9]+ ([-0-9]+)

# mönster för CERN-, NCSA-, Netscape-, Apache- osv. åtkomstloggar
regex_posix CERN 1,2 ][ \]+"([A-Za-z][-A-Za-z]+) \
     [^"]*" [-0-9]+ ([-0-9]+)

# mönster för FTP-serverns åtkomstloggar, normalt i SYSLOG
regex_posix SYSLOG_FTP method,size ftpd[.*]: \
     ([gp][-A-Za-z]+)( )

# mönster för Netscape Proxy Server Extended Logs
regex_posix NS_PROXY 1,3,2,4 ][ ]+"([A-Za-z][-A-Za-z]+) \
     [^"]*" ([-0-9]+) ([-0-9]+) ([-0-9]+)

# mönster för Squid Cache-loggar
regex_posix SQUID 4,3,2,1 [0-9]+.[0-9]+[ ]+[0-9]+ \
     [a-zA-Z0-9.]+ ([_A-Z]+)([0-9]+) ([0-9]+) ([A-Z]+)

# mönster för CERN-, NCSA-, Netscape- osv. felloggar
regex_posix CERN_err - .

# mönster för FTP-serverns felloggar, normalt i SYSLOG
regex_posix SYSLOG_FTP_err - FTP LOGIN FAILED

En webbserver kan anges med följande syntax:

server serverNamn on|off accessRegex accessFil errorRegex errorFil

serverNamn måste vara unikt för varje server och är det namn som ges till instansen för de tillhörande prestandamåtten. Se PMAPI(3) för en diskussion om PCP-instansdomäner.

Flaggan on eller off anger om servern ska övervakas när PMDA:n installeras. Detta kan ändras dynamiskt med pmstore(1) för måttet:

web.perserver.watched

Detta mått har en instans för varje webbserver som namnges i konfigurationsfil.

Två filer övervakas för varje webbserver: åtkomstloggen och felloggen. Varje fil kräver namnet på ett tidigare deklarerat reguljärt uttryck och ett filnamn.

Loggfilerna som anges för varje server behöver inte finnas när weblog-PMDA:n installeras. PMDA:n fortsätter att kontrollera om saknade loggfiler finns och öppnar dem när det är möjligt.

Några giltiga serverspecifikationer är:

# Netscape-server på port 80 vid IP-adressen 127.55.555.555
server 127.55.555.555:80 on CERN /logs/access CERN_err /logs/errors

# FTP-server
server ftpd on SYSLOG_FTP /var/log/messages SYSLOG_FTP_err /var/log/messages

VARNINGAR

Att ange reguljära uttryck med fel antal argument, något annat än 2 för åtkomstloggar och inga argument för felloggar, kan göra att PMDA:n beter sig felaktigt och till och med kraschar. Detta beror på begränsningar i gränssnittet för regex(3).

FILER

$PCP_PMDAS_DIR/weblog

Installationskatalog för weblog-PMDA:n.

$PCP_PMDAS_DIR/weblog/Install

Installationsskript för weblog-PMDA:n.

$PCP_PMDAS_DIR/weblog/Remove

Avinstallationsskript för weblog-PMDA:n.

$PCP_LOG_DIR/pmcd/weblog.log

Standardloggfil för felrapportering.

$PCP_PMCDCONF_PATH

Konfigurationsfil för pmcd som anger de kommandoradsalternativ som ska användas när pmdaweblog startas.

$PCP_LOG_DIR/NOTICES

Logg över PMDA-installationer och borttagningar.

$PCP_VAR_DIR/config/web/weblog.conf

Trolig plats för konfigurationsfilen för weblog-PMDA:n.

$PCP_DOC_DIR/pcpweb/index.html

HTML-dokumentationen online för PCPWEB.

PCP-MILJÖ

Miljövariabler med prefixet PCP_ används för att parametrisera fil- och katalognamn som används av PCP. På varje installation innehåller filen /etc/pcp.conf de lokala värdena för dessa variabler.

Variabeln $PCP_CONF kan användas för att ange en alternativ konfigurationsfil, enligt beskrivningen i pcp.conf(5).

FELSÖKNINGSALTERNATIV

Alternativet -D eller --debug aktiverar utskrift av ytterligare diagnostik på stderr för att hjälpa till vid felsökning. Informationen är dock ibland kryptisk och främst avsedd att ge vägledning till utvecklare snarare än slutanvändare.

debug är en kommaseparerad lista över felsökningsalternativ. Använd pmdbg(1) med alternativet -l för att få en lista över tillgängliga felsökningsalternativ och deras betydelse.

Felsökningsalternativ som är specifika för pmdaweblog är följande:

Alternativ Beskrivning
appl0 Initiering, tolkning av konfigurationsfil och behandling av loggfiler.
appl1 Timeråtgärder och sondering av loggfiler.
appl2 IPC med arbetsprocesser och behandlade loggrader.

SE ÄVEN

pmcd(1), pmchart(1), pmdawebping(1), pminfo(1), pmstore(1), pmview(1), tail(1), weblogvis(1), webvis(1), PMAPI(3), PMDA(3) och regcmp(3).

COLOPHON

Denna sida är en del av projektet PCP, Performance Co-Pilot. Information om projektet finns på:

http://www.pcp.io/

Om du har en felrapport för denna manualsida, skicka den till:

pcp@groups.io

Denna sida hämtades från projektets uppströms Git-arkiv:


https://github.com/performancecopilot/pcp.git

Sidan hämtades den 16 januari 2026. Vid den tidpunkten var datumet för den senaste hittade committen i arkivet också 16 januari 2026.

Om du upptäcker renderingsproblem i denna HTML-version av sidan, anser att det finns en bättre eller mer aktuell källa för sidan, eller har rättelser eller förbättringar av informationen i detta COLOPHON, som inte är en del av den ursprungliga manualsidan, skicka e-post till:

man-pages@man7.org

Sidor som hänvisar till denna sida

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/pmdaweblog.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp hemma som har sponsrat Linux.se med webbhotell.