title | linkTitle | description |
---|---|---|
Enable Logging in Armory Continuous Deployment |
Enable Logging |
Log data about what individual accounts and functions are doing within Armory Continuous Deployment. Push data to your chosen aggregator, including Splunk. Configure Splunk dashboards to display Armory Continuous Deployment logging data.
|
Metrics allow you to investigate the health of your Armory Continuous Deployment system. Armory's [Observability Plugin]({{< ref "observability-configure.md" >}}) provides a good overview of data over time about what is happening in particular services. You can monitor data points such as overall load, number of errors, and connection speeds.
Logging, on the other hand, is more useful for tracing data about what individual accounts and functions are doing within Armory Continuous Deployment. This data provides an overview on applications and errors and is primarily for auditing purposes. Armory Continuous Deployment captures logging data in the Echo service, so you can configure Echo to send logging data to your data aggregator.
You have set up a data aggregator with a unique endpoint. You need the endpoint and an authorization token when you enable logging in Armory Continuous Deployment. Documentation for some popular data aggregators:
The following configuration example shows how to configure Echo to send data to Splunk. If you are using another data aggregator, replace the url
value with the endpoint for your aggregator.
Add the rest block to the spec.spinnakerConfig.profiles.echo section of your Operator manifest.
apiVersion: spinnaker.armory.io/v1alpha2
kind: SpinnakerService
metadata:
name: spinnaker
spec:
spinnakerConfig:
profiles:
echo:
rest:
enabled: true
endpoints:
- wrap: true
url: "http://<SERVICE_URL>:<PORT>/services/collector/event?"
headers:
Authorization: "<TOKEN>"
template: '{"event":{{event}} }'
insecure: true
SERVICE_URL
: the FQDN of the service; for examplehttps://splunk.armory.io
.PORT
: the TCP listener port available in your aggregator.TOKEN
: the authorization token for your aggregator.
The default port for Splunk's HTTP Event Collector (HEC) is either 8088 or 8089 depending on your Splunk version. This port is used if you do not configure a TCP listener. Any TCP listener config is a custom port assignment. See the Metric data does not flow into Splunk despite setting up HEC Connection KB article for more on Splunk HEC and ports.
The SERVICE_URL:PORT
can be HTTPS, which would remove the need for the insecure TOKEN
. Consult your specific data aggregator provider's documentation for how to configure an HTTPS endpoint.
You can either wait for events to flow or run a new pipeline to test that Echo is sending logging details to your aggregator. You should now be able to search the Armory Continuous Deployment index and see events coming in. If you don't see any data, Echo's logs may point to the source of the problem.
After data is sent to your aggregator, you can set up dashboards to display useful data. Consult your data aggregator's documentation for details on creating dashboards.
If you are using Splunk, you can create a dashboard and then define the dashboard characteristics using a JSON file. The following examples show different dashboards created from logging data. Each example includes the JSON file that defines the dashboard characteristics.
{{< figure src="/images/armory-admin/metrics/dash-developer-insights.png" alt="Developer insights dashboard" >}}
Show me the JSON
{{< github repo="armory/logging-dashboards" file="json/armory-admin/metrics/developerInsights.json" lang="json" options="" >}}
{{< figure src="/images/armory-admin/metrics/dash-software-deployments.png" alt="Software deployments dashboard" >}}
Show me the JSON
{{< github repo="armory/logging-dashboards" file="json/armory-admin/metrics/softwareDeployments.json" lang="json" options="" >}}
{{< figure src="/images/armory-admin/metrics/dash-ae-platform.png" alt="Armory Continuous Deployment platform dashboard" >}}
Show me the JSON
{{< github repo="armory/logging-dashboards" file="json/armory-admin/metrics/armoryEnterprisePlatform.json" lang="json" options="" >}}
{{< figure src="/images/armory-admin/metrics/dash-continuous-verification.png" alt="Armory Continuous Deployment platform dashboard" >}}
Show me the JSON
{{< github repo="armory/logging-dashboards" file="json/armory-admin/metrics/continuousVerification.json" lang="json" options="" >}}
{{< figure src="/images/armory-admin/metrics/dash-compliance-center.png" alt="Armory Continuous Deployment platform dashboard" >}}
Show me the JSON
{{< github repo="armory/logging-dashboards" file="json/armory-admin/metrics/complianceCenter.json" lang="json" options="" >}}