Servidor da Web Apache (httpd)

O servidor da Web Apache (httpd) é um servidor da Web amplamente usado em diversos sistemas operacionais. Para saber mais informações, visite http://httpd.apache.org/.

Pré-requisitos

Para coletar a telemetria do servidor da Web Apache, instale o agente de operações versão 2.7.0 ou mais recente.

Esse receptor é compatível com a versão 2.4 do servidor da Web Apache.

Configurar a instância do servidor da Web Apache

Para coletar a telemetria do seu servidor da Web Apache, configure o arquivo httpd.conf do servidor para ativar o plug-in mod_status.

Muitas instalações do Apache ativam esse plug-in por padrão. Para ver se o plug-in está ativado na instância de VM, execute:

curl localhost:80/server-status?auto

Se o plug-in estiver ativado, a saída incluirá linhas semelhantes às seguintes:

Total Accesses: 2
Total kBytes: 1
BusyWorkers: 1
IdleWorkers: 4

Se você receber uma página 404 Not Found, isso significa que o plug-in mod_status não está ativado.

Configure o agente de operações para o servidor da Web Apache

Seguindo o guia para Configurar o agente de operações, adicione os elementos necessários para coletar registros de instâncias do servidor da Web Apache e reinicie o agente.

Exemplo de configuração

O comando a seguir cria a configuração para coletar e ingerir registros e métricas do Apache Web Server e reinicia o agente de operações no Linux.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    apache_access:
      type: apache_access
    apache_error:
      type: apache_error
  service:
    pipelines:
      apache:
        receivers:
        - apache_access
        - apache_error
metrics:
  receivers:
    apache:
      type: apache
      server_status_url: http://localhost:80/server-status?auto
      collection_interval: 30s
  service:
    pipelines:
      apache:
        receivers:
        - apache
EOF
sudo service google-cloud-ops-agent restart

Configurar a coleta de registros

Para ingerir registros do Apache Web Server, é preciso criar receptores para os registros que o Apache Web Server produz e, em seguida, criar um pipeline para os novos receptores. Para configurar um receptor para os registros , especifique os seguintes campos:

apache_accessPara configurar um receptor para os registros , especifique os seguintes campos:

Campo Padrão Descrição
type Este valor precisa ser apache_access.
include_paths [/var/log/apache2/access.log,/var/log/apache2/access_log,/var/log/httpd/access_log] Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada arquivo. Um caractere curinga (*) pode ser usado nos caminhos. por exemplo, /var/log/apache*/*.log.
exclude_paths [] Uma lista de padrões de caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths.

apache_errorPara configurar um receptor para os registros , especifique os seguintes campos:

Campo Padrão Descrição
type Este valor precisa ser apache_error.
include_paths [/var/log/apache2/error.log,/var/log/apache2/error_log,/var/log/httpd/error_log] Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada arquivo. Um caractere curinga (*) pode ser usado nos caminhos. por exemplo, /var/log/apache*/*.log.
exclude_paths [] Uma lista de padrões de caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths.

O que é registrado

Os registros logName de apache_access e apache_error são derivados dos IDs do receptor especificados na configuração. Os campos detalhados dentro de LogEntry são os seguintes.

Os registros apache_access contêm o campo httpRequest:

Campo Tipo Descrição
httpRequest.protocol string Protocolo usado para a solicitação
httpRequest.referer string Conteúdo do cabeçalho Referer
httpRequest.requestMethod string Método HTTP
httpRequest.requestUrl string URL da solicitação (normalmente apenas a parte do caminho do URL)
httpRequest.responseSize string (int64) Tamanho da resposta
httpRequest.status número Código de status HTTP
httpRequest.userAgent string Conteúdo do cabeçalho User-Agent
jsonPayload.host string Conteúdo do cabeçalho Host
jsonPayload.user string Nome de usuário autenticado da solicitação
timestamp string (Timestamp) Hora em que a solicitação foi recebida

As entradas de registro não contêm campos em branco ou ausentes.

Os registros
apache_error contêm os seguintes campos no LogEntry:

Campo Tipo Descrição
jsonPayload.errorCode string Código de erro do Apache
jsonPayload.level string Nível de entrada de registro
jsonPayload.module string Módulo do Apache em que o registro foi originado
jsonPayload.pid número ID do processo
jsonPayload.tid número ID da conversa
jsonPayload.message string Mensagem de registro
jsonPayload.client string Endereço IP do cliente (opcional)
severity string (LogSeverity) Nível de entrada de registro (traduzido)
timestamp string (Timestamp) Hora em que a entrada foi registrada

Configurar a coleta de métricas

Para coletar métricas do Servidor da web Apache, você precisa criar um receptor para as métricas do Apache e, em seguida, criar um pipeline para o novo receptor. Para configurar um receptor para suas métricas do Cassandra, especifique os campos a seguir:

Campo Padrão Descrição
type Este valor precisa ser apache.
server_status_url http://localhost:8080/server-status?auto O URL exposto pelo módulo mod_status.
collection_interval 60s Um valor de time.Duration, como 30s ou 5m.

O que é monitorado?

A tabela a seguir fornece a lista de métricas que o agente de operações coleta da instância do servidor da Web Apache.

Tipo de métrica 
Tipo, tipo
Recursos monitorados
Rótulos
workload.googleapis.com/apache.current_connections
GAUGEINT64
gce_instance
server_name
workload.googleapis.com/apache.requests
CUMULATIVEINT64
gce_instance
server_name
workload.googleapis.com/apache.scoreboard
GAUGEINT64
gce_instance
state
server_name
workload.googleapis.com/apache.traffic
CUMULATIVEINT64
gce_instance
server_name
workload.googleapis.com/apache.workers
GAUGEINT64
gce_instance
state
server_name

Verificar a configuração

É possível usar o Explorador de registros e o Metrics Explorer para verificar se você configurou corretamente o receptor do servidor da Web Apache. Pode levar um ou dois minutos para que o agente de operações comece a coletar registros e métricas.

Para verificar se os registros foram ingeridos, acesse o Explorador de registros e execute a seguinte consulta para ver os registros do servidor da Web Apache:

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/apache_access" OR "projects/PROJECT_ID/logs/apache_error")


Para verificar se as métricas são ingeridas, acesse o Metrics Explorer e execute a seguinte consulta na guia do MQL.

fetch gce_instance
| metric 'workload.googleapis.com/apache.requests'
| align rate(1m)
| every 1m