Project

General

Profile

Actions

Json-report-format » History » Revision 4

« Previous | Revision 4/11 (diff) | Next »
Marek Hulán, 12/18/2013 06:51 PM


Json-report-format

how to send reports

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

report JSON format

{
  "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
                             }
                           ]
      }
}

Meaning of states

Puppet

"applied" => How many resources were attempted to be fixed
"restarted" => How many resources were restarted because their dependencies changed
"failed" => How many resources were not successfully fixed
"failed_restarts" => How many resources could not be restarted
"skipped" => How many resources were skipped, because of either tagging or scheduling restrictions
"pending" => Is for noop mode, e.g it would have made a change if it would actually run

Chef

"applied" => How many resources were executed
"restarted" => How many resources were executed and their action was restart
"failed" => How many resources were not successfully fixed
"failed_restarts" => How many resources were not successfully fixed and their action was restart
"skipped" => How many resources were skipped (e.g. action remained nothing)
"pending" => not used (why runs not supported)

Updated by Marek Hulán over 11 years ago · 11 revisions