Project

General

Profile

Json-report-format » History » Revision 3

Revision 2 (Romain Vrignaud, 10/18/2013 07:29 AM) → Revision 3/11 (Romain Vrignaud, 10/18/2013 07:42 AM)

h1. Json-report-format 

 h3. how to send reports  

 * Foreman reports need to be sent to /api/reports 
 * Followind headers needs to be present :  
 <pre> 
   "Accept: application/json,version=2" 
   "Content-Type: application/json" 
 </pre> 

 h3. report JSON format 

 <pre> 
 { 
   "report" => { 
         "host"            => "fqdn.example.com", 
         
   "reported_at"     => "2013-10-18 06:58:09 UTC",                          # Time.now.utc.to_s ruby style 
         
   "status"          => { "applied"             => n,                         # Number of resource that changed with n integer 
                              
                        "restarted"           => n,                         # Number of services restarted with n integer 
                              
                        "failed"              => n,                         # Number of failed resource with n integer 
                              
                        "failed_restarts"     => n,                         # Number of failed service restart with n integer 
                              
                        "skipped"             => n,                         # Number of skipped resource with n integer 
                              
                        "pending"             => n                          # with n integer 
                            
                      }, 
         
   "metrics"         => { "resources"        => { 'total' => n}               # Total number of resources 
                              
                        "time"             => { "resource_type1" => n,      # Time spent on that type of resource 
                                                    
                                              "resource_type2" => n,      # Time spent on that type of resource 
                                                    
                                              "total"            => n }     # Total time spent for the run 
                            
                      }, 
         
   "logs"            => [ { "log" => { "sources" => { "source"    => "resource name" },               # Name of resource which output the message 
                                           
                                     "messages" => { "message" => "resource message" },           # Message of resource 
                                           
                                     "level"      => "notice"                                       # In ['notice','warning','error'] TODO: recheck this 
                              
                        } 
                            
                      ] 
       } 
 } 
 </pre>