Configurar el registro en Cloud Logging
En este documento se describe cómo personalizar el registro mediante un ConfigMap
en el clúster de carga de trabajo de destino.
Registros disponibles
De forma predeterminada, Migrate to Containers escribe entradas de las siguientes fuentes:
- Entradas escritas en
stdoutdeinit, el elemento superior de todos los procesos de Linux. - Contenido de
/var/log/syslog.
En Cloud Logging, las entradas de los archivos de registro admitidos aparecerán en una línea del registro con el siguiente formato. Las etiquetas se definen en un ConfigMap que
enumera los archivos de registro.
date time label log-output
En el siguiente ejemplo se muestra el formulario con una entrada de MySQL:
2019-09-22 12:43:08.681193976 +0000 UTC mysql log-output
Puedes ampliar la función de reenvío de registros para propagar los registros de otros procesos y aplicaciones que se ejecuten en el contenedor migrado.
Reenviar registros de aplicaciones a Cloud Logging
Para registrarte en Cloud Logging desde aplicaciones en máquinas virtuales migradas con Migrate to Containers, debes tener lo siguiente:
Crea un
ConfigMapen el clúster de carga de trabajo de destino que especifique una lista de los archivos de registro del sistema de archivos cuyas entradas se deban escribir en Cloud Logging.Puedes usar el ejemplo de
ConfigMapque se incluye en la siguiente sección como referencia para muchos archivos de registro habituales.El
ConfigMapdebe estar en el mismo espacio de nombres que elDeploymento elStatefulSetde tu contenedor.DeploymentoStatefulSetdeben hacer referencia aConfigMap.Si vas a migrar a Google Distributed Cloud, instala Connect en tu clúster de Google Distributed Cloud. Es necesario conectar para enviar datos a Cloud Logging.
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: my-app
migrate-for-anthos-type: workload
name: test-ibsc-appenhmutimiy
spec:
replicas: 1
selector:
matchLabels:
app: test-ibsc-appenhmutimiy
migrate-for-anthos-type: workload
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: test-ibsc-appenhmutimiy
migrate-for-anthos-type: workload
spec:
containers:
- image: gcr.io/myproject/my-container-image:v1.0.0
name: test-ibsc-appenhmutimiy
readinessProbe:
exec:
command:
- /code/ready.sh
resources: {}
securityContext:
privileged: true
volumeMounts:
- mountPath: /sys/fs/cgroup
name: cgroups
- mountPath: /code/config/logs/
name: logs-config
volumes:
- hostPath:
path: /sys/fs/cgroup
type: Directory
name: cgroups
- configMap:
name: <ConfigMap name>
name: logs-config
Usa ConfigMap para los registros de aplicaciones comunes
La referencia ConfigMap YAML de la siguiente sección incluye una lista de archivos de registro de aplicaciones habituales y sus etiquetas de aplicación.
Puedes copiar el archivo ConfigMap YAML de referencia tal cual o modificarlo para quitar entradas o añadir tus registros de aplicaciones personalizados.
Para editar la lista de archivos de registro, edita los elementos que siguen a la línea logs:. Un subelemento de registro tiene la siguiente estructura:
label: - path-with-simple-wildcards
Por ejemplo:
tomcat:
- /var/log/tomcat*/catalina.out
- /var/log/tomcat*/localhost.*.log
Consulta la referencia ConfigMap para aplicaciones habituales
apiVersion: v1
kind: ConfigMap
metadata:
creationTimestamp: null
name: <ConfigMap name>
data:
logs.yaml: |
logs:
mysql:
- /var/log/mysql.log
- /var/log/mysql/mysql.log
mongodb:
- /var/log/mongodb/*.log
memcached:
- /var/log/memcached.log
redis:
- /var/log/redis*.log
- /var/log/redis/*.log
rabbitmq-startup:
- /var/log/rabbitmq/startup_log
rabbitmq-startup_err:
- /var/log/rabbitmq/startup_err
rabbitmq-sasl:
- /var/log/rabbitmq/*-sasl.log
sugarcrm:
- /var/www/*/sugarcrm.log
tomcat-localhost_access_log:
- /var/log/tomcat*/localhost_access_log*.txt
tomcat:
- /var/log/tomcat*/catalina.out
- /var/log/tomcat*/localhost.*.log
apache-access:
- /var/log/apache*/access.log
- /var/log/apache*/access_log
- /var/log/httpd/access.log
- /var/log/httpd/access_log
apache-error:
- /var/log/apache*/error.log
- /var/log/apache*/error_log
- /var/log/httpd/error.log
- /var/log/httpd/error_log
cassandra:
- /var/log/cassandra/system.log
- /var/log/cassandra/cassandra.log
- /var/log/cassandra/output.log
chef-bookshelf:
- /var/log/chef-server/bookshelf/current
chef-expander:
- /var/log/chef-server/chef-expander/current
chef-pedant-http-traffic:
- /var/log/chef-server/chef-pedant/http-traffic.log
chef-server-webui:
- /var/log/chef-server/chef-server-webui/current
chef-solr:
- /var/log/chef-server/chef-solr/current
chef-erchef-current:
- /var/log/chef-server/erchef/current
chef-erchef:
- /var/log/chef-server/erchef/erchef.log.1
chef-nginx-access:
- /var/log/chef-server/nginx/access.log
chef-nginx-error:
- /var/log/chef-server/nginx/error.log
chef-nginx-rewrite-port-80:
- /var/log/chef-server/nginx/rewrite-port-80.log
chef-postgresql:
- /var/log/chef-server/postgresql/current
chef-rabbitmq:
- /var/log/chef-server/rabbitmq/current
postgresql:
- /var/log/postgres*/*.log
- /var/log/pgsql/*.log
puppet-access:
- /var/log/pe-httpd/access.log
puppet-puppetmasteraccess:
- /var/log/pe-httpd/puppetmasteraccess.log
puppet-activemq:
- /var/log/pe-activemq/activemq.log
puppet-activemq-wrapper:
- /var/log/pe-activemq/wrapper.log
puppet-mcollective:
- /var/log/pe-mcollective/mcollective.log
puppet-mcollective-audit:
- /var/log/pe-mcollective/mcollective_audit.log
puppet-puppetdb:
- /var/log/pe-puppetdb/pe-puppetdb.log
puppet-dashboard-error:
- /var/log/pe-httpd/puppetdashboard.error.log
puppet-dashboard-mcollective-client:
- /var/log/pe-puppet-dashboard/mcollective_client.log
puppet-dashboard-production:
- /var/log/pe-puppet-dashboard/production.log
puppet-dashboard-event-inspector:
- /var/log/pe-puppet-dashboard/event-inspector.log
puppet-dashboard-certificate-manager:
- /var/log/pe-puppet-dashboard/certificate_manager.log
puppet-dashboard-live-management:
- /var/log/pe-puppet-dashboard/live-management.log
puppet-console-cas-client:
- /var/log/pe-console-auth/cas_client.log
puppet-console-auth-cas:
- /var/log/pe-console-auth/cas.log
puppet-console-auth:
- /var/log/pe-console-auth/auth.log
puppet-dashboard-access:
- /var/log/pe-httpd/puppetdashboard.access.log
puppet-dashboard-failed-reports:
- /var/log/pe-puppet-dashboard/failed_reports.log
puppet-error:
- /var/log/pe-httpd/error.log
puppet-other-vhosts-access:
- /var/log/pe-httpd/other_vhosts_access.log
puppet-masterhttp:
- /var/log/pe-puppet/masterhttp.log
- /var/log/puppet/masterhttp.log
puppet-rails:
- /var/log/pe-puppet/rails.log
puppet-http:
- /var/log/puppet/http.log
gitlab-application:
- /home/git/gitlab/log/application.log
gitlab-production:
- /home/git/gitlab/log/production.log
gitlab-sidekiq:
- /home/git/gitlab/log/sidekiq.log
gitlab-unicorn-stdout:
- /home/git/gitlab/log/unicorn.stdout.log
gitlab-unicorn-stderr:
- /home/git/gitlab/log/unicorn.stderr.log
gitlab-githost:
- /home/git/gitlab/log/githost.log
gitlab-satellites:
- /home/git/gitlab/log/satellites.log
gitlab-shell:
- /home/git/gitlab-shell/gitlab-shell.log
jenkins:
- /var/log/jenkins/jenkins.log
jetty-request:
- /var/log/jetty/*.request.log
jetty-stderrout:
- /var/log/jetty/*.stderrout.log
jetty-out:
- /var/log/jetty/out.log
joomla:
- /var/www/joomla/logs/*.log
magento-system:
- /var/www/magento/var/log/system.log
magento-exception:
- /var/www/magento/var/log/exception.log
magento-report:
- /var/www/magento/var/report/*
mediawiki:
- /var/log/mediawiki/*.log
nginx-access:
- /var/log/nginx/access.log
nginx-error:
- /var/log/nginx/error.log
redmine:
- /var/log/redmine/*.log
salt-master:
- /var/log/salt/master
salt-minion:
- /var/log/salt/minion
salt-key:
- /var/log/salt/key
salt-syndic:
- /var/log/salt/syndic.loc
solr:
- /var/log/solr/*.log
sugarcrm:
- /var/www/*/sugarcrm.log
tomcat-localhost_access_log:
- /var/log/tomcat*/localhost_access_log.*.txt
tomcat:
- /var/log/tomcat*/catalina.out,/var/log/tomcat*/localhost.*.log
Siguientes pasos
- Consulta cómo activar volúmenes externos.