diff --git a/charts/lm-logs/Chart.yaml b/charts/lm-logs/Chart.yaml index 75d1219..291016a 100644 --- a/charts/lm-logs/Chart.yaml +++ b/charts/lm-logs/Chart.yaml @@ -1,10 +1,10 @@ apiVersion: v2 description: A Helm chart for sending k8s logs to Logic Monitor name: lm-logs -version: 0.6.1 +version: 0.7.0 maintainers: - email: dev@logicmonitor.com name: LogicMonitor icon: https://logicmonitor.github.io/helm-charts/lm_logo.png -appVersion: 1.2.0 +appVersion: 1.3.0 home: https://logicmonitor.github.io/helm-charts diff --git a/charts/lm-logs/Dockerfile b/charts/lm-logs/Dockerfile index 5b4f34a..2bdfb7d 100644 --- a/charts/lm-logs/Dockerfile +++ b/charts/lm-logs/Dockerfile @@ -1,4 +1,4 @@ FROM fluent/fluentd-kubernetes-daemonset:v1.16-debian-forward-1 USER root -RUN gem install fluent-plugin-lm-logs -v 1.1.0 +RUN gem install fluent-plugin-lm-logs -v 1.2.8 RUN gem install fluent-plugin-multi-format-parser -v 1.0.0 diff --git a/charts/lm-logs/README.md b/charts/lm-logs/README.md index 9214a38..cab9436 100644 --- a/charts/lm-logs/README.md +++ b/charts/lm-logs/README.md @@ -24,6 +24,7 @@ The following tables lists the configurable parameters of the lm-logs chart and | `global.nameOverride` | Global storage class for dynamic provisioning | `""` | | `global.fullnameOverride` | Global storage class for dynamic provisioning | `""` | | `global.lm_company_name` | LogicMonitor account name | `nil` | +| `global.lm_company_domain` | LogicMonitor company domain name | `logicmonitor.com` | | `global.lm_access_id` | LogicMonitor API Token Access ID | `nil` | | `global.lm_access_key` | LogicMonitor API Token Access Key | `nil` | | `image.repository` | Container image repository | `logicmonitor/lm-logs-k8s-fluentd` | @@ -34,6 +35,7 @@ The following tables lists the configurable parameters of the lm-logs chart and | `resources.requests.memory` | Container memory resource requests | `700Mi` | | `fluent.device_less_logs` | beta feature. when set true, do not send resource information. send `service` and `namespace` as metadata when true | `false` | | `fluent.include_metadata` | if true send all metadata along with log msg | `true` | +| `fluent.resource_type` | If specified, the value will be statically applied to all ingested logs. | `""` | | `fluent.buffer.memory` | fluentd's buffer memory plugin config | `flush_interval 1s,chunk_limit_size 8m,flush_thread_count 8`| | `tolerations` | Tolerations for pod assignment | `{}` (evaluated as a template) | | `nodeSelectors` | Node labels for pod assignment | `{}` (evaluated as a template) | @@ -44,7 +46,7 @@ The following tables lists the configurable parameters of the lm-logs chart and | `kubernetes.multiline_concat_key` | Key to look for fluentD to concatenate multiline logs | `"log"` | -### Avaialble Environment variables +### Available Environment variables For descriptions see: https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter * FLUENT_LOG_LEVEL @@ -70,24 +72,24 @@ When `fluent.device_less_logs=true` Anomaly detection will be done on `namespace` and `service` - namespace will be k8s namespace - service will be extracted from metadata for yaml in the following priority. - - kubernetets.labels.app ( deployments ) - - kubernetets.labels.app_kubernetes_io/name (daemon sets) - - kubernetets.container_name - - kubernetets.pod_name + - kubernetes.labels.app ( deployments ) + - kubernetes.labels.app_kubernetes_io/name (daemon sets) + - kubernetes.container_name + - kubernetes.pod_name #### Multiline log support for k8s lm logs To use regexp to match beginning of multiline set `kubernetes.multiline_start_regexp=` by default the regex is set to `/^\[(\d{4}-)?\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}.*\]/` ### Logs appearing in cri format -If conatiner runtime is containerD or cri-o, on lm-logs ui you might see logs with prefix eg. +If container runtime is containerD or cri-o, on lm-logs ui you might see logs with prefix eg. ``` 2016-10-06T00:17:09.669794202Z stdout F The content of the log entry 1 ``` To solve this we need to install lm-logs with following command : ``` helm upgrade --install -n \ ---set lm_company_name="" \ +--set lm_company_name="" \ --set lm_access_id="" \ --set lm_access_key=" \ --set env.FLUENT_CONTAINER_TAIL_PARSER_TYPE="cri" \ diff --git a/charts/lm-logs/templates/configmap.yaml b/charts/lm-logs/templates/configmap.yaml index 4446764..b76a6d0 100644 --- a/charts/lm-logs/templates/configmap.yaml +++ b/charts/lm-logs/templates/configmap.yaml @@ -47,7 +47,9 @@ data: @type lm company_name {{ if .Values.lm_company_name }} {{ .Values.lm_company_name }} {{ else }} {{ required "A valid .Values.lm_company_name or .Values.global.account entry is required!" .Values.global.account }} {{ end }} + company_domain {{ .Values.lm_company_domain | default .Values.global.companyDomain | default "logicmonitor.com" }} resource_mapping {"kubernetes.pod_name": "auto.name"} + resource_type {{ .Values.fluent.resource_type | default "" }} {{- if and ( or .Values.lm_access_id .Values.global.accessID ) ( or .Values.lm_access_key .Values.global.accessKey) }} access_id {{ .Values.lm_access_id | default .Values.global.accessID }} access_key {{ .Values.lm_access_key | default .Values.global.accessKey }} diff --git a/charts/lm-logs/values.schema.json b/charts/lm-logs/values.schema.json index 8036e30..59fdf8a 100644 --- a/charts/lm-logs/values.schema.json +++ b/charts/lm-logs/values.schema.json @@ -95,6 +95,18 @@ ], "$comment": "ui:lm_company_name-ignore tf:optional" }, + "lm_company_domain": { + "$id": "#/properties/lm_company_domain", + "type": "string", + "title": "Logicmonitor domain name", + "description": "The LogicMonitor domain name.nValue should be trimmed from URL \"company1.logicmonitor.com\"\nexample: lmqauat.logicmonitor.com then \"logicmonitor.com\" must be a valid value.", + "default": "", + "examples": [ + "logicmonitor.com", + "lmgov.us" + ], + "$comment": "ui:lm_company_domain-ignore tf:optional" + }, "clusterName": { "$id": "#/properties/clusterName", "type": "string", @@ -281,6 +293,9 @@ "include_metadata": { "type": "boolean" }, + "resource_type": { + "type" : "string" + }, "buffer": { "type": "object", "additionalProperties": false, diff --git a/charts/lm-logs/values.yaml b/charts/lm-logs/values.yaml index 4370aef..2c1bcb1 100644 --- a/charts/lm-logs/values.yaml +++ b/charts/lm-logs/values.yaml @@ -1,18 +1,20 @@ image: repository: logicmonitor/lm-logs-k8s-fluentd pullPolicy: Always - tag: "1.2.0" + tag: "1.3.0" lm_access_id: "" lm_access_key: "" lm_company_name: "" lm_bearer_token: "" +lm_company_domain: "" global: accessID: "" accessKey: "" account: "" clusterName: "" + companyDomain: "" imagePullSecrets: [] nameOverride: "" @@ -32,6 +34,7 @@ resources: fluent: device_less_logs: false include_metadata: true + resource_type: "" buffer: memory: flush_interval: 1s