Aviate Health APIs
The Aviate Health feature provides several endpoints that allow you to view the health of your KillBill system and fix problems if any. This section documents the APIs exposed by the Aviate Health feature.
Models
MetricsResult
Represents metric result. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
nodeName | string | system | Name of the node for which data is being captured. |
eventGroup | string | system | Represents the metric type. Possible values are gauge /meter /timer |
eventCategory | string | system | Represents the metric name. |
sampleKind | string | system | Represents the sample kind. Possible values are value /count /{one_minute/five_minute/fifteen_minute}_rate /mean_rate /tp99 /tp999 /tp75 /tp98 /tp95 /min /max /count /median /std_dev |
sampleSerializationFormat | string | system | Sample Serialization Format . Hardcoded to csv at the time of writing |
samples | string | system | Comma separated list of timestamp and data value. |
HealthData
Represents HealthData. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
nodeInfos | List of NodeInfo | system | Details on all nodes in the Kill Bill cluster. |
parkedAccounts | List of ParkedAccount | system | Parked accounts (limit 50), if any. |
lateBusEvents | List of BusEvent | system | Bus events that need processing (limit 100), if any. |
lateNotifications | List of Notification | system | Notifications that need processing (limit 100), if any. |
recentBusEvents | List of BusEvent | system | Recent bus events that were processed (limit 100). |
recentNotifications | List of Notification | system | Recent notifications that were processed (limit 100). |
recentAccessLogs | List of AccessLog | system | Recent HTTP requests from all nodes (at most 2 days). |
AccessLog
Represents an Access Log. Captures information about the recent requests made to KB. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
nodeName | string | system | Node name |
hostName | string | system | Host name |
timeStamp | string | system | Datetime at which the request was made |
method | string | system | HTTP method used |
uri | string | system | Requested URI |
statusCode | string | system | Status code returned |
bytesSent | string | system | Number of bytes sent |
Notification
Represents a notification from the KB notifications
table. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
recordId | string | system | Record id |
className | string | system | Class name |
eventJson | string | system | Event JSON |
userToken | string | system | User token |
createdDate | string | system | DateTime the notification was created |
creatingOwner | string | system | Creating Owner |
processingOwner | string | system | Processing Owner |
processingAvailableDate | string | system | DateTime the notification becomes available for processing |
processingState | string | system | Processing State (One of AVAILABLE , IN_PROCESSING , PROCESSED , REMOVED , FAILED , REAPED ) |
errorCount | string | system | Error Count |
searchKey1 | string | system | Search Key 1 |
searchKey2 | string | system | Search Key 2 |
queueName | string | system | Queue Name |
effectiveDate | string | system | Effective Date |
futureUserToken | string | system | Future User Token |
BusEvent
Represents a Bus event from the KB bus_events
table. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
recordId | string | system | Record id |
className | string | system | Class name |
eventJson | string | system | Event JSON |
userToken | string | system | User token |
createdDate | string | system | DateTime the bus event was created |
creatingOwner | string | system | Creating Owner |
processingOwner | string | system | Processing Owner |
processingAvailableDate | string | system | DateTime the bus event becomes available for processing |
processingState | string | system | Processing State (One of AVAILABLE , IN_PROCESSING , PROCESSED , REMOVED , FAILED , REAPED ) |
errorCount | string | system | Error Count |
searchKey1 | string | system | Search Key 1 |
searchKey2 | string | system | Search Key 2 |
NodeInfo
Represents information about a KB node. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
time | int | system | Time |
kbClock | string | system | TODO |
nodeName | string | system | Node Name |
bootTime | string | system | Boot Time |
lastUpdatedDate | string | system | Last Updated Date |
killbillVersion | string | system | KB version |
apiVersion | string | system | killbill-api version |
platformVersion | string | system | killbill-platform version |
commonVersion | string | system | killbill-commons version |
pluginApiVersion | string | system | killbill-plugin-api version |
pluginInfos | List of PluginInfo | system | Information about plugins on a node |
PluginInfo
Represents information about a plugin. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
pluginKey | string | system | Plugin Key |
bundleSymbolicName | string | system | Bundle Symbolic Name |
pluginName | string | system | Plugin Name |
version | string | system | Plugin Version |
pluginState | string | system | Plugin State |
isSelectedForStart | boolean | system | Flag that indicates if plugin is started |
services | List of PluginServiceInfo | Information about services within a plugin |
PluginServiceInfo
Represents information about services offered by a plugin. It has the following fields:
Name | Type | Generated by | Description |
---|---|---|---|
serviceTypeName | string | system | Service Type |
registrationName | string | system | Bundle Registration Name |
Endpoints
Retrieve Health Data
Return the current HealthData report. It is meant to show the current health of the cluster, show debugging information, and draw attention to potential problems.
HTTP Request
GET /plugins/aviate-plugin/v1/health/data
Example Request:
curl -X GET \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/data
Example Response:
{
"nodeInfos": [
{
"time": 1732797874123,
"kbClock": "2024-11-28T12:44:34.076252400",
"nodeName": "DESKTOP-NCUS49R",
"bootTime": "2024-11-28T12:37:23.000Z",
"lastUpdatedDate": "2024-11-28T12:37:23.000Z",
"killbillVersion": "0.24.12-SNAPSHOT",
"apiVersion": "0.54.0",
"platformVersion": "0.41.11",
"commonVersion": "0.26.4",
"pluginApiVersion": "0.27.3",
"pluginInfos": [
{
"pluginKey": "aviate",
"bundleSymbolicName": "com.kill-bill.billing.plugin.java.aviate-plugin",
"pluginName": "aviate-plugin",
"version": "1.0.13-SNAPSHOT",
"pluginState": "RUNNING",
"isSelectedForStart": true,
"services": [
{
"serviceTypeName": "org.killbill.billing.osgi.api.Healthcheck",
"registrationName": "aviate-plugin"
},
{
"serviceTypeName": "javax.servlet.Servlet",
"registrationName": "aviate-plugin"
}
]
},
{
"pluginKey": "",
"bundleSymbolicName": "org.kill-bill.billing.killbill-platform-osgi-bundles-kpm",
"pluginName": "org.kill-bill.billing.killbill-platform-osgi-bundles-kpm",
"version": "",
"pluginState": "RUNNING",
"isSelectedForStart": true,
"services": []
},
{
"pluginKey": "",
"bundleSymbolicName": "org.kill-bill.billing.killbill-platform-osgi-bundles-logger",
"pluginName": "org.kill-bill.billing.killbill-platform-osgi-bundles-logger",
"version": "",
"pluginState": "RUNNING",
"isSelectedForStart": true,
"services": []
},
{
"pluginKey": "",
"bundleSymbolicName": "org.kill-bill.billing.killbill-platform-osgi-bundles-metrics",
"pluginName": "org.kill-bill.billing.killbill-platform-osgi-bundles-metrics",
"version": "",
"pluginState": "RUNNING",
"isSelectedForStart": true,
"services": []
},
{
"pluginKey": "",
"bundleSymbolicName": "org.kill-bill.billing.plugin.java.stripe-plugin",
"pluginName": "stripe-plugin",
"version": "8.0.1",
"pluginState": "RUNNING",
"isSelectedForStart": true,
"services": [
{
"serviceTypeName": "org.killbill.billing.payment.plugin.api.PaymentPluginApi",
"registrationName": "killbill-stripe"
},
{
"serviceTypeName": "org.killbill.billing.osgi.api.Healthcheck",
"registrationName": "killbill-stripe"
},
{
"serviceTypeName": "javax.servlet.Servlet",
"registrationName": "killbill-stripe"
}
]
}
]
}
],
"parkedAccounts": [],
"lateBusEvents": [
{
"recordId": 1,
"className": "org.killbill.billing.tenant.api.user.DefaultTenantConfigChangeInternalEvent",
"eventJson": "{\"id\":\"85edc9d5-8683-434f-bfd5-ef2ebd7ab9b3\",\"key\":\"CATALOG\",\"searchKey1\":null,\"searchKey2\":1,\"userToken\":\"c4fe88f8-36c3-461d-8ace-0f0a7efc1a42\"}",
"userToken": "c4fe88f8-36c3-461d-8ace-0f0a7efc1a42",
"createdDate": "2024-01-30T06:38:25.000Z",
"creatingOwner": "DESKTOP-NCUS49R",
"processingOwner": "",
"processingAvailableDate": "2024-01-30T06:38:25.000Z",
"processingState": "PROCESSED",
"errorCount": 0,
"searchKey1": 0,
"searchKey2": 1
}
],
"lateNotifications": [],
"recentBusEvents": [
{
"recordId": 184174,
"className": "org.killbill.billing.util.broadcast.DefaultBroadcastInternalEvent",
"eventJson": "{\"serviceName\":\"broadcast-service\",\"type\":\"START_PLUGIN\",\"jsonEvent\":\"{\\\"pluginKey\\\":\\\"aviate\\\",\\\"pluginName\\\":null,\\\"pluginVersion\\\":\\\"1.0.13-d197203\\\",\\\"properties\\\":[{\\\"key\\\":\\\"kbVersion\\\",\\\"value\\\":\\\"0.24.12-SNAPSHOT\\\"}]}\",\"searchKey1\":null,\"searchKey2\":0,\"userToken\":null}",
"userToken": "",
"createdDate": "2024-11-28T04:21:37.000Z",
"creatingOwner": "DESKTOP-NCUS49R",
"processingOwner": "",
"processingAvailableDate": "2024-11-28T04:21:37.000Z",
"processingState": "PROCESSED",
"errorCount": 0,
"searchKey1": 0,
"searchKey2": 0
},
{
"recordId": 184173,
"className": "org.killbill.billing.util.broadcast.DefaultBroadcastInternalEvent",
"eventJson": "{\"serviceName\":\"broadcast-service\",\"type\":\"INSTALL_PLUGIN\",\"jsonEvent\":\"{\\\"pluginKey\\\":\\\"aviate\\\",\\\"pluginName\\\":null,\\\"pluginVersion\\\":\\\"1.0.13-d197203\\\",\\\"properties\\\":[{\\\"key\\\":\\\"pluginUri\\\",\\\"value\\\":\\\"https://dl.cloudsmith.io/Y9NsUe0Lb5JBOnwf/killbill/aviate/maven/com/kill-bill/billing/plugin/java/aviate-plugin/1.0.13-d197203/aviate-plugin-1.0.13-d197203.jar\\\"},{\\\"key\\\":\\\"pluginType\\\",\\\"value\\\":\\\"java\\\"},{\\\"key\\\":\\\"kbVersion\\\",\\\"value\\\":\\\"0.24.12-SNAPSHOT\\\"}]}\",\"searchKey1\":null,\"searchKey2\":0,\"userToken\":null}",
"userToken": "",
"createdDate": "2024-11-28T04:21:32.000Z",
"creatingOwner": "DESKTOP-NCUS49R",
"processingOwner": "",
"processingAvailableDate": "2024-11-28T04:21:32.000Z",
"processingState": "PROCESSED",
"errorCount": 0,
"searchKey1": 0,
"searchKey2": 0
}
],
"recentAccessLogs": [
{
"nodeName": "DESKTOP-NCUS49R",
"hostName": "127.0.0.1",
"timestamp": "27/Nov/2024:10:58:21 +0530",
"method": "GET",
"uri": "/1.0/kb/security/subject",
"statusCode": "401",
"bytesSent": "-"
},
{
"nodeName": "DESKTOP-NCUS49R",
"hostName": "127.0.0.1",
"timestamp": "27/Nov/2024:10:58:34 +0530",
"method": "GET",
"uri": "/1.0/kb/security/permissions",
"statusCode": "200",
"bytesSent": "7"
}
]
}
Request Body
None
Query Parameters
None
Response
If successful, returns a HealthData
object.
Retrieve Metrics
This endpoint returns metric data. This data can be used to assess the health of the system and gain visibility into it. The metrics are computed by the aviate plugin when the com.killbill.billing.plugin.aviate.enableHealthReporter
property is set to true. Each metric is a timeseries that can be analyzed and/or displayed.
Some metrics are global to the deployment (i.e. independent of the number of Kill Bill nodes/containers deployed) and some others are per-node - in which case the nodeName
parameter can be used to return metrics for a specific node.
All the metrics exposed by the Aviate Plugin are documented here.
HTTP Request
GET /plugins/aviate-plugin/v1/health/metrics
Example Request:
# Returns metric data for the queue.bus.incoming,queue.bus.processing, queue.bus.late for the duration 2024-12-19T00:00:00 to 2025-01-04T11:59:00 with HOURLY granularity
curl -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/metrics?from=2024-12-19T00:00:00&to=2025-01-04T11:59:00&metricName=queue.bus.incoming&metricName=queue.bus.processing&metricName=queue.bus.late&granularity=HOUR'
# Returns the metric data for the logs.rates.error metric on the ip-172-31-6-87 node
curl -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/metrics?nodeName=ip-172-31-6-87&name=logs.rates.error'
# Returns metric data for the logs.rates.error metric for all the nodes:
curl -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/metrics?name=logs.rates.error'
# Returns metric data for the queue.bus.incoming metric for all the nodes (nodeName is ignored since queue.bus.incoming is a global metric):
curl -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/metrics?nodeName=ip-172-31-6-87&name=queue.bus.incoming'
Example Response:
[
{
"nodeName": "",
"eventGroup": "gauge",
"eventCategory": "queue.bus.late",
"sampleKind": "value",
"samplesSerializationFormat": "csv",
"samples": "1736394067,0,1736394129,0,1736394189,0,1736394249,0,1736394309,0,1736394369,0,1736394429,0,1736394490,0,1736394550,0,1736394610,0,1736394670,0,1736394730,0,1736394790,0,1736394851,0,1736394911,0,1736394971,0,1736395031,0,1736395091,0,1736395151,0,1736395211,0,1736395272,0,1736395332,0,1736395392,0,1736395452,0,1736395512,0,1736395572,0,1736395632,0,1736395692,0,1736395753,0,1736395813,0,1736395873,0,1736395933,0,1736395993,0,1736396053,0,1736396113,0,1736396174,0,1736396234,0,1736396294,0,1736396354,0,1736396414,0,1736396474,0,1736396534,0,1736396595,0,1736396655,0,1736396715,0,1736396775,0,1736396835,0,1736396895,0,1736396955,0,1736397016,0,1736397076,0,1736397136,0,1736397196,0,1736397256,0,1736397316,0,1736397377,0,1736397437,0,1736397497,0,1736397557,0,1736397617,0,1736397677,0,1736397738,0,1736397798,0,1736397858,0,1736397918,0,1736397978,0,1736398038,0,1736398099,0,1736398159,0,1736398219,0,1736398279,0,1736398339,0,1736398399,0,1736398460,0,1736398520,0,1736398580,0"
}
]
Request Body
None
Query Parameters
Name | Type | Required | Default | Description |
---|---|---|---|---|
from | string | false | none | DateTime from which to start including metric data in yyyy-dd-MMThh:mm:ss format. If omitted, all the data since the aviate plugin started computing metrics is returned. |
to | string | false | Current time | DateTime up to which metric data should be included in yyyy-dd-MMThh:mm:ss format. If omitted, all the data up to the current DateTime is returned. |
nodeName | List of String | false | None | Specifies the name of the node for which metric data should be returned. This parameter applies only to node-specific metrics. When provided, it retrieves metric data for the specified node. For global metrics, this parameter is ignored, global data is returned regardless of the node. If omitted for a node-specific metric, metric data for all nodes will be returned. To specify multiple nodes, include a separate nodeName parameter for each node. |
metricName | List of String | false | None | Name of the metric for which to return data.(See list below). To obtain data for multiple metrics, include a separate metricName parameter for each metric. |
granularity | SampleGranularity | false | MINUTE |
Specifies the time unit for the intervals between consecutive data points. One of MINUTE , HOUR , DAY ) |
Response
If successful, returns a status code of 200 and the requested metric data.
Retrieve Diagnostic Report
This endpoint generates a diagnostic report. The report includes logs, tenant config, Kill Bill & system config, and account data, similar to the kpm diagnostic tool, either as JSON or as a ZIP file.
A few pointers:
- If the
-H "Accept: application/zip" header is specified
, creates a zip file - At least one query parameter needs to be specified, otherwise an empty response is returned.
- HealthData and logs are returned only when the
-H "Accept: application/zip"
header is specified - Logs from only a single node will be included
HTTP Request
GET /plugins/aviate-plugin/v1/health/diagnostic
Example Request:
## Example 1 - Returns data for the specified account in JSON format
curl -X GET \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/diagnostic?accountId=af65531a-fc2e-43cd-8af1-6ec0709d9700
## Example 2 - Creates a zip file. Includes account information, Kill Bill configuration data and tenant configuration data
curl -X GET \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
-H "Accept: application/zip" \
"http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/diagnostic?accountId=af65531a-fc2e-43cd-8af1-6ec0709d9700&withKillbillConfig=true&withTenantConfig=true" -JO
## Example 3 - Creates a zip file. Includes account information and the catalina.2024-11-27.log and localhost_access_log.2024-11-27.txt logs from the Tomcat directory.
curl -X GET \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
-H "Accept: application/zip" \
"http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/diagnostic?accountId=68704a87-23d8-46db-a1ba-310daa8e1f4f&withLogs=true&logsFilenames=catalina.2024-11-27.log&logsFilenames=localhost_access_log.2024-11-27.txt" -JO
## Example 4- Creates a zip file. Includes account information and the killbill.out/kaui.out log files from the /var/lib/killbill/logs directory.
curl -X GET \
-H 'Authorization: Bearer ${ID_TOKEN}' \
-H 'X-killbill-apiKey: bob' \
-H 'X-killbill-apisecret: lazar' \
-H "Accept: application/zip" \
"http://127.0.0.1:8080/plugins/aviate-plugin/v1/health/diagnostic?accountId=68704a87-23d8-46db-a1ba-310daa8e1f4f&withLogs=true&logsDir=/var/lib/killbill/logs&logsFilenames=killbill.out&logsFilenames=kaui.out" -JO
Example Response:
{
"account.data": "-- account_history record_id|id|target_record_id|external_key|email|name|first_name_length|currency|billing_cycle_day_local|parent_account_id|is_payment_delegated_to_parent|payment_method_id|reference_time|time_zone|locale|address1|address2|company_name|city|state_or_province|country|postal_code|phone|notes|migrated|change_type|created_by|created_date|updated_by|updated_date|tenant_record_id\n12999|402d7c14-0318-4706-b110-eff813d59ce2|7077|user29Nov1||||USD|0||||2024-11-29T04:11:51.000+00:00|Etc/UTC|en_US||||||US||||false|INSERT|admin|2024-11-29T04:11:51.000+00:00|admin|2024-11-29T04:11:51.000+00:00|4621\n-- accounts record_id|id|external_key|email|name|first_name_length|currency|billing_cycle_day_local|parent_account_id|is_payment_delegated_to_parent|payment_method_id|reference_time|time_zone|locale|address1|address2|company_name|city|state_or_province|country|postal_code|phone|notes|migrated|created_date|created_by|updated_date|updated_by|tenant_record_id\n7077|68704a87-23d8-46db-a1ba-310daa8e1f4f|user29Nov1||||USD|0||||2024-11-29T04:11:51.000+00:00|Etc/UTC|en_US||||||US||||false|2024-11-29T04:11:51.000+00:00|admin|2024-11-29T04:11:51.000+00:00|admin|4621\n-- audit_log record_id|id|target_record_id|table_name|change_type|created_date|created_by|reason_code|comments|user_token|account_record_id|tenant_record_id\n525321|0d34f135-5a72-4acc-90d9-7e8615717cf0|12999|ACCOUNT_HISTORY|INSERT|2024-11-29T04:11:51.000+00:00|admin|||1b557c51-4a01-45d0-977b-49cd27810153|7077|4621\n-- bus_events_history record_id|class_name|event_json|user_token|created_date|creating_owner|processing_owner|processing_available_date|processing_state|error_count|search_key1|search_key2\n184177|org.killbill.billing.account.api.user.DefaultAccountCreationEvent|{\"data\":{\"externalKey\":\"user29Nov1\",\"name\":\"user29Nov1\",\"firstNameLength\":null,\"email\":null,\"billCycleDayLocal\":0,\"currency\":\"USD\",\"parentAccountId\":null,\"isPaymentDelegatedToParent\":null,\"paymentMethodId\":null,\"referenceTime\":\"2024-11-29T04:11:51.000Z\",\"timeZone\":\"Etc/UTC\",\"locale\":\"en_US\",\"address1\":null,\"address2\":null,\"companyName\":null,\"city\":null,\"stateOrProvince\":null,\"postalCode\":null,\"country\":\"US\",\"phone\":null,\"notes\":null,\"isMigrated\":false},\"id\":\"68704a87-23d8-46db-a1ba-310daa8e1f4f\",\"searchKey1\":7077,\"searchKey2\":4621,\"userToken\":\"1b557c51-4a01-45d0-977b-49cd27810153\"}|1b557c51-4a01-45d0-977b-49cd27810153|2024-11-29T04:11:51.000+00:00|DESKTOP-NCUS49R|DESKTOP-NCUS49R|2024-11-29T04:11:51.000+00:00|PROCESSED|0|7077|4621\n-- bus_ext_events_history record_id|class_name|event_json|user_token|created_date|creating_owner|processing_owner|processing_available_date|processing_state|error_count|search_key1|search_key2\n182535|org.killbill.billing.beatrix.extbus.DefaultBusExternalEvent|{\"objectId\":\"68704a87-23d8-46db-a1ba-310daa8e1f4f\",\"objectType\":\"ACCOUNT\",\"eventType\":\"ACCOUNT_CREATION\",\"accountId\":\"68704a87-23d8-46db-a1ba-310daa8e1f4f\",\"tenantId\":\"a7ac9384-f2aa-42cb-8367-9f298d228fae\",\"metaData\":null}|1b557c51-4a01-45d0-977b-49cd27810153|2024-11-29T04:11:51.000+00:00|DESKTOP-NCUS49R|DESKTOP-NCUS49R|2024-11-29T04:11:51.000+00:00|PROCESSED|0|7077|4621\n",
"tenant_config.data": [
{
"key": "CATALOG",
"values": [
"<catalog-xml-here>"
]
},
{
"key": "INVOICE_TRANSLATION_fr_FR",
"values": [
"invoiceTitle=FACTURE\ninvoiceDate=Date:\ninvoiceNumber=Facture #"
]
}
],
"killbill_configuration.data": {
"awt.toolkit": "sun.awt.windows.WToolkit",
"java.specification.version": "11",
"org.killbill.server.updateCheck.url": "https://raw.github.com/killbill/killbill/master/profiles/killbill/src/main/resources/update-checker/killbill-server-update-list.properties",
"sun.cpu.isalist": "amd64",
"sun.jnu.encoding": "Cp1252",
"org.killbill.billing.plugin.kpm.bundlesPath": "D:/var/tmp/bundles",
"java.naming.provider.url": "rmi://127.0.0.1:1099",
"sun.arch.data.model": "64",
"org.killbill.billing.plugin.auth.adminUsername": "admin",
"org.killbill.billing.plugin.kpm.kpmPath": "D:/Software/Ruby27-x64/bin/kpm.bat",
"org.killbill.billing.plugin.auth.adminPassword": "*****",
"com.killbill.billing.plugin.aviate.enableUsageApis": "false",
"kaui.db.password": "*****",
"org.killbill.server.lookupEnvironmentVariables": "true",
"shared.loader": "",
"java.util.logging.manager": "org.apache.juli.ClassLoaderLogManager",
"org.killbill.persistent.bus.external.tableName": "bus_ext_events",
"java.vm.info": "mixed mode",
"java.vm.version": "11.0.6+8-LTS",
"java.class.version": "55.0"
}
}
Request Body
None
Query Parameters
Name | Type | Required | Default | Description |
---|---|---|---|---|
accountId | UUID | false | none | Account Id for which to create the diagnostic report |
withTenantConfig | boolean | false | false | If specified, includes per-tenant configuration properties (like catalog, overdue, etc.) |
withSystemConfig | boolean | false | false | If specified, includes system information (KB/Kaui version, environment variables, OS information, CPU information, memory information, disk information, etc). |
withKillbillConfig | boolean | false | false | If specified, includes the global Kill Bill configuration properties |
withHealthData | boolean | false | false | If specified, includes health data. |
withLogs | boolean | false | false | If specified, includes the logs specified via the logsDir parameter. If logsDir is not specified, includes the Tomcat logs. In either case, only the log files specified via logFileNames are included. |
logsSize | int | false | 5242880 | Desired log size. Applicable only if withLogs=true is specifed. |
logsDir | string | false | The value of com.killbill.billing.plugin.aviate.logsPath if specified or TOMCAT_HOME/logs (TOMCAT_HOME is determined using the catalina.base system property |
The directory from which to include the logs. Works only if withLogs=true is specifed. |
logsFilenames | List of String | false | catalina.out | Desired log file names. Works only if withLogs=true is specifed. Multiple log file names can be specified by specifying a separate logsFilenames parameter corresponding to each value |
Response
If successful, returns a status code of 200 and the requested diagnostic data.