¿Dónde almacena Juju un registro de todos los comandos ejecutados y su salida para cada unidad?

8

A veces, cuando se despliega un servicio (y más específicamente una nueva unidad) para un amuleto de Juju, se produce un error y parece que no hay forma de descubrir exactamente qué era.

¿Hay algún tipo de registro de salida de todos los comandos que ejecutó la unidad?

Nathan Osman
fuente

Respuestas:

6

Parece que cada unidad almacena un registro de los comandos ejecutados . Puede acceder a él aprovechando el comando de Juju de la siguiente manera:/var/log/juju/unit/unit-service_name-service_number.logssh

juju ssh service_name/service_number

Esto te dejará en un caparazón para esa unidad. Luego puede usar un editor de texto o incluso solo cat | lesspara leer el registro.

Nathan Osman
fuente
3

puede usar juju debug-logpara obtener un registro distribuido de todas las operaciones por parte de todos los agentes. Permite suprimir cosas por nivel de registro, así que dale juju debug-log -huna lectura. Echa de menos algunas cosas, pero en su mayor parte debería darte lo que estás buscando.

El siguiente comando muestra todos los registros desde el principio de los tiempos. Por lo tanto, también mostrará los registros de antes de comenzarjuju debug-log

juju debug-log --replay
SpamapS
fuente
¿Pero esto responde la pregunta? Necesito la salida de los comandos después de que se ejecutan.
Nathan Osman el
Eso es exactamente lo que proporciona el registro de depuración ... salida de todos los comandos ejecutados por todos los agentes (ganchos, llamadas API, todo). Los encantos también pueden controlar en qué nivel de registro se produce su salida utilizando 'juju-log'.
SpamapS
Pero, ¿devuelve esto la salida de comandos que se han ejecutado antes de llamar juju debug-log?
Nathan Osman el
No, el registro de depuración informa a los agentes que necesitan comenzar a enviar sus registros. Si desea ver los registros de las actividades de los agentes anteriores, debe iniciar sesión en cada unidad e inspeccionar los registros en / var / log / juju y / var / lib / juju
SpamapS
Sí, esa fue la pregunta que hice y la respuesta a continuación contiene esa información.
Nathan Osman el
1

Puede encontrar el registro completo dentro del data-dirconjunto en su environments.yamlarchivo.

Ábralo con gksudo <path_to_data-dir>, navegue a través de las carpetas hasta su unitscarpeta, abra la carpeta de servicio que desea ver y mire el unit.logarchivo.

Bruno Pereira
fuente