Skip to content

siglens/charts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SigLens Helm Chart

SigLens Helm Chart provides a simple deployment for a highly performant, low overhead observability solution that supports automatic Kubernetes events & container logs exporting

TLDR Installation:

helm repo add siglens-repo https://siglens.github.io/charts
helm install siglens siglens-repo/siglens

Installation

Please ensure that helm is installed.

To install SigLens from source:

git clone
cd charts/siglens
helm install siglens .

Important configs in values.yaml

Values Description
siglens.configs Server configs for siglens
siglens.storage Defines storage class to use for siglens StatefulSet
siglens.storage.size Storage size for persistent volume claim. Recommended to be half of license limit
siglens.ingest.service Configurations to expose an ingest service
siglens.ingest.service Configurations to expose a query service
k8sExporter.enabled Enable automatic exporting of k8s events using an exporting tool
k8sExporter.configs.index Output index name for kubernetes events
logsExporter.enabled Enable automatic exporting of logs using a Daemonset fluentd
logsExporter.configs.indexPrefix Prefix of index name used by logStash. Suffix will be namespace of log source

If k8sExporter or logsExporter is enabled, then a ClusterRole will be created to get/watch/list all resources in all apigroups. Which resources and apiGroups can be edited in serviceAccount.yaml

Storage options

Currently, only awsEBS and local storage classes provisioners can be configured by setting storage.defaultClass: false and setting the required configs. To add more types of storage classes, add the necessary provisioner info to storage.yaml.

It it recommended to use a storage class that supports volume expansion.

Example configuration to use an EBS storage class.

storage:
    defaultClass: false
    size: 20Gi
    awsEBS:
      parameters: 
        type: "gp2"
        fsType: "ext4"

Example configuration to use a local storage class.

storage:
    defaultClass: false
    size: 20Gi
    local:
        hostname: minikube
        capacity: 5Gi 
        path: /data # must be present on local machine

Credentials

To add AWS credentials, add the following configuration:

serviceAccount:
  annotations:
    eks.amazonaws.com/role-arn: <<arn-of-role-to-use>>

If issues with AWS credentials are encountered, refer to this guide.

To use abc.txt as a license, add the following configmap:

kubectl create configmap siglens-license --from-file=license.txt=abc.txt

Set the following config:

siglens:
  configs:
    license: abc.txt

Siglensent

Installation

Create a custom-values.yaml file where you'll supply your license and other configurations. By default the chart installs into the siglens namespace; you can change this in your custom-values.yaml, or you can first create that namespace with kubectl create namespace siglens. Then install with:

helm repo add siglens-repo https://siglens.github.io/charts
helm install siglensent siglens-repo/siglensent -f custom-values.yaml --namespace siglens

If TLS is enabled, you'll need to update your DNS to point to the ingress controller. You can find the load balancer with:

kubectl get svc --all-namespaces

Look for the service with the ingress-nginx-controller name in the namespace you installed into. Then make a CNAME record in your DNS to point to the load balancer.

Note: If you uninstall and reinstall the chart, you'll need to update your DNS again. But if you do a helm upgrade instead, the ingress controller will persist, so you won't have to update your DNS.