Skip to content

Commit

Permalink
Merge pull request #29 from citrix/splunkupdate
Browse files Browse the repository at this point in the history
Updated the COE  with Splunk document. Done style relate…
  • Loading branch information
AneeshPunathil authored May 25, 2021
2 parents 0c6405f + b5d5685 commit 39a6442
Show file tree
Hide file tree
Showing 10 changed files with 99 additions and 6 deletions.
2 changes: 1 addition & 1 deletion docs/deploy-coe-with-Kafka.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Perform the following steps to deploy Citrix ADC Observability Exporter:

**Note**: The parameters are predefined in the `webserver-kafka.yaml` file.

For more information about Annotations, see [Ingress annotations help](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).
For more information about Annotations, see [Ingress annotations documentation](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).

## Deploy Citrix ADC CPX with the Citrix ADC Observability Exporter support

Expand Down
2 changes: 1 addition & 1 deletion docs/deploy-coe-with-es.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Perform the following steps to deploy Citrix Observability Exporter:

**Note**: The parameters are predefined in the `webserver-es.yaml` file.

For more information about Annotations, see [Ingress annotations help](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).
For more information about Annotations, see [Ingress annotations documentation](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).

## Deploy Citrix ADC CPX with the Citrix ADC Observability Exporter support

Expand Down
2 changes: 1 addition & 1 deletion docs/deploy-coe-with-prometheus.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ The following is an example procedure for deploying a sample webserver applicati

**Note**: The parameters are predefined in the `webserver-es.yaml` file.

For more information about Annotations, see [Ingress annotations help](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).
For more information about Annotations, see [Ingress annotations documentation](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).

### Deploy Citrix ADC CPX with support enabled for Citrix ADC Observability Exporter

Expand Down
85 changes: 85 additions & 0 deletions docs/deploy-coe-with-splunk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Citrix ADC Observability Exporter with Splunk Enterprise as endpoint

Citrix ADC Observability Exporter is a container that collects metrics and transactions from Citrix ADC and sends the data to various endpoints. Citrix ADC Observability Exporter supports Splunk Enterprise as an endpoint.

Splunk Enterprise is a data platform for searching, monitoring, and analyzing machine-generated big data. Splunk Enterprise captures indexes and correlates real-time data in a repository from which it can generate reports, graphs, dashboards, and visualizations.

You can add Splunk Enterprise as an endpoint to receive audit logs, events, and transactions from Citrix ADC for analysis. Splunk Enterprise provides a graphical representation of these data. You can enable or disable the type of transactions, events, and audit logs which are to be sent to Splunk Enterprise.

## Deploy Citrix ADC Observability Exporter

You can deploy Citrix ADC Observability Exporter using the YAML file. Based on your Citrix ADC deployment, you can deploy Citrix ADC Observability Exporter either outside or inside Kubernetes clusters. You can deploy Citrix ADC Observability Exporter as a pod inside the Kubernetes cluster or on the Citrix ADC MPX or VPX appliance outside the cluster.

The following diagram illustrates a Citrix ADC as an Ingress Gateway with the Citrix ingress controller and Citrix ADC Observability Exporter as sidecars. Citrix ADC Observability Exporter sends Citrix ADC application metrics and transaction data to Splunk Enterprise. Splunk Enterprise provides a graphical representation of the data.

![COE Splunk Enterprise architecture](media/coe-splunk-architecture.png)

**Prerequisites**

- Ensure that you have a Kubernetes cluster with `kube-dns` or `CoreDNS` addon enabled.

**Note**: In the following procedure, the YAML file is used to deploy Citrix ADC Observability Exporter in the Kubernetes *defauIt* namespace. If you want to deploy in a private namespace other than the *default*, edit the YAML file to specify the namespace.

Perform the following steps to deploy Citrix ADC Observability Exporter:

**Note**: If you have a pre-deployed web application, skip the steps 1 and 2.

