1 ################################################################################
2 # Copyright (c) 2019 AT&T Intellectual Property. #
4 # Licensed under the Apache License, Version 2.0 (the "License"); #
5 # you may not use this file except in compliance with the License. #
6 # You may obtain a copy of the License at #
8 # http://www.apache.org/licenses/LICENSE-2.0 #
10 # Unless required by applicable law or agreed to in writing, software #
11 # distributed under the License is distributed on an "AS IS" BASIS, #
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
13 # See the License for the specific language governing permissions and #
14 # limitations under the License. #
15 ################################################################################
25 terminationGracePeriodSeconds: 30
28 repository: docker.elastic.co/logstash/logstash-oss
30 pullPolicy: IfNotPresent
31 ## Add secrets manually via kubectl on kubernetes cluster and reference here
33 # - name: "myKubernetesSecret"
39 # Set this to local, to preserve client source ip. Default stripes out the source ip
40 # externalTrafficPolicy: Local
42 ## AWS example for use with LoadBalancer service type.
43 # external-dns.alpha.kubernetes.io/hostname: logstash.cluster.local
44 # service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
45 # service.beta.kubernetes.io/aws-load-balancer-internal: "true"
49 # targetPort: syslog-udp
53 # targetPort: syslog-tcp
63 # loadBalancerIP: 10.0.0.1
64 # loadBalancerSourceRanges:
83 # kubernetes.io/ingress.class: nginx
84 # kubernetes.io/tls-acme: "true"
87 - logstash.cluster.local
89 # - secretName: logstash-tls
91 # - logstash.cluster.local
93 # set java options like heap size
94 logstashJavaOpts: "-Xmx1g -Xms1g"
97 # We usually recommend not to specify default resources and to leave this as a conscious
98 # choice for the user. This also increases chances charts run on environments with little
99 # resources, such as Minikube. If you do want to specify resources, uncomment the following
100 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
108 priorityClassName: ""
120 # requiredDuringSchedulingIgnoredDuringExecution:
121 # - topologyKey: "kubernetes.io/hostname"
127 # iam.amazonaws.com/role: "logstash-role"
128 # prometheus.io/scrape: "true"
129 # prometheus.io/path: "/metrics"
130 # prometheus.io/port: "9198"
134 # service: "logstash"
138 extraInitContainers: []
141 # imagePullPolicy: Always
146 podManagementPolicy: OrderedReady
147 # can be OrderReady or Parallel
152 #initialDelaySeconds: 20
155 # failureThreshold: 6
156 # successThreshold: 1
162 #initialDelaySeconds: 20
165 # failureThreshold: 6
166 # successThreshold: 1
170 ## logstash data Persistent Volume Storage Class
171 ## If defined, storageClassName: <storageClass>
172 ## If set to "-", storageClassName: "", which disables dynamic provisioning
173 ## If undefined (the default) or set to null, no storageClassName spec is
174 ## set, choosing the default provisioner. (gp2 on AWS, standard on
175 ## GKE, AWS & OpenStack)
178 accessMode: ReadWriteOnce
183 mountPath: /usr/share/logstash/data
185 mountPath: /usr/share/logstash/patterns
187 mountPath: /usr/share/logstash/files
189 mountPath: /usr/share/logstash/pipeline
194 # secretName: logstash-tls
197 # name: logstash-pipeline
206 repository: bonniernews/logstash_exporter
208 pullPolicy: IfNotPresent
234 host: elasticsearch-data.kube-system.svc.rec.io
237 ## ref: https://github.com/elastic/logstash-docker/blob/master/build/logstash/env2yaml/env2yaml.go
239 config.reload.automatic: "true"
240 path.config: /usr/share/logstash/pipeline
241 path.data: /usr/share/logstash/data
243 ## ref: https://www.elastic.co/guide/en/logstash/current/persistent-queues.html
244 queue.checkpoint.writes: 1
246 queue.max_bytes: 1gb # disk capacity must be greater than the value of `queue.max_bytes`
247 queue.type: persisted
249 ## Patterns for filters.
250 ## Each YAML heredoc will become a separate pattern file.
253 # TESTING {"foo":.*}$
255 ## Custom files that can be referenced by plugins.
256 ## Each YAML heredoc will become located in the logstash home directory under
257 ## the files subdirectory.
259 # logstash-template.json: |-
263 # "index_patterns": [
268 # "refresh_interval": "5s"
282 ## Custom binary files encoded as base64 string that can be referenced by plugins
283 ## Each base64 encoded string is decoded & mounted as a file under logstash home directory under
284 ## the files subdirectory.
287 ## NOTE: To achieve multiple pipelines with this chart, current best practice
288 ## is to maintain one pipeline per chart release. In this way configuration is
289 ## simplified and pipelines are more isolated from one another.
312 # ## ref: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html
313 # bootstrap_servers => "kafka-input:9092"
314 # codec => json { charset => "UTF-8" }
315 # consumer_threads => 1
316 # topics => ["source"]
325 if "GS-LITE MC" in [message] {
326 if "mc_connected_cnt" in [message] {
328 columns => ["reportingEntityName","eventType","count_connected_ue","TS"]
331 "count_connected_ue" => "integer"
336 match => [ "TS", "UNIX" ]
340 else if "mc_unique_ue_cnt" in [message] {
342 columns => ["reportingEntityName","eventType","count_unique_ue","TS"]
345 "count_unique_ue" => "integer"
350 match => [ "TS", "UNIX" ]
354 else if "reconfig_status_reject_cause" in [message] {
356 columns => ["reportingEntityName","eventType","total_reconfig_reject","count_radio_network","count_transport","count_protocol","count_misc","GNB_ID","TS"]
359 "total_reconfig_reject" => "integer"
360 "count_radio_network" => "integer"
361 "count_transport" => "integer"
362 "count_protocol" => "integer"
363 "count_misc" => "integer"
368 match => [ "TS", "UNIX" ]
372 else if "release_req_success_stats" in [message] {
374 columns => ["reportingEntityName","eventType","min_success_time","max_success_time","avg_success_time","pctl_05_success_time","pctl_95_success_time","GNB_ID","stddev_success_time","TS"]
377 "min_success_time" => "float"
378 "max_success_time" => "float"
379 "avg_success_time" => "float"
380 "pctl_05_success_time" => "float"
381 "pctl_95_success_time" => "float"
382 "stddev_success_time" => "float"
387 match => [ "TS", "UNIX" ]
391 else if "mod_status_refuse_cause" in [message] {
393 columns => ["reportingEntityName","eventType","total_reconfig_refuse","count_radio_network","count_transport","count_protocol","count_misc","GNB_ID","TS"]
396 "total_reconfig_refuse" => "integer"
397 "count_radio_network" => "integer"
398 "count_transport" => "integer"
399 "count_protocol" => "integer"
400 "count_misc" => "integer"
405 match => [ "TS", "UNIX" ]
409 else if "release_cause" in [message] {
411 columns => ["reportingEntityName","eventType","total_reconfig_refuse","count_radio_network","count_transport","count_protocol","count_misc","GNB_ID","TS"]
414 "total_reconfig_refuse" => "integer"
415 "count_radio_network" => "integer"
416 "count_transport" => "integer"
417 "count_protocol" => "integer"
418 "count_misc" => "integer"
423 match => [ "TS", "UNIX" ]
427 else if "addreq_pdf_nr_gnb" in [message] {
429 columns => ["reportingEntityName","eventType","rsrp_medium","rsrp_bad","cnt","rsrp_vbad","GNB_ID","rsrp_good","rsrp_vgood","TS"]
432 "rsrp_medium" => "integer"
433 "rsrp_bad" => "integer"
435 "rsrp_vbad" => "integer"
436 "rsrp_good" => "integer"
437 "rsrp_vgood" => "integer"
442 match => [ "TS", "UNIX" ]
446 else if "addreq_success_stats" in [message] {
448 columns => ["reportingEntityName","eventType","stddev_success_time","max_success_time","avg_success_time","pctl_95_success_time","pctl_05_success_time","GNB_ID","min_success_time","TS"]
451 "stddev_success_time" => "float"
452 "max_success_time" => "float"
453 "avg_success_time" => "float"
454 "pctl_95_success_time" => "float"
455 "pctl_05_success_time" => "float"
456 "min_success_time" => "float"
461 match => [ "TS", "UNIX" ]
465 else if "mc_connects_cnt" in [message] {
467 columns => ["reportingEntityName","eventType","count_ue_connects","TS"]
470 "count_ue_connects" => "integer"
475 match => [ "TS", "UNIX" ]
479 else if "erab_stats" in [message] {
481 columns => ["reportingEntityName","eventType","qCI_other","total_erabs","qCI_9","qCI_8","qCI_7","qCI_6","qCI_5","qCI_4","qCI_3","qCI_2","qCI_1","TS"]
484 "qCI_other" => "integer"
485 "total_erabs" => "integer"
499 match => [ "TS", "UNIX" ]
503 else if "mc_disconnects_cnt" in [message] {
505 columns => ["reportingEntityName","eventType","count_ue_disconnects","TS"]
508 "count_ue_disconnects" => "integer"
513 match => [ "TS", "UNIX" ]
517 else if "reconfig_status_success_rate" in [message] {
519 columns => ["reportingEntityName","eventType","successful_reconfiguration_requests","GNB_ID","success_rate","total_reconfiguration_requests","TS"]
522 "successful_reconfiguration_requests" => "integer"
523 "success_rate" => "integer"
524 "total_reconfiguration_requests" => "integer"
529 match => [ "TS", "UNIX" ]
533 else if "addreq_pdf_nr_cell" in [message] {
535 columns => ["reportingEntityName","eventType","rsrp_medium","rsrp_bad","cnt","rsrp_vbad","CELL_ID","rsrp_good","rsrp_vgood","TS"]
538 "rsrp_medium" => "integer"
539 "rsrp_bad" => "integer"
541 "rsrp_vbad" => "integer"
542 "CELL_ID" => "integer"
543 "rsrp_good" => "integer"
544 "rsrp_vgood" => "integer"
549 match => [ "TS", "UNIX" ]
553 else if "rrcx_pdf_serv_cell" in [message] {
555 columns => ["reportingEntityName","eventType","rsrp_medium","rsrp_bad","cnt","rsrp_vbad","CELL_ID","rsrp_good","rsrp_vgood","TS"]
558 "rsrp_medium" => "integer"
559 "rsrp_bad" => "integer"
561 "rsrp_vbad" => "integer"
562 "CELL_ID" => "integer"
563 "rsrp_good" => "integer"
564 "rsrp_vgood" => "integer"
569 match => [ "TS", "UNIX" ]
573 else if "rrcx_stats_serv_gnb" in [message] {
575 columns => ["reportingEntityName","eventType","median_rsrp","cnt","max_rsrp","stddev_rsrp","GNB_ID","pctl_95_rsrp","pctl_05_rsrp","TS","min_rsrp"]
578 "median_rsrp" => "integer"
580 "max_rsrp" => "integer"
581 "stddev_rsrp" => "float"
582 "pctl_95_rsrp" => "integer"
583 "pctl_05_rsrp" => "integer"
585 "min_rsrp" => "integer"
589 match => [ "TS", "UNIX" ]
593 else if "addreq_stats_nr_cell" in [message] {
595 columns => ["reportingEntityName","eventType","median_rsrp","cnt","max_rsrp","stddev_rsrp","CELL_ID","pctl_95_rsrp","pctl_05_rsrp","TS","min_rsrp"]
598 "median_rsrp" => "integer"
600 "max_rsrp" => "integer"
601 "stddev_rsrp" => "float"
602 "CELL_ID" => "integer"
603 "pctl_95_rsrp" => "integer"
604 "pctl_05_rsrp" => "integer"
606 "min_rsrp" => "integer"
610 match => [ "TS", "UNIX" ]
614 else if "addreq_stats_nr_gnb" in [message] {
616 columns => ["reportingEntityName","eventType","median_rsrp","cnt","max_rsrp","stddev_rsrp","GNB_ID","pctl_95_rsrp","pctl_05_rsrp","TS","min_rsrp"]
619 "median_rsrp" => "integer"
621 "max_rsrp" => "integer"
622 "stddev_rsrp" => "float"
623 "pctl_95_rsrp" => "integer"
624 "pctl_05_rsrp" => "integer"
626 "min_rsrp" => "integer"
630 match => [ "TS", "UNIX" ]
634 else if "mc_connection_stats" in [message] {
636 columns => ["reportingEntityName","eventType","avg_connected_time","pctl_05_connected_time","pctl_95_connected_time","min_connected_time","stddev_connected_time", "max_connected_time", "TS"]
639 "avg_connected_time" => "float"
640 "pctl_05_connected_time" => "float"
641 "pctl_95_connected_time" => "float"
642 "min_connected_time" => "float"
643 "stddev_connected_time" => "float"
644 "max_connected_time" => "float"
649 match => [ "TS", "UNIX" ]
654 else if "AC xAPP" in [message] {
656 columns => ["reportingEntityName","SgNB_Request_Rate","SgNB_Accept_Rate"]
659 "SgNB_Request_Rate" => "integer"
660 "SgNB_Accept_Rate" => "integer"
666 columns => ["reportingEntityName","Unknown1","Unknown2"]
676 if "GS-LITE MC" in [reportingEntityName] {
677 if "mc_connected_cnt" in [eventType] {
679 hosts => "elasticsearch-data.kube-system.svc.rec.io"
680 index => "events-ves-mc-connected-cnt"
683 else if "erab_stats" in [eventType] {
685 hosts => "elasticsearch-data.kube-system.svc.rec.io"
686 index => "events-ves-mc-erab-stats"
689 else if "reconfig_status_reject_cause" in [eventType] {
691 hosts => "elasticsearch-data.kube-system.svc.rec.io"
692 index => "events-ves-mc-reconfig-status-reject-cause"
695 else if "release_req_success_stats" in [eventType] {
697 hosts => "elasticsearch-data.kube-system.svc.rec.io"
698 index => "events-ves-mc-release-req-success-stats"
701 else if "mod_status_refuse_cause" in [eventType] {
703 hosts => "elasticsearch-data.kube-system.svc.rec.io"
704 index => "events-ves-mc-mod-status-refuse-cause"
707 else if "release_cause" in [eventType] {
709 hosts => "elasticsearch-data.kube-system.svc.rec.io"
710 index => "events-ves-mc-release-cause"
713 else if "mc_unique_ue_cnt" in [eventType] {
715 hosts => "elasticsearch-data.kube-system.svc.rec.io"
716 index => "events-ves-mc-unique-ue-cnt"
719 else if "mc_connection_stats" in [eventType] {
721 hosts => "elasticsearch-data.kube-system.svc.rec.io"
722 index => "events-ves-mc-conn-stats"
725 else if "addreq_pdf_nr_gnb" in [eventType] {
727 hosts => "elasticsearch-data.kube-system.svc.rec.io"
728 index => "events-ves-mc-addreq-pdf-nr-gnb"
731 else if "rrcx_stats_serv_gnb" in [eventType] {
733 hosts => "elasticsearch-data.kube-system.svc.rec.io"
734 index => "events-ves-mc-rrcx-stats-serv-gnb"
737 else if "rrcx_pdf_serv_cell" in [eventType] {
739 hosts => "elasticsearch-data.kube-system.svc.rec.io"
740 index => "events-ves-mc-rrcx-pdf-serv-cell"
743 else if "reconfig_status_success_rate" in [eventType] {
745 hosts => "elasticsearch-data.kube-system.svc.rec.io"
746 index => "events-ves-mc-reconfig-status-success-rate"
749 else if "mc_disconnects_cnt" in [eventType] {
751 hosts => "elasticsearch-data.kube-system.svc.rec.io"
752 index => "events-ves-mc-disconnects-cnt"
755 else if "mc_connects_cnt" in [eventType] {
757 hosts => "elasticsearch-data.kube-system.svc.rec.io"
758 index => "events-ves-mc-connects-cnt"
761 else if "addreq_success_stats" in [eventType] {
763 hosts => "elasticsearch-data.kube-system.svc.rec.io"
764 index => "events-ves-mc-addreq-success-stats"
767 else if "addreq_stats_nr_gnb" in [eventType] {
769 hosts => "elasticsearch-data.kube-system.svc.rec.io"
770 index => "events-ves-mc-addreq-stats-nr-gnb"
773 else if "addreq_stats_nr_cell" in [eventType] {
775 hosts => "elasticsearch-data.kube-system.svc.rec.io"
776 index => "events-ves-mc-addreq-stats-nr-cell"
779 else if "addreq_pdf_nr_cell" in [eventType] {
781 hosts => "elasticsearch-data.kube-system.svc.rec.io"
782 index => "events-ves-mc-addreq-pdf-nr-cell"
786 else if "AC xAPP" in [reportingEntityName] {
788 hosts => "elasticsearch-data.kube-system.svc.rec.io"
789 index => "events-ves-ac"
794 hosts => "elasticsearch-data.kube-system.svc.rec.io"
795 index => "events-ves-other"