Diferença nos carimbos de hora via consulta puppetdb e consulta mysql

1

Eu armazeno relatórios de nós no puppetdb. Quero verificar a hora em que os relatórios foram recebidos de um nó específico por meio da seguinte consulta:

curl -sk http://pdb:8080/v3/reports --data-urlencode 'query=["=", "certname", "host.mydomain.com"]' | grep "receive-time"

eu recebo a seguinte saída:

"receive-time" : "2015-12-05T11:57:13.882Z",
"receive-time" : "2015-12-05T11:46:26.826Z",
"receive-time" : "2015-12-05T11:17:15.702Z",
"receive-time" : "2015-12-05T13:13:56.060Z",

Portanto, posso concluir que tenho 4 relatórios das 09:32:15 às 11:32:13. e isso está errado (offset de 2 horas)

Por outro lado, quando eu consultar backend postgresdb diretamente via

select certname,puppet_version,start_time, status_id from reports where certname = 'host.mydomain.com' order by start_time desc; i get different times:

 host.mydomain.com | 3.8.1   | 2015-12-05 13:57:07.079+02 |    2
 host.mydomain.com | 3.8.1   | 2015-12-05 13:46:19.658+02 |    2
 host.mydomain.com | 3.8.1   | 2015-12-05 13:17:07.056+02 |    2
 host.mydomain.dom | 3.8.1   | 2015-12-05 13:13:56.608+02 |    2

E estes são tempos corretos para relatórios. Todas as configurações para o fuso horário do servidor em que o puppetdb é executado estão corretas. Todas as configurações do postgresdb estão definidas para o mesmo fuso horário.

Como posso fazer a consulta por meio do relatório de curling, por favor?

    
por Dima Zyuryaev 05.12.2015 / 13:35

1 resposta

1

O capital Z após um registro de data e hora, como 2015-12-05T11:32:13.718Z , significa Zulu hora, UTC.

O outro registro de data / hora 2015-12-05 13:57:07.079+02 com + 2 é a hora corrigida para seu fuso horário local, duas horas à frente do UTC.

Portanto, ambos estão corretos no sentido absoluto, mas é preciso adicionar duas horas a um carimbo de data / hora no UTC para corresponder ao seu relógio.

    
por 05.12.2015 / 13:42