1. Create a secret [ingress.crt](https://github.com/citrix/citrix-observability-exporter/blob/master/examples/ingress.crt) and key [ingress.key](https://github.com/citrix/citrix-observability-exporter/blob/master/examples/ingress.key) using your own certificate and key.

In this example, a secret, called *ing* in the default namespace, is created.

kubectl create secret tls ing --cert=ingress.crt --key=ingress.key

2. Access the YAML file from [webserver-splunk.yaml](https://raw.githubusercontent.com/citrix/citrix-observability-exporter/master/examples/splunk/webserver-splunk.yaml) to deploy the application.

kubectl create -f webserver-splunk.yaml

3. Define the specific parameters that you must import by specifying it in the ingress annotations of the application's YAML file, using the smart annotations in the ingress.

ingress.citrix.com/analyticsprofile: '{"webinsight": {"httpurl":"ENABLED", "httpuseragent":"ENABLED", "httpHost":"ENABLED","httpMethod":"ENABLED","httpContentType":"ENABLED"}}'

**Note**: The parameters are predefined in the `webserver-splunk.yaml` file.

For more information about Annotations, see [Ingress annotations documentation](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).

## Deploy Citrix ADC CPX with the Citrix ADC Observability Exporter support

You can deploy Citrix ADC CPX as a side car with the Citrix ADC Observability Exporter support enabled along with Citrix ingress controller. You can modify the Citrix ADC CPX YAML file `cpx-ingress-splunk.yaml` to include the configuration information that is required for the Citrix ADC Observability Exporter support.

Perform the following steps to deploy a Citrix ADC CPX instance with the Citrix ADC Observability Exporter support:

1. Download the [cpx-ingress-splunk.yaml](https://raw.githubusercontent.com/citrix/citrix-observability-exporter/master/examples/splunk/cpx-ingress-splunk.yaml) and [cic-configmap.yaml](https://raw.githubusercontent.com/citrix/citrix-observability-exporter/master/examples/splunk/cic-configmap.yaml) file.
2. Modify Citrix ADC CPX related parameters, as required.
3. Edit the `cic-configmap.yaml` file and specify the following variables for Citrix ADC Observability Exporter in the `NS_ANALYTICS_CONFIG` endpoint configuration.

server: 'coe-splunk.default.svc.cluster.local' # COE service FQDN

**Note**: If you have used a namespace other than *default*, change `coe-splunk.default.svc.cluster.local to` to `coe-splunk.<desired-namespace>.svc.cluster.local`. If Citrix ADC is outside the Kubernetes cluster, then you must specify IP address and nodport address of Citrix ADC Observability Exporter.

## Deploy Citrix ADC Observability Exporter using the YAML file

You can deploy Citrix ADC Observability Exporter using the YAML file. Download the YAML file from [coe-splunk.yaml](https://raw.githubusercontent.com/citrix/citrix-observability-exporter/master/examples/splunk/coe-splunk.yaml). Ensure to specify the Splunk server address for the right namespace.

**Note**: While deploying Citrix ADC Observability Exporter using the YAML file, along with the Splunk server address, you can provide the `Index` name to which the data to be sent in Splunk Enterprise. By default, this `IndexPrefix` option is empty and the data is uploaded to the default index, that is `main`, in Splunk Enterprise.

To deploy Citrix ADC Observability Exporter using the Kubernetes YAML, run the following command in the Splunk Enterprise endpoint:

kubectl create -f coe-splunk.yaml

**Note**: Modify the YAML file for Citrix ADC Observability Exporter if you have a custom namespace.

## Verify the Citrix ADC Observability Exporter deployment

You can verify the deployment after deploying Citrix ADC Observability Exporter, web application, Citrix ADC CPX, and Citrix ingress controller.

To verify the deployment, perform the following steps:

1. Verify the deployment using the following command:

kubectl get deployment,pods,svc -o wide

2. Access the application using a browser with the URL. For example, https://kubernetes-node-IP:cpx-ingress-splunk nodeport/.

3. Access the Splunk server using a browser with the URL. For example, https://splunk-node-IP:splunk nodeport/.

![Verification output](media/splunk-verification-output.png)
2 changes: 1 addition & 1 deletion docs/deploy-coe-with-zipkin.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ To deploy a sample application with tracing enabled, perform the following steps

**Note**: The parameters are predefined in the `watches-app-tracing.yaml` file.

For more information about annotations, see [Ingress annotations](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).
For more information about annotations, see [Ingress annotations documentation](https://github.com/citrix/citrix-k8s-ingress-controller/blob/666d6267e5b09683740528c5e8dd46f16d7d16e0/docs/configure/annotations.md).

## Deploy Citrix ADC CPX with the Citrix ADC Observability Exporter support

Expand Down
4 changes: 3 additions & 1 deletion docs/deploy-coe.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ Citrix ADC Observability Exporter supports the following endpoints: Kafka, Elast

- [Deploy Citrix ADC Observability Exporter with Elasticsearch](deploy-coe-with-es.md)

- [Deploy Citrix ADC Observability Exporter with Kafka](deploy-coe-with-Kafka.md)
- [Deploy Citrix ADC Observability Exporter with Kafka](deploy-coe-with-Kafka.md)

- [Deploy Citrix ADC Observability Exporter with Splunk](deploy-coe-with-splunk.md)
7 changes: 6 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
- [Kafka](https://kafka.apache.org/)
- [Elasticsearch](https://www.elastic.co/products/elasticsearch)
- [Prometheus](https://prometheus.io/docs/introduction/overview/)
- [Splunk](https://www.splunk.com/en_us/resources/videos/splunk-enterprise-overview-turning-machine-data-into-operational-intelligence.html)


## Overview

Expand All @@ -31,7 +33,6 @@ Citrix ADC Observability Exporter supports collecting transactions and streaming

Citrix ADC Observability Exporter supports collecting time series data (metrics) from Citrix ADC instances and exports them to Prometheus. Prometheus is a monitoring solution for storing time series data like metrics. You can then add Prometheus as a data source to Grafana and graphically view the Citrix ADC metrics and analyze the metrics.


## How does Citrix ADC Observability Exporter work

### Distributed tracing with Zipkin using Citrix ADC Observability Exporter
Expand All @@ -52,6 +53,10 @@ When Kafka is specified as the transaction endpoint, Citrix ADC Observability Ex

When Prometheus is specified as the format for time series data, Citrix ADC Observability Exporter collects various metrics from Citrix ADCs and converts them to appropriate Prometheus format and exports them to the Prometheus server. These metrics include counters of the virtual servers, services to which the analytics profile is bound and global counters of HTTP, TCP and so on.

### Citrix ADC Observability Exporter with Splunk Enterprise as the transaction endpoint

When Splunk Enterprise is specified as the transaction endpoint, Citrix ADC Observability Exporter converts the audit logs and transaction data to the appropriate format and exports them to the Splunk Enterprise.

## Deployment

You can deploy Citrix ADC Observability Exporter using Kubernetes YAML. To deploy Citrix ADC Observability Exporter using Kubernetes YAML, see [Deployment](deploy-coe.md). To deploy Citrix ADC Observability Exporter using Helm charts, see [Deploy using Helm charts](https://github.com/citrix/citrix-helm-charts/tree/master/citrix-observability-exporter).
Expand Down
Binary file added docs/media/coe-splunk-architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/media/splunk-verification-output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,5 @@ nav:
- Citrix ADC Observability Exporter with Prometheus and Grafana: deploy-coe-with-prometheus.md
- Citrix ADC Observability Exporter with Elasticsearch: deploy-coe-with-es.md
- Citrix ADC Observability Exporter with Kafka: deploy-coe-with-Kafka.md
- Citrix ADC Observability Exporter with Splunk Enterprise: deploy-coe-with-splunk.md
- Troubleshooting: coe-troubleshooting.md

0 comments on commit 39a6442

Please sign in to comment.