Referencias
Introducción a las métricas de apache – https://www.datadoghq.com/blog/monitoring-apache-web-server-performance/
Habilitar las métricas de apache – https://www.datadoghq.com/blog/collect-apache-performance-metrics/#apaches-status-module
Configurar Datadog – https://www.datadoghq.com/blog/monitor-apache-web-server-datadog/
—————-
Configure Apache to send metrics
Habilitar el server status online en apache:
vi /etc/apache2/mods-enabled/status.conf
Checkeamos integridad de la configuración:
apachectl configtest
graceful restart:
service apache2 graceful
Comprobamos con una IP propia para chequear el server-status online:
Chequeamos que tenemos las métricas propias de la configuración extendida (necesarias para monitorizar con datadog):
- total accesses/hits
- total kBytes served
- CPU load
- uptime
- requests per sec
- bytes per sec
- bytes per request
Una vez lo confirmamos (en la captura anterior se visualizan) podemos retirar la IP para monitorizar el server-status de nuevo:
vi /etc/apache2/mods-enabled/status.conf
service apache2 graceful
Install the Datadog Agent
Instalación básica del agente: https://app.datadoghq.eu/account/settings?agent_version=6#agent/ubuntu (cuidado, la versión 7 sólo soporta Python 3, por éso enlazo la 6 que no es la última)
Localizo el fichero de configuración de apache por defecto en datadog:
cd /etc/datadog-agent/conf.d/apache.d/
Situados en ese directorio copiamos conf.yaml.example en conf.yaml
cp conf.yaml.example conf.yaml
Editamos conf.yaml para confirmar que está obteniendo los datos del server-status local:
vi conf.yaml
Modificamos la siguiente línea para no tener problemas en la evaluación de certificado por localhost:
- apache_status_url: http://HOST.athento.com/server-status?auto
Reiniciamos el agente:
sudo service datadog-agent restart
Posteriormente vamos a Datadog y buscamos Apache en la sección Integrations:
https://app.datadoghq.eu/account/settings
Hacemos click donde pone «Available» (cambia en mouse over a Install application). Después vamos al tab Configuration:
Abajo del todo (scroll down) click en «Install integration»:
Ejecutamos el siguiente comando para comprobar que estamos monitorizando correctamente apache:
datadog-agent status
Localizamos apache:
Si hubiera algún error lo localizaríamos ahí. Típicamente errores de sintaxis en el fichero de configuración.
En el Infraestructure Map de Datadog debemos tener el nuevo servicio de datadog asociado al host:
https://app.datadoghq.eu/infrastructure/map
Si hacemos click en apache vemos una serie de dashboards prestablecidos:
Tenemos también el dashboard por defecto de Apache:
https://app.datadoghq.eu/screen/integration/54/apache—overview
Incluir en la monitorización Logs de Apache
Editamos el fichero de configuración de apache:
/etc/datadog-agent/conf.d/apache.d/conf.yaml
Para incluir los logs de athentose-error.log y athentose-access.log
logs:
- type: file
path: /var/log/apache2/athentose-access.log
source: apache
service: apache_gob_test
sourcecategory: http_web_access
- type: file
path: /var/log/apache2/athentose-error.log
source: apache
service: apache_gob_test
sourcecategory: http_web_access
NOTA: Cuidado con los permisos. El usuario dd-agent tiene que tener acceso al fichero de log, de lo contrario no lo encontrará. En nuestro caso, hemos tenido que meter al usuario dd-agent dentro del grupo que tenga permiso sobre la carpeta /var/log/apache2, y previamente, a la carpeta de /var/log/apache2 de forma recursiva, le hemos dado al usuario nuxeo o athentose según corresponda.
Habilitamos los logs en el agente:
vi /etc/datadog-agent/datadog.yaml
Hacemos restart del agente:
sudo service datadog-agent restart
Después ejecutamos el status para confirmar que ha localizado correctamente los ficheros de logs:
datadog-agent status
Tenemos que ver unas líneas similares a éstas:
En la sección de Logs Livetail de Datadog debemos comenzar a obtener logs: