«

»

Mar 01

Cómo: Instalar el Agente Memcached para NewRelic en un servidor Ubuntu

Este artículo también esta disponible en: English

Cómo: Instalar el Agente Memcached para NewRelic en un servidor Ubuntu

Cada vez que intento instalar un plugin para New Relic me encuentro tratando de averiguar cómo llevar a cabo cada uno de los pasos. Por ejemplo, tome estas instrucciones sobre cómo instalar el agente Memcached para conseguir el seguimiento en el servidor web:

Manual de instalación

  1. Descargue la ultima newrelic_memcached_plugin-XYZtar.gz de https://github.com/newrelic-platform/newrelic_memcached_plugin/tags
  2. Extraiga el archivo descargado en la ubicación que desea ejecutar el agente de Memcached
  3. Ejecute bundle install para instalar las gemas requeridas
  4. Copiar config/template_newrelic_plugin.yml a config/newrelic_plugin.yml
  5. Editar config/newrelic_plugin.yml con su clave de licencia y señalar a las instancias de Memcached. Puede añadir tantos hosts como desee Si las instancias de Memcached están obligados a una IP externa, utilizar ese valor para el campo de host. Si se omite el campo ‘Puerto’ se usará por defecto ‘11211 ‘
  6. Edite el config/newrelic_plugin.yml archivo cambiando los campos de nombre y de punto final para que coincida con la configuración del servidor Memcached
  7. De su carrera shell: ./newrelic_memcached_agent
  8. Espere unos minutos para New Relic para empezar a procesar los datos enviados desde el agente.
  9. Ingrese a su cuenta nueva reliquia y haga clic en Memcached en la barra de navegación de la izquierda para empezar a ver sus métricas Memcached

Parece bastante simple … pero realmente desearía poder copiar y pegar algo de código y por hacer. Para empezar, yo ni siquiera tengo instalado Ruby o Bundler y no puedo recordar cómo extraer correctamente. Archivos tar … así que esas instrucciones son muy alto nivel para mí. Teniendo en cuenta que no todos los usuarios son conocedores de los usuarios de Linux de hueso que decidí dar un paso más detallada bajo nivel a paso las instrucciones para hacer esta tarea más fácil:

O. Resumen (sólo los comandos)

Para aquellos que han hecho esto en el pasado y sólo quiero acabar con esto rápidamente:

sudo bash

apt-get install ruby2.0

apt-get install ruby2.0-dev

apt-get install build-essential

gem install bundler

(Descargue el plugin en una carpeta como / etc / NewRelic y extraer los archivos a un subdirectorio. Véase para obtener la última versión)

wget https://github.com/newrelic-platform/newrelic_memcached_plugin/archive/release/1.0.1.tar.gz

tar -xvzf 1.0.1.tar.gz

cd newrelic_memcached_plugin-release-1.0.1/

bundle install

cp config/newrelic_plugin.yml.in config/newrelic_plugin.yml

nano config/newrelic_plugin.yml

(Crear el archivo daemon. Tal como se explica en la sección VI. Ejecutar el demonio)

./newrelic_memcached_agent.daemon start

ln -s /etc/newrelic/newrelic_memcached_plugin-release-1.0.1/newrelic_memcached_agent.daemon /etc/init.d/newrelic_memcached_agent.daemon

update-rc.d newrelic_memcached_agent.daemon defaults

Y para aquellos que están pasando por esto, por primera vez: Paso a paso con explicaciones:

I. Instalar Ruby & II. Instale Bundler para Ruby

Visita Cómo instalar Rubí en un Ubuntu Server para utilizarlo con Plugins de NewRelic para obtener una imagen completa de estos dos pasos. Yo les trasladé allí como estos pasos son comunes entre muchos plugins que utilizan Rubí, por tanto, sólo voy a necesitar para mantener estas instrucciones al día en un solo lugar.

III. Obtener el Server Agent

Usted debe comprobar cuál es la última versión es de bien

a) el sitio del NewRelic

https://rpm.newrelic.com/accounts/472634/plugins/directory/144

o

b) GitHub

https://github.com/newrelic-platform/newrelic_memcached_plugin/tags

A la fecha de este artículo se publicó originalmente la versión más reciente es: y se puede descargar desde:https://github.com/newrelic-platform/newrelic_memcached_plugin/archive/release/1.0.1.tar.gz . Una vez que haya determinado la dirección del archivo tar más reciente se puede proceder a extraerlo.

En primer lugar, cree un nuevo directorio eras que voy a poner el agente con el agente mkdir o lo que usted prefiera. Una vez hecho esto vaya a esa carpeta y escriba:

wget https://github.com/newrelic-platform/newrelic_memcached_plugin/archive/release/1.0.1.tar.gz

tar -xvzf 1.0.1.tar.gz

esto debería dar lugar a la siguiente salida:

de liberación newrelic_memcached_plugin-1.0.1 /
newrelic_memcached_plugin-release-1.0.1/.gitignore
newrelic_memcached_plugin-release-1.0.1/Gemfile
newrelic_memcached_plugin-release-1.0.1/LICENSE
newrelic_memcached_plugin-release-1.0.1/README.md
newrelic_memcached_plugin-release-1.0.1/config /
newrelic_memcached_plugin-release-1.0.1/config/template_newrelic_plugin.yml
newrelic_memcached_plugin-release-1.0.1/newrelic_memcached_agent

IV. Instalar Agent

Ejecute los siguientes comandos:

cd newrelic_memcached_plugin-release-1.0.1/

bundle install

Usted debe recibir el mensaje siguiente:

Obteniendo metadatos joya de http://rubygems.org/ ………..
Obtención de metadatos adicionales de http://rubygems.org/ ..
Resolviendo dependencias …
Instalación dalli (2.7.0)
Usando json (1.8.1)
Uso de newrelic_plugin (1.3.1)
Usando bundler (1.5.3)
Su paquete es completo!
Utilice ‘show bundle [gemname] `para ver donde se instala una joya envuelta.

Luego copiar y editar el archivo de configuración

cp config/template_newrelic_plugin.yml config/newrelic_plugin.yml

nano config/newrelic_plugin.yml

en el YML archivo que tendrá que configurar cosas como la clave de licencia para New Relic, así como la dirección de su host / punto final de la escucha y el nombre que desea que se muestre debajo del tablero.

V. Asegúrese de que usted está aceptando conexiones desde el servidor que el agente está instalado en

Por ejemplo, yo estaba utilizando memcached a través del socket de unix, pero al parecer el agente no se puede conectar a través de sockets sólo a través de la red TCP / IP. Memcached sólo es compatible con la escucha ya sea en un socket unix o un puerto IP. Así que tuve que cambiar mi configuración memcached por lo que mi agente podría comunicarse con él a través de TCP / IP.

VI. Ejecutar el demonio

En primer lugar vamos a hacer una prueba para asegurarse que las cosas funcionen.

./newrelic_memcached_agent

Si las cosas funcionan obtendrá un mensaje que dice:

[01/03/2014 20:49:19 UTC] INFO: Uso de Ruby SDK versión: 1.3.1
[01/03/2014 20:49:19 UTC] INFO: Agente Memcached está en la versión 1.0.1
[01/03/2014 20:49:19 UTC] DEBUG: Comience a recoger datos del agente para el ciclo de sondeo
[01/03/2014 20:49:19 UTC] ERROR: Error en el ciclo de encuesta: método no definido `> ‘para nada: NilClass
[01/03/2014 20:49:19 UTC] DEBUG: StackTrace:
. / Newrelic_memcached_agent: 120: en `report_cacheuse_metrics ‘
. / Newrelic_memcached_agent: 94: en `poll_cycle ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/agent.rb: 139: en `correr ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 143: en `bloque en run_agent_data_collection ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 141: en `cada uno ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 141: en `run_agent_data_collection ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 127: en `loop_forever ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 15: en `setup_and_run ‘
. / Newrelic_memcached_agent: 134: en `<module:MemcachedAgent> ‘
. / Newrelic_memcached_agent: 37: en `<Principal> ‘
[01/03/2014 20:49:19 UTC] DEBUG: Terminado datos del agente de recolección de ciclo de sondeo
[01/03/2014 20:49:19 UTC] DEBUG: JSON carga útil: {“agente”: {“version”: “1.0.1”}, “componentes”: [{“name”: “CloudIngenium – East EE.UU. Server”,”guid”:”com.newrelic.plugins.memcached.ruby”,”duration”:60,”metrics”:{“Component/System/Summary/Memory/Bytes/Used[bytes]“:[]“:
[01/03/2014 20:49:20 UTC] INFO: Reunidos 2 estadísticas de 1 componentes
[01/03/2014 20:50:19 UTC] DEBUG: Comience a recoger datos del agente para el ciclo de sondeo
[01/03/2014 20:50:19 UTC] ERROR: Error en el ciclo de encuesta: método no definido `> ‘para nada: NilClass
[01/03/2014 20:50:19 UTC] DEBUG: StackTrace:
. / Newrelic_memcached_agent: 120: en `report_cacheuse_metrics ‘
. / Newrelic_memcached_agent: 95: en `poll_cycle ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/agent.rb: 139: en `correr ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 143: en `bloque en run_agent_data_collection ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 141: en `cada uno ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 141: en `run_agent_data_collection ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 127: en `loop_forever ‘
/ Var/lib/gems/2.0.0/gems/newrelic_plugin-1.3.1/lib/newrelic_plugin/run.rb: 15: en `setup_and_run ‘
. / Newrelic_memcached_agent: 134: en `<module:MemcachedAgent> ‘
. / Newrelic_memcached_agent: 37: en `<Principal> ‘
[01/03/2014 20:50:19 UTC] DEBUG: Terminado datos del agente de recolección de ciclo de sondeo

Por ejemplo, si no se ha configurado correctamente su talonario de estado es posible que obtenga un mensaje como este:

[01/03/2014 20:43:51 UTC] DEBUG: Componente con el nombre “CloudIngenium – East EE.UU. Server” y “com.newrelic.plugins.memcached.ruby” guid no tenía métricas

Oregón

[01/03/2014 20:45:04 UTC] ERROR: Error en el ciclo de sondeo: valor no válido para enteros (): “/ tmp / memcached.sock”

Oregón

[01/03/2014 20:46:40 UTC] DEBUG: Comience a recoger datos del agente para el ciclo de sondeo
Yo, [2014-03-01T14: 46:40.108269 # 10759] INFO -: localhost: 11211 fallidos (Número: 0) Errno :: ECONNREFUSED:Conexión rechazada – connect (2)

Si todo se ve bien, usted puede comenzar a configurar el demonio de la siguiente manera.

En primer lugar, cree un archivo con su editor de archivos favorito como nano:

nano newrelic_memcached_agent.daemon

a continuación, escriba lo siguiente:

#! / Usr / bin / env ruby
#
# Copyright (C) CloudIngenium.com

requerir ‘rubygems’
requerir ‘demonios’
require ‘bundler / setup’

require ‘newrelic_plugin’
requerir # Memcached conductor dalli ‘

Daemons.run (File.dirname (Pathname.new (__FILE__). Realpath) + ‘/ newrelic_memcached_agent’)

después de que usted tendrá que configurar el bit de ejecución de lo contrario obtendrá un error como este:

bash:. / newrelic_memcached_agent.daemon: Permiso denegado

chmod +x newrelic_memcached_agent.daemon

Ahora, hay una línea tenemos que añadir al archivo agente regular que sin ella el proceso no continuará funcionando con éxito:

nano newrelic_memcached_agent

y encontrar las siguientes líneas e inserte la que se indica en negrita (Gracias a J. Zaparolli, de lo contrario no me habría dado cuenta de esto uno):

#
#
# Agente Memcached
#
#
módulo MemcachedAgent

Agente de la clase <NewRelic :: Plugin :: Agent :: Base
“com.newrelic.plugins.memcached.ruby” agent_guid
agent_version “1.0.1”
agent_config_options: punto final,: puerto,: nombre
agent_human_labels (“Memcached”) {“# {name}”}

Dir.chdir ‘/ etc/newrelic/newrelic_memcached_plugin-release-1.0.1’

setup_metrics def
@ Rusage_user = NewRelic :: Procesador :: EpochCounter.new
@ Rusage_system = NewRelic :: Procesador :: EpochCounter.new

Ahora usted está listo, inicie el demonio!

./newrelic_memcached_agent.daemon start

Tenga en cuenta que usted ha iniciar, detener, reiniciar y el estado a su disposición

VII. Haga que empiece cada vez que reinicie su computadora

Es posible que desee crear un enlace simbólico desde / etc / init.d / a la ubicación real de newrelic_memcached_agent.daemon con el fin de iniciar el agente automáticamente en el arranque.

Vamos a crear un enlace simbólico:

ln -s /etc/newrelic/newrelic_memcached_plugin-release-1.0.1/newrelic_memcached_agent.daemon /etc/init.d/newrelic_memcached_agent.daemon

Y luego debemos dejar Ubuntu saber sobre él:

update-rc.d newrelic_memcached_agent.daemon defaults

A continuación, debe recibir un mensaje similar:

update-rc.d: aviso: / etc / init.d / newrelic_memcached_agent.daemon falta LSB información
update-rc.d: ver <http://wiki.debian.org/LSBInitScripts>
Adición de inicio del sistema de / etc / init.d / newrelic_memcached_agent.daemon …
/ Etc/rc0.d/K20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon
/ Etc/rc1.d/K20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon
/ Etc/rc6.d/K20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon
/ Etc/rc2.d/S20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon
/ Etc/rc3.d/S20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon
/ Etc/rc4.d/S20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon
/ Etc/rc5.d/S20newrelic_memcached_agent.daemon -> .. / init.d / newrelic_memcached_agent.daemon

y ya está! ¡Felicitaciones!

Pruebe a reiniciar el servidor y ver si el daemon funcione correctamente.

En primer lugar comprobar el estado de su servidor:

service newrelic_memcached_agent.daemon status

Luego vaya a NewRelic.com y ver si está recibiendo datos en el dashboard de NewRelic.

Enhanced by Zemanta

Deja un comentario

A %d blogueros les gusta esto: