Project

General

Profile

Json-report-format » History » Version 2

Romain Vrignaud, 10/18/2013 07:29 AM

1 1 Romain Vrignaud
h1. Json-report-format
2
3 2 Romain Vrignaud
h3. how to send reports 
4
5
* Foreman reports need to be sent to /api/reports
6
* Followind headers needs to be present : 
7 1 Romain Vrignaud
<pre>
8 2 Romain Vrignaud
  "Accept: application/json,version=2"
9
  "Content-Type: application/json"
10
</pre>
11
12
h3. report JSON format
13
14
<pre>
15 1 Romain Vrignaud
{
16
  "host"          => "fqdn.example.com",
17
  "reported_at"   => "2013-10-18 06:58:09 UTC",                        # Time.now.utc.to_s ruby style
18
  "status"        => { "applied"           => n,                       # Number of resource that changed with n integer
19
                       "restarted"         => n,                       # Number of services restarted with n integer
20
                       "failed"            => n,                       # Number of failed resource with n integer
21
                       "failed_restarts"   => n,                       # Number of failed service restart with n integer
22
                       "skipped"           => n,                       # Number of skipped resource with n integer
23
                       "pending"           => n                        # with n integer
24
                     },
25 2 Romain Vrignaud
  "metrics"       => { "resources"      => { 'total' => n}             # Total number of resources
26
                       "time"           => { "resource_type1" => n,    # Time spent on that type of resource
27
                                             "resource_type2" => n,    # Time spent on that type of resource
28
                                             "total"          => n }   # Total time spent for the run
29 1 Romain Vrignaud
                     },
30 2 Romain Vrignaud
  "logs"          => [ { "log" => { "sources" => { "source"  => "resource name" },             # Name of resource which output the message
31
                                    "messages" => { "message" => "resource message" },         # Message of resource
32
                                    "level"    => "notice"                                     # In ['notice','warning','error'] TODO: recheck this
33
                       }
34
                     ]
35
}
36 1 Romain Vrignaud
</pre>