diff --git a/.github/workflows/publish-version-4.9.yaml b/.github/workflows/publish-version-4.9.yaml new file mode 100644 index 000000000..d3c9fb0c5 --- /dev/null +++ b/.github/workflows/publish-version-4.9.yaml @@ -0,0 +1,86 @@ +name: Publish version 4.9 + +env: + doc_versionnumber: "4.9" + +on: + push: + branches: + - release-4.9 + workflow_dispatch: + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + permissions: + contents: write + pages: write + id-token: write + + concurrency: + group: "pages" + cancel-in-progress: false + + environment: + name: github-pages-test + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Checkout code + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + ref: release-4.9 + submodules: 'recursive' + + - name: Set up Pages + id: pages + uses: actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d # v4.0.0 + + - name: Set up Hugo + uses: peaceiris/actions-hugo@16361eb4acea8698b220b76c0d4e84e1fd22c61d # v2.6.0 + with: + hugo-version: '0.110.0' + extended: true + + - name: Set up Node + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + with: + node-version: 18 + + - name: Install dependencies + run: | + cd themes/docsy + npm install + + - name: Set up PostCSS + run: npm install --save-dev autoprefixer postcss-cli postcss + + - name: Build + run: hugo --environment production --baseURL ${{ steps.pages.outputs.base_url }}/${{ env.doc_versionnumber }}/ + + # - name: Upload artifact + # uses: actions/upload-pages-artifact@64bcae551a7b18bcb9a09042ddf1960979799187 # v1.0.8 + # with: + # path: ./public/ + + - name: Checkout code to update + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + ref: 'gh-pages-test' + path: 'tmp/gh-pages' + # - name: Display file structure + # run: ls -R + - name: Copy built site to GH pages + run: | + rm -rf tmp/gh-pages/${{ env.doc_versionnumber }} + mkdir -p tmp/gh-pages/${{ env.doc_versionnumber }} + mv public/* tmp/gh-pages/${{ env.doc_versionnumber }} + - name: Commit & Push changes + uses: actions-js/push@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + message: 'Publish updated docs for ${{ env.doc_versionnumber }}, ${{ github.event.repository.pushed_at}}' + branch: 'gh-pages-test' + directory: 'tmp/gh-pages' diff --git a/config/_default/config.toml b/config/_default/config.toml index f3c9f1315..412cf7263 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -65,7 +65,7 @@ weight = 1 # Used in the "version-banner" partial to display a version number for the # current doc set. - version = "4.9.0" + version = "4.10.0" version_menu = "Releases" version_menu_canonicallinks = true version_menu_pagelinks = true @@ -169,9 +169,13 @@ twitter = "AxoflowIO" ####################### # Add your release versions here [[params.versions]] - version = "latest (4.9.0)" + version = "latest (4.10.0)" githubbranch = "master" url = "" +[[params.versions]] + version = "4.9" + githubbranch = "release-4.9" + url = "/4.9/" [[params.versions]] version = "4.8" githubbranch = "release-4.8" @@ -208,7 +212,7 @@ twitter = "AxoflowIO" # Cascade version number to every doc page (needed to create sections for pagefind search) # Update this parameter when creating a new version [[cascade]] -body_attribute = 'data-pagefind-filter="section:4.9"' +body_attribute = 'data-pagefind-filter="section:4.10"' [cascade._target] path = '/docs/**' diff --git a/content/docs/configuration/crds/extensions/hosttailer_types.md b/content/docs/configuration/crds/extensions/hosttailer_types.md index c408742ff..613cee3e5 100644 --- a/content/docs/configuration/crds/extensions/hosttailer_types.md +++ b/content/docs/configuration/crds/extensions/hosttailer_types.md @@ -159,7 +159,50 @@ Override systemd log path ### systemdFilter (string, optional) {#systemdtailer-systemdfilter} -Filter to select systemd unit example: kubelet.service - - - +Filter to select the systemd unit, for example: `kubelet.service` +If the `systemdFilter` is not specified, `_SYSTEMD_UNIT` is used. + +For example, the following HostTailer creates a systemd tailer for the `kubelet.service` and for kernel logs, and logs the kernel logs under the `SYSLOG_IDENTIFIER` journal field. + +{{< highlight yaml >}} +apiVersion: logging-extensions.banzaicloud.io/v1alpha1 +kind: HostTailer +metadata: + labels: + app.kubernetes.io/name: systemd-hosttailer + name: systemd + namespace: logging +spec: + systemdTailers: + - maxEntries: 100 + name: kubelet + systemdFilter: kubelet.service + - maxEntries: 100 + name: kernel + systemdFilter: SYSLOG_IDENTIFIER=kernel +{{}} + +The generated container will have the following arguments: + +{{< highlight yaml >}} + - command: + - /fluent-bit/bin/fluent-bit + - -i + - systemd + - -p + - path=/var/log/journal + - -p + - db=/var/pos/systemd-host-tailer-kernel.db + - -p + - max_entries=100 + - -p + - systemd_filter=SYSLOG_IDENTIFIER=kernel + - -o + - file + - -p + - format=plain + - -p + - path=/dev/ + - -p + - file=stdout +{{}} diff --git a/content/docs/configuration/crds/v1beta1/common_types.md b/content/docs/configuration/crds/v1beta1/common_types.md index ba9fd788c..5f9ab5a2a 100644 --- a/content/docs/configuration/crds/v1beta1/common_types.md +++ b/content/docs/configuration/crds/v1beta1/common_types.md @@ -4,6 +4,17 @@ weight: 200 generated_file: true --- +## BasicImageSpec + +BasicImageSpec struct hold basic information about image specification + +### repository (string, optional) {#basicimagespec-repository} + + +### tag (string, optional) {#basicimagespec-tag} + + + ## ImageSpec ImageSpec struct hold information about image specification diff --git a/content/docs/configuration/crds/v1beta1/fluentbit_types.md b/content/docs/configuration/crds/v1beta1/fluentbit_types.md index f0e1f2da6..0cd35e7e1 100644 --- a/content/docs/configuration/crds/v1beta1/fluentbit_types.md +++ b/content/docs/configuration/crds/v1beta1/fluentbit_types.md @@ -379,6 +379,12 @@ When enabled, irrecoverable chunks will be deleted during runtime, and any other Default: Off +### storage.max_chunks_up (int, optional) {#bufferstorage-storage.max_chunks_up} + +If the input plugin has enabled filesystem storage type, this property sets the maximum number of Chunks that can be up in memory. This is the setting to use to control memory usage when you enable storage.type filesystem. + +Default: 128 + ### storage.metrics (string, optional) {#bufferstorage-storage.metrics} Available in Logging operator version 4.4 and later. If the `http_server` option has been enabled in the main Service configuration section, this option registers a new endpoint where internal metrics of the storage layer can be consumed. diff --git a/content/docs/configuration/crds/v1beta1/syslogng_types.md b/content/docs/configuration/crds/v1beta1/syslogng_types.md index 1c9d7a387..5635bb7ba 100644 --- a/content/docs/configuration/crds/v1beta1/syslogng_types.md +++ b/content/docs/configuration/crds/v1beta1/syslogng_types.md @@ -11,6 +11,9 @@ SyslogNGSpec defines the desired state of SyslogNG ### bufferVolumeMetrics (*BufferMetrics, optional) {#syslogngspec-buffervolumemetrics} +### bufferVolumeMetricsImage (*BasicImageSpec, optional) {#syslogngspec-buffervolumemetricsimage} + + ### bufferVolumeMetricsService (*typeoverride.Service, optional) {#syslogngspec-buffervolumemetricsservice} @@ -22,6 +25,9 @@ Overrides the default logging level configCheck setup. This field is not used di ### configCheckPod (*typeoverride.PodSpec, optional) {#syslogngspec-configcheckpod} +### configReloadImage (*BasicImageSpec, optional) {#syslogngspec-configreloadimage} + + ### globalOptions (*GlobalOptions, optional) {#syslogngspec-globaloptions} @@ -42,6 +48,9 @@ Available in Logging operator version 4.5 and later. Set the maximum number of c ### metrics (*Metrics, optional) {#syslogngspec-metrics} +### metricsExporterImage (*BasicImageSpec, optional) {#syslogngspec-metricsexporterimage} + + ### metricsService (*typeoverride.Service, optional) {#syslogngspec-metricsservice} @@ -70,6 +79,9 @@ Available in Logging operator version 4.5 and later. Create [custom log metrics ### statefulSet (*typeoverride.StatefulSet, optional) {#syslogngspec-statefulset} +### syslogNGImage (*BasicImageSpec, optional) {#syslogngspec-syslogngimage} + + ### tls (SyslogNGTLS, optional) {#syslogngspec-tls} diff --git a/content/docs/configuration/plugins/outputs/forward.md b/content/docs/configuration/plugins/outputs/forward.md index 43eb4b0a2..fc8b56eab 100644 --- a/content/docs/configuration/plugins/outputs/forward.md +++ b/content/docs/configuration/plugins/outputs/forward.md @@ -69,7 +69,7 @@ Default: 0 ### phi_failure_detector (bool, optional) {#forwardoutput-phi_failure_detector} -Use the "Phi accrual failure detector" to detect server failure. +Use the "Phi accrual failure detector" to detect server failure. Default: true @@ -115,6 +115,7 @@ The threshold for chunk flush performance check. Parameter type is float, not ti Format forwarded events time as an epoch Integer with second resolution. Useful when forwarding to old ( <= 0.12 ) Fluentd servers. + ### tls_allow_self_signed_cert (bool, optional) {#forwardoutput-tls_allow_self_signed_cert} Allow self signed certificates or not. diff --git a/content/docs/configuration/plugins/outputs/gelf.md b/content/docs/configuration/plugins/outputs/gelf.md index 3876c096a..96e44eb94 100644 --- a/content/docs/configuration/plugins/outputs/gelf.md +++ b/content/docs/configuration/plugins/outputs/gelf.md @@ -6,7 +6,16 @@ generated_file: true # [GELF Output](https://github.com/hotschedules/fluent-plugin-gelf-hs) ## Overview - Fluentd output plugin for GELF. +Fluentd output plugin for GELF. For details, see [https://github.com/bmichalkiewicz/fluent-plugin-gelf-best](https://github.com/bmichalkiewicz/fluent-plugin-gelf-best). + +## Example +```yaml +spec: + gelf: + host: gelf-host + port: 12201 +``` + ## Configuration ## Output Config @@ -21,6 +30,12 @@ Available since ghcr.io/kube-logging/fluentd:v1.16-full-build.139 [Buffer](../bu Destination host +### max_bytes (int, optional) {#output config-max_bytes} + +MaxBytes specifies the maximum size, in bytes, of each individual log message. For details, see [https://github.com/Graylog2/graylog2-server/issues/873](https://github.com/Graylog2/graylog2-server/issues/873) Available since ghcr.io/kube-logging/fluentd:v1.16-4.10-full + +Default: 3200 + ### port (int, required) {#output-config-port} Destination host port @@ -40,7 +55,7 @@ Default: false ### tls_options (map[string]string, optional) {#output-config-tls_options} -TLS options. For details, see [https://github.com/graylog-labs/gelf-rb/blob/72916932b789f7a6768c3cdd6ab69a3c942dbcef/lib/gelf/transport/tcp_tls.rb#L7-L12](https://github.com/graylog-labs/gelf-rb/blob/72916932b789f7a6768c3cdd6ab69a3c942dbcef/lib/gelf/transport/tcp_tls.rb#L7-L12). +TLS Options. For details, see [https://github.com/graylog-labs/gelf-rb/blob/72916932b789f7a6768c3cdd6ab69a3c942dbcef/lib/gelf/transport/tcp_tls.rb#L7-L12](https://github.com/graylog-labs/gelf-rb/blob/72916932b789f7a6768c3cdd6ab69a3c942dbcef/lib/gelf/transport/tcp_tls.rb#L7-L12). Default: {} diff --git a/content/docs/configuration/plugins/outputs/kafka.md b/content/docs/configuration/plugins/outputs/kafka.md index 2f49a7d0e..ce46de4d1 100644 --- a/content/docs/configuration/plugins/outputs/kafka.md +++ b/content/docs/configuration/plugins/outputs/kafka.md @@ -33,7 +33,8 @@ spec: ## Configuration ## Kafka -Send your logs to Kafka. Set `use_rdkafka` to `true` to use the rdkafka2 client, which offers higher performance than ruby-kafka. +Send your logs to Kafka. Set `use_rdkafka` to `true` to use the rdkafka2 client, which offers higher performance than ruby-kafka. (Note: requires fluentd image version v1.16-4.9-full or higher) +-[more info](https://github.com/fluent/fluent-plugin-kafka#output-plugin) ### ack_timeout (int, optional) {#kafka-ack_timeout} @@ -143,6 +144,12 @@ Default: nil ### keytab (*secret.Secret, optional) {#kafka-keytab} +### max_send_limit_bytes (int, optional) {#kafka-max_send_limit_bytes} + +Max byte size to send message to avoid MessageSizeTooLarge. Messages over the limit will be dropped + +Default: no limit + ### max_send_retries (int, optional) {#kafka-max_send_retries} Number of times to retry sending of messages to a leader @@ -212,7 +219,7 @@ Client certificate key Verify certificate hostname -### sasl_over_ssl (bool, required) {#kafka-sasl_over_ssl} +### sasl_over_ssl (*bool, optional) {#kafka-sasl_over_ssl} SASL over SSL diff --git a/content/docs/configuration/plugins/syslog-ng-outputs/sumologic_syslog.md b/content/docs/configuration/plugins/syslog-ng-outputs/sumologic_syslog.md index ded2257ca..f28484994 100644 --- a/content/docs/configuration/plugins/syslog-ng-outputs/sumologic_syslog.md +++ b/content/docs/configuration/plugins/syslog-ng-outputs/sumologic_syslog.md @@ -37,7 +37,7 @@ Default: 6514 ### tag (string, optional) {#sumologicsyslogoutput-tag} -This option specifies the list of tags to add as the tags fields of Sumo Logic messages. If not specified, syslog-ng OSE automatically adds the tags already assigned to the message. If you set the tag() option, only the tags you specify will be added to the messages. +This option specifies the list of tags to add as the tags fields of Sumo Logic messages. If not specified, syslog-ng OSE automatically adds the tags already assigned to the message. If you set the tag() option, only the tags you specify will be added to the messages. Default: tag diff --git a/content/docs/image-versions.md b/content/docs/image-versions.md index 61a06caf3..589d549ac 100644 --- a/content/docs/image-versions.md +++ b/content/docs/image-versions.md @@ -5,6 +5,23 @@ weight: 750 Logging operator uses the following image versions. +## Logging operator version 4.10 + +| Image repository | GitHub repository | Version | +| -------- | --- | -- | +| ghcr.io/kube-logging/node-exporter | https://github.com/kube-logging/node-exporter-image | v0.7.1 | +| ghcr.io/kube-logging/config-reloader | https://github.com/kube-logging/config-reloader | v0.0.6 | +| ghcr.io/kube-logging/fluentd-drain-watch | https://github.com/kube-logging/fluentd-drain-watch | v0.2.3 | +| k8s.gcr.io/pause | | 3.2 | +| docker.io/busybox | https://github.com/docker-library/busybox | latest | +| ghcr.io/axoflow/axosyslog | https://github.com/axoflow/axosyslog/ | 4.8.1-1 | +| docker.io/fluent/fluent-bit | https://github.com/fluent/fluent-bit | 3.1.8 | +| ghcr.io/kube-logging/fluentd | https://github.com/kube-logging/fluentd-images | v1.16-4.10-full | +| ghcr.io/axoflow/axosyslog-metrics-exporter | https://github.com/axoflow/axosyslog-metrics-exporter | 0.0.7 | +| ghcr.io/kube-logging/syslogng-reload | https://github.com/kube-logging/syslogng-reload-image | v1.5.0 | +| ghcr.io/kube-logging/eventrouter | https://github.com/kube-logging/eventrouter | 0.4.0 | +| ghcr.io/kube-logging/node-exporter | | v0.8.0 | + ## Logging operator version 4.9 | Image repository | GitHub repository | Version | diff --git a/content/docs/whats-new/_index.md b/content/docs/whats-new/_index.md index 7aa377b4c..4b84c32ff 100644 --- a/content/docs/whats-new/_index.md +++ b/content/docs/whats-new/_index.md @@ -3,6 +3,35 @@ title: What's new weight: 50 --- +## Version 4.10 + +The following are the highlights and main changes of Logging operator 4.10. For a complete list of changes and bugfixes, see the [Logging operator 4.10 releases page](https://github.com/kube-logging/logging-operator/releases/tag/4.10.0). + +- You can now control the memory usage of Fluent Bit in persistent buffering mode using the [`storage.max_chunks_up`]({{< relref "/docs/configuration/crds/v1beta1/fluentbit_types.md#bufferstorage-storage.max_chunks_up" >}}) option. + +- When using [`systemdFilters`]({{< relref "/docs/configuration/crds/extensions/hosttailer_types.md#systemdtailer-systemdfilter" >}}) in `HostTailers`, you can now specify the journal field to use. + +- The documentation of the [Gelf Fluentd output]({{< relref "/docs/configuration/plugins/outputs/gelf.md" >}}) has been improved, and now includes the `max_bytes` option that can limit the size of the messages. + +- You can now configure image repository overrides in the syslog-ng spec (both in the `Logging` resource and in the `SyslogNGConfig` resource): + + ```yaml + syslogNGImage: + repository: ... + tag: ... + configReloadImage: + repository: ... + tag: ... + metricsExporterImage: + repository: ... + tag: ... + bufferVolumeMetricsImage: + repository: ... + tag: ... + ``` + +- When using the [Kafka Fluentd output]({{< relref "/docs/configuration/plugins/outputs/kafka.md#kafka-max_send_limit_bytes" >}}), you can now set the maximal size of the messages using the `max_send_limit_bytes` option. + ## Version 4.9 The following are the highlights and main changes of Logging operator 4.9. For a complete list of changes and bugfixes, see the [Logging operator 4.9 releases page](https://github.com/kube-logging/logging-operator/releases/tag/4.9.0).