diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b7f44c4..5b661966 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,13 @@ # Change Log -## 2024-04-22 +## 2024-04-29 ### Added - Support for Management Agent Daemonset deployment +### Changed +- Fluentd collector container image uptake to 1.4.1 having changes to uptake new OL8, ruby-default-gems versions. It also has changes to remove fluent-plugin-kubernetes-objects plugin dependency. + - Similar updates to build files (Dockerfile, Gemfile) that helps building custom container image. +- Minor fixes to Documentation. +- Minor fix to help `Kubelet logs` to use `Kubernetes Kubelet Logs` Log Source instead of `Linux System Logs` for Kubernetes versions above 1.25. ## 2024-03-08 ### Added diff --git a/README.md b/README.md index e9776848..8dc7ccb1 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ Dashboards needs to be imported manually. Below is an example for importing Dash Use the following `helm uninstall` command to uninstall the chart. Provide the release name used when creating the chart. ``` -helm upgrade --values +helm uninstall ``` Refer [this](https://helm.sh/docs/helm/helm_uninstall/) for further details on `helm uninstall`. diff --git a/charts/logan/Chart.yaml b/charts/logan/Chart.yaml index 1924bae4..d080c8d5 100644 --- a/charts/logan/Chart.yaml +++ b/charts/logan/Chart.yaml @@ -5,7 +5,7 @@ apiVersion: v2 name: oci-onm-logan description: Charts for sending Kubernetes platform logs, compute logs, and Kubernetes Objects information to OCI Logging Analytics. type: application -version: 3.4.0 +version: 3.4.1 appVersion: "3.0.0" dependencies: diff --git a/charts/logan/templates/logs-configmap.yaml b/charts/logan/templates/logs-configmap.yaml index 6e1e3533..9e2ef109 100644 --- a/charts/logan/templates/logs-configmap.yaml +++ b/charts/logan/templates/logs-configmap.yaml @@ -256,12 +256,12 @@ data: hostname_command {{ (($.Values.fluentd).rewriteTagPlugin).hostname_command | default "cat /etc/hostname" }} key message - pattern /kubelet:/ + pattern /kubelet/ tag oci{{- ternary (print "." $currWorker) "" $multiWorkersEnabled }}.oke.syslog.kubelet.* key message - pattern /^((?!kubelet:).)*$/ + pattern /^((?!kubelet).)*$/ tag oci{{- ternary (print "." $currWorker) "" $multiWorkersEnabled }}.oke.syslog.syslog.* diff --git a/charts/logan/values.yaml b/charts/logan/values.yaml index d2d119a7..2b71c289 100644 --- a/charts/logan/values.yaml +++ b/charts/logan/values.yaml @@ -48,7 +48,7 @@ image: # Image pull secrets for. Secret must be in the namespace defined by namespace imagePullSecrets: # -- Replace this value with actual docker image url - url: container-registry.oracle.com/oci_observability_management/oci-la-fluentd-collector:1.4.0 + url: container-registry.oracle.com/oci_observability_management/oci-la-fluentd-collector:1.4.1 # -- Image pull policy imagePullPolicy: Always diff --git a/charts/oci-onm/Chart.yaml b/charts/oci-onm/Chart.yaml index 0530999e..94c0cefd 100644 --- a/charts/oci-onm/Chart.yaml +++ b/charts/oci-onm/Chart.yaml @@ -32,7 +32,7 @@ dependencies: repository: "file://../common" condition: oci-onm-common.enabled - name: oci-onm-logan - version: "3.4.0" + version: "3.4.1" repository: "file://../logan" condition: oci-onm-logan.enabled - name: oci-onm-mgmt-agent diff --git a/charts/oci-onm/values.yaml b/charts/oci-onm/values.yaml index 5fa0d0c1..284637fd 100644 --- a/charts/oci-onm/values.yaml +++ b/charts/oci-onm/values.yaml @@ -31,7 +31,7 @@ oci-onm-logan: kubernetesClusterID: "{{ .Values.global.kubernetesClusterID }}" kubernetesClusterName: "{{ .Values.global.kubernetesClusterName }}" image: - url: container-registry.oracle.com/oci_observability_management/oci-la-fluentd-collector:1.4.0 + url: container-registry.oracle.com/oci_observability_management/oci-la-fluentd-collector:1.4.1 # Go to OCI Logging Analytics Administration, click Service Details, and note the namespace value. ociLANamespace: # OCI Logging Analytics Default Log Group OCID diff --git a/docs/custom-logs.md b/docs/custom-logs.md index 44bb1606..118ce24b 100644 --- a/docs/custom-logs.md +++ b/docs/custom-logs.md @@ -36,13 +36,14 @@ oci-onm-logan: ... ... fluentd: - ... - ... + ... + ... + customLogs: custom-log1: - path: /var/log/containers/custom-1.log - ociLALogSourceName: "Custom1 Logs" - multilineStartRegExp: - isContainerLog: true + path: /var/log/containers/custom-1.log + ociLALogSourceName: "Custom1 Logs" + multilineStartRegExp: + isContainerLog: true ``` The following example demonstrates a non container customLogs configuration @@ -54,13 +55,14 @@ oci-onm-logan: ... ... fluentd: - ... - ... + ... + ... + customLogs: custom-log2: - path: /var/log/custom/custom-2.log - ociLALogSourceName: "Custom2 Logs" - multilineStartRegExp: - isContainerLog: false + path: /var/log/custom/custom-2.log + ociLALogSourceName: "Custom2 Logs" + multilineStartRegExp: + isContainerLog: false ``` #### Use Fluentd conf diff --git a/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile b/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile index c71b4f14..f10f0344 100644 --- a/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile +++ b/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile @@ -4,14 +4,15 @@ source "https://rubygems.org" gem "oj", "3.16.1" -gem "json", "2.6.3" +gem "json", "2.7.1" gem "fluentd", "1.16.2" -gem "fluent-plugin-oci-logging-analytics", "2.0.5" +gem "fluent-plugin-oci-logging-analytics", "2.0.6" gem "fluent-plugin-concat", "~> 2.5.0" gem "fluent-plugin-rewrite-tag-filter", "~> 2.4.0" gem "fluent-plugin-parser-cri", "~> 0.1.1" gem "fluent-plugin-kubernetes_metadata_filter", "3.3.0" -gem "fluent-plugin-kubernetes-objects", "1.2.3" +gem "oci-logging-analytics-kubernetes-discovery", "1.0.0" gem "fluent-plugin-record-modifier", "2.1.1" gem "fluent-plugin-cloudwatch-logs", "0.14.3" gem "fluent-plugin-s3", "1.7.2" +gem "rexml", "3.2.6" diff --git a/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile.lock b/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile.lock index 0c681fa9..0a4983be 100644 --- a/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile.lock +++ b/logan/docker-images/v1.0/oraclelinux/8-slim/Gemfile.lock @@ -3,7 +3,29 @@ GEM specs: addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) - concurrent-ruby (1.2.2) + aws-eventstream (1.2.0) + aws-partitions (1.813.0) + aws-sdk-cloudwatchlogs (1.69.0) + aws-sdk-core (~> 3, >= 3.177.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.181.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.71.0) + aws-sdk-core (~> 3, >= 3.177.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.134.0) + aws-sdk-core (~> 3, >= 3.181.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.6) + aws-sdk-sqs (1.62.0) + aws-sdk-core (~> 3, >= 3.177.0) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.6.0) + aws-eventstream (~> 1, >= 1.0.2) + concurrent-ruby (1.2.3) cool.io (1.8.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) @@ -13,27 +35,32 @@ GEM rake fluent-config-regexp-type (1.0.0) fluentd (> 1.0.0, < 2) + fluent-plugin-cloudwatch-logs (0.14.3) + aws-sdk-cloudwatchlogs (~> 1.0) + fluentd (>= 1.8.0) fluent-plugin-concat (2.5.0) fluentd (>= 0.14.0, < 2) - fluent-plugin-kubernetes-objects (1.2.3) - fluentd (>= 1.9.1) - http_parser.rb (= 0.8.0) - kubeclient (~> 4.9.3) fluent-plugin-kubernetes_metadata_filter (3.3.0) fluentd (>= 0.14.0, < 1.17) kubeclient (>= 4.0.0, < 5.0.0) lru_redux - fluent-plugin-oci-logging-analytics (2.0.5) + fluent-plugin-oci-logging-analytics (2.0.6) fluentd (>= 0.14.10, < 2) oci (~> 2.16) - prometheus-client (~> 4.0.0) + prometheus-client (~> 4.0) rubyzip (~> 2.3.2) yajl-ruby (~> 1.4, >= 1.4.3) fluent-plugin-parser-cri (0.1.1) fluentd (>= 1) + fluent-plugin-record-modifier (2.1.1) + fluentd (>= 1.0, < 2) fluent-plugin-rewrite-tag-filter (2.4.0) fluent-config-regexp-type fluentd (>= 0.14.2, < 2) + fluent-plugin-s3 (1.7.2) + aws-sdk-s3 (~> 1.60) + aws-sdk-sqs (~> 1.23) + fluentd (>= 0.14.22, < 2) fluentd (1.16.2) bundler cool.io (>= 1.4.5, < 2.0.0) @@ -59,7 +86,8 @@ GEM ffi-compiler (>= 1.0, < 2.0) http_parser.rb (0.8.0) inifile (3.0.0) - json (2.6.3) + jmespath (1.6.2) + json (2.7.1) jsonpath (1.1.4) multi_json jwt (2.7.1) @@ -75,12 +103,21 @@ GEM msgpack (1.7.2) multi_json (1.15.0) netrc (0.11.0) - oci (2.18.0) + oci (2.20.0) inifile (~> 3.0, >= 3.0.0) json (>= 1.4.6, < 3.0.0) jwt (~> 2.1) + psych (>= 3.1.0, < 5.0.0) + oci-logging-analytics-kubernetes-discovery (1.0.0) + concurrent-ruby (~> 1.2.2) + kubeclient (~> 4.9.3) + oci (~> 2.20.0) + rubyzip (~> 2.3.2) + yajl-ruby (~> 1.0) oj (3.16.1) prometheus-client (4.0.0) + psych (4.0.6) + stringio public_suffix (5.0.3) rake (13.0.6) recursive-open-struct (1.1.3) @@ -89,11 +126,12 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) + rexml (3.2.6) rubyzip (2.3.2) serverengine (2.3.2) sigdump (~> 0.2.2) sigdump (0.2.5) - stringio (3.0.8) + stringio (3.1.0) strptime (0.2.5) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -109,15 +147,19 @@ PLATFORMS x86_64-linux DEPENDENCIES + fluent-plugin-cloudwatch-logs (= 0.14.3) fluent-plugin-concat (~> 2.5.0) - fluent-plugin-kubernetes-objects (= 1.2.3) fluent-plugin-kubernetes_metadata_filter (= 3.3.0) - fluent-plugin-oci-logging-analytics (= 2.0.5) + fluent-plugin-oci-logging-analytics (= 2.0.6) fluent-plugin-parser-cri (~> 0.1.1) + fluent-plugin-record-modifier (= 2.1.1) fluent-plugin-rewrite-tag-filter (~> 2.4.0) + fluent-plugin-s3 (= 1.7.2) fluentd (= 1.16.2) - json (= 2.6.3) + json (= 2.7.1) + oci-logging-analytics-kubernetes-discovery (= 1.0.0) oj (= 3.16.1) + rexml (= 3.2.6) BUNDLED WITH 2.3.25