• SolarWinds
    • Params
    • Params.LogInfo
    • Params.MetricInfo

    SolarWinds

    The solarwinds adapter enables Istio to deliver log and metric data to thePapertrail logging backend and theAppOptics monitoring backend.

    This adapter supports the metric templateand the logentry template.

    Params

    Configuration format for the solarwinds adapter.

    Example config usage:

    1. apiVersion: "config.istio.io/v1alpha2"
    2. kind: handler
    3. metadata:
    4. name: solarwinds
    5. namespace: istio-system
    6. spec:
    7. compiledAdapter: solarwinds
    8. params:
    9. appoptics_access_token: <APPOPTICS SAMPLE TOKEN>
    10. papertrail_url: <PAPERTRAIL URL>
    11. papertrail_local_retention_duration: <RETENTION PERIOD FOR LOGS LOCALLY, Optional>
    12. metrics:
    13. requestcount.metric.istio-system:
    14. label_names:
    15. - source_service
    16. - source_version
    17. - destination_service
    18. - destination_version
    19. - response_code
    20. requestduration.metric.istio-system:
    21. label_names:
    22. - source_service
    23. - source_version
    24. - destination_service
    25. - destination_version
    26. - response_code
    27. requestsize.metric.istio-system:
    28. label_names:
    29. - source_service
    30. - source_version
    31. - destination_service
    32. - destination_version
    33. - response_code
    34. responsesize.metric.istio-system:
    35. label_names:
    36. - source_service
    37. - source_version
    38. - destination_service
    39. - destination_version
    40. - response_code
    41. tcpbytesent.metric.istio-system:
    42. label_names:
    43. - source_service
    44. - source_version
    45. - destination_service
    46. - destination_version
    47. tcpbytereceived.metric.istio-system:
    48. label_names:
    49. - source_service
    50. - source_version
    51. - destination_service
    52. - destination_version
    53. logs:
    54. solarwindslogentry.logentry.istio-system:
    55. payloadTemplate: '{{or (.originIp) "-"}} - {{or (.sourceUser) "-"}} [{{or (.timestamp.Format "2006-01-02T15:04:05Z07:00") "-"}}] "{{or (.method) "-"}} {{or (.url) "-"}} {{or (.protocol) "-"}}" {{or (.responseCode) "-"}} {{or (.responseSize) "-"}}'
    FieldTypeDescriptionRequired
    appopticsAccessTokenstringAppOptics Access Token needed to send metrics to AppOptics. If no access token is given then metricswill NOT be shipped to AppOpticsNo
    appopticsBatchSizeint32Optional. Max batch size of metrics to be sent to AppOptics.AppOptics does not allow batch size greater than 1000.If this is unspecified or given a value 0 explicitly, a default batch size of 1000 will be used.No
    papertrailUrlstringPapertrail url to ship logs to. If no papertrail url is given then the logs will NOT be shipped but ratherdropped.No
    papertrailLocalRetentionDurationDurationThis is the duration for which logs will be persisted locally until it is shipped to papertrail in the eventof a network failure. Default value is 1 hour.No
    metricsmap<string, MetricInfo>A map of Istio metric name to solarwinds metric info.No
    logsmap<string, LogInfo>A map of Istio logentry name to solarwinds log info.No

    Params.LogInfo

    Describes how to represent an Istio log entry in Solarwinds AppOptics

    FieldTypeDescriptionRequired
    payloadTemplatestringOptional. A golang text/template template (more details about golang text/template’s templating can befound here: https://golang.org/pkg/text/template/) that will be executed to construct the payload forthis log entry.An example template that could be used:{{or (.originIp) “-”}} - {{or (.sourceUser) “-”}} [{{or (.timestamp.Format “2006-01-02T15:04:05Z07:00”) “-”}}] “{{or (.method) “-”}} {{or (.url) “-”}} {{or (.protocol) “-”}}” {{or (.responseCode) “-”}} {{or (.responseSize) “-”}}A sample log that will be created after parsing the template with appropriate variables will look like this:Jan 23 21:53:02 istio-mixer-57d88dc4b4-rbgmc istio: 10.32.0.15 - kubernetes://istio-ingress-78545c5bc9-wbr6g.istio-system [2018-01-24T02:53:02Z] “GET /productpage http” 200 5599It will be given the full set of variables for the log to use to construct its result.If it is not provided, a default template in place will be used.No

    Params.MetricInfo

    Describes how to represent an Istio metric in Solarwinds AppOptics

    FieldTypeDescriptionRequired
    labelNamesstring[]The names of labels to use: these need to match the dimensions of the Istio metric.No