Hoy vamos a ver cómo monitorear remotamente una instancia de PostgreSQL utilizando Newrelic
Esta tarea no lleva mayores inconvenientes si seguimos los pasos descriptos en la pagina del proveedor del plugin:
# pip install newrelic-plugin-agent[postgresql]
pero puede complicarse si no tenemos acceso como usuario root a la máquina donde querramos instalar el agente. Y más si no tenemos ni pip ni postgresql instalados en esa máquina.
Instalando PIP en el home del usuario
Siguiendo los pasos de la página de pip descargamos el programa ‘get-pip.py’ y ejecutamos:
$ python get-pip.py --user
(esto instala pip en ~/.local/bin)
Ahora, revisemos si tenemos postgres instalado (sus binarios, específicamente vamos a necesitar el pg_config)
$ which pg_config
Si no obtenemos la ruta donde está este programa, deberemos instalarlo.
Instalando PostgreSQL en el home del usuario
Para este ejemplo, instalaremos la última versión de la rama 9.3:
$ wget https://ftp.postgresql.org/pub/source/v9.3.8/postgresql-9.3.8.tar.gz $ mkdir src $ cd src/ $ tar xvfz ../postgresql-9.3.8.tar.gz $ cd postgresql-9.3.8 $ ./configure --prefix ~/local --exec-prefix ~/bin $ make $ make install $ cd $ export PATH=`pwd`/bin/bin:$PATH
Y ahora si, which pg_config debería decir algo como ésto:
~$ which pg_config /home/user/bin/bin/pg_config
Finalmente, podemos instalar el agente
$ pip install newrelic-plugin-agent[postgresql] --user
Nuevamente, esto instalará el agente en ~/.local/bin/newrelic-plugin-agent.
Para ejecutarlo, debemos crear un archivo de configuración que contenga:
%YAML 1.2 --- Application: license_key: [la key que nos provee newrelic] wake_interval: 60 postgresql: host: [host remoto a monitorear] port: 5432 user: [user] password: [passwd] dbname: [database] superuser: [true|false]
Y podremos llamar al agente ejecutando:
$ export PATH=~/.local/bin:$PATH $ newrelic-plugin-agent -c /path/to/newrelic-plugin-conf
One thought on “Monitoreando PostgreSQL remotamente con Newrelic”