diff --git a/conf/fluent-bit-macos.yaml b/conf/fluent-bit-macos.yaml new file mode 100644 index 00000000000..28369f49bf6 --- /dev/null +++ b/conf/fluent-bit-macos.yaml @@ -0,0 +1,17 @@ +service: + flush: 1 + log_level: info + http_server: false + http_listen: 0.0.0.0 + http_port: 2020 + parsers_file: parsers.yaml + plugins_file: plugins.yaml + +pipeline: + inputs: + - name: dummy + tag: dummy.local + + outputs: + - name: stdout + match: '*' diff --git a/conf/fluent-bit-metrics.conf b/conf/fluent-bit-metrics.conf index 988e0dcbb89..ebabb21481a 100644 --- a/conf/fluent-bit-metrics.conf +++ b/conf/fluent-bit-metrics.conf @@ -19,7 +19,7 @@ [OUTPUT] name prometheus_exporter match node_metrics - listen 0.0.0.0 + host 0.0.0.0 port 2021 # Add user-defined labels # ----------------------- diff --git a/conf/fluent-bit-metrics.yaml b/conf/fluent-bit-metrics.yaml new file mode 100644 index 00000000000..a5f0fb21089 --- /dev/null +++ b/conf/fluent-bit-metrics.yaml @@ -0,0 +1,14 @@ +service: + flush: 1 + log_level: info + +pipeline: + inputs: + - name: node_exporter_metrics + tag: node_metrics + + outputs: + - name: prometheus_exporter + match: node_metrics + host: 0.0.0.0 + port: 2021 diff --git a/conf/fluent-bit-win32.yaml b/conf/fluent-bit-win32.yaml new file mode 100644 index 00000000000..1f94499358c --- /dev/null +++ b/conf/fluent-bit-win32.yaml @@ -0,0 +1,17 @@ +service: + flush: 1 + log_level: info + http_server: false + http_listen: 0.0.0.0 + http_port: 2020 + parsers_file: parsers.yaml + plugins_file: plugins.yaml + +pipeline: + inputs: + - name: winlog + channels: 'Setup,Windows PowerShell' + + outputs: + - name: stdout + match: '*' diff --git a/conf/fluent-bit.yaml b/conf/fluent-bit.yaml new file mode 100644 index 00000000000..641fafa7878 --- /dev/null +++ b/conf/fluent-bit.yaml @@ -0,0 +1,17 @@ +service: + flush: 1 + log_level: info + http_server: false + http_listen: 0.0.0.0 + http_port: 2020 + parsers_file: parsers.yaml + plugins_file: plugins.yaml + +pipeline: + inputs: + - name: cpu + tag: cpu.local + + outputs: + - name: stdout + match: '*' diff --git a/conf/parsers.yaml b/conf/parsers.yaml new file mode 100644 index 00000000000..f93c06de23a --- /dev/null +++ b/conf/parsers.yaml @@ -0,0 +1,9 @@ +parsers: + - name: json + format: json + + - name: docker + format: json + time_key: time + time_format: "%Y-%m-%dT%H:%M:%S.%L" + time_keep: true diff --git a/conf/plugins.yaml b/conf/plugins.yaml new file mode 100644 index 00000000000..319632a6015 --- /dev/null +++ b/conf/plugins.yaml @@ -0,0 +1,2 @@ +plugins: +# - /other/path/to/out_gstdout.so diff --git a/cpack/debian/conffiles b/cpack/debian/conffiles index 897702fc325..36183465b28 100644 --- a/cpack/debian/conffiles +++ b/cpack/debian/conffiles @@ -1,3 +1,6 @@ /etc/fluent-bit/parsers.conf /etc/fluent-bit/plugins.conf /etc/fluent-bit/fluent-bit.conf +/etc/fluent-bit/parsers.yaml +/etc/fluent-bit/plugins.yaml +/etc/fluent-bit/fluent-bit.yaml diff --git a/cpack/macos/fluent-bit.plist.cmakein b/cpack/macos/fluent-bit.plist.cmakein index 70d2b6baa87..e95559b857a 100644 --- a/cpack/macos/fluent-bit.plist.cmakein +++ b/cpack/macos/fluent-bit.plist.cmakein @@ -10,7 +10,7 @@ @CMAKE_INSTALL_FULL_BINDIR@/@FLB_OUT_NAME@ --config - @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SYSCONFDIR@/@FLB_OUT_NAME@/@FLB_OUT_NAME@.conf + @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_SYSCONFDIR@/@FLB_OUT_NAME@/@FLB_OUT_NAME@.yaml RunAtLoad diff --git a/cpack/wix/WIX.template.in.cmakein b/cpack/wix/WIX.template.in.cmakein index 2f839408878..4fb4c261d1f 100644 --- a/cpack/wix/WIX.template.in.cmakein +++ b/cpack/wix/WIX.template.in.cmakein @@ -83,7 +83,7 @@ - + diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 7cdcfe6bc88..abcd40059d9 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -84,14 +84,14 @@ RUN make -j "$(getconf _NPROCESSORS_ONLN)" RUN install bin/fluent-bit /fluent-bit/bin/ # Configuration files -COPY conf/fluent-bit.conf \ - conf/parsers.conf \ - conf/parsers_ambassador.conf \ - conf/parsers_java.conf \ - conf/parsers_extra.conf \ - conf/parsers_openstack.conf \ - conf/parsers_cinder.conf \ - conf/plugins.conf \ +COPY conf/fluent-bit.* \ + conf/parsers.* \ + conf/parsers_ambassador.* \ + conf/parsers_java.* \ + conf/parsers_extra.* \ + conf/parsers_openstack.* \ + conf/parsers_cinder.* \ + conf/plugins.* \ /fluent-bit/etc/ # Generate schema and include as part of the container image @@ -185,7 +185,7 @@ EXPOSE 2020 # Entry point ENTRYPOINT [ "/fluent-bit/bin/fluent-bit" ] -CMD ["/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.conf"] +CMD ["/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.yaml"] FROM debian:bookworm-slim AS debug ARG RELEASE_VERSION @@ -239,4 +239,4 @@ COPY --from=builder /fluent-bit /fluent-bit EXPOSE 2020 # No entry point so we can just shell in -CMD ["/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.conf"] +CMD ["/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.yaml"] diff --git a/dockerfiles/Dockerfile.windows b/dockerfiles/Dockerfile.windows index fceac524ecb..415a6d0d17f 100644 --- a/dockerfiles/Dockerfile.windows +++ b/dockerfiles/Dockerfile.windows @@ -75,13 +75,16 @@ RUN cmake -G "'Visual Studio 16 2019'" -DOPENSSL_ROOT_DIR='C:\dev\vcpkg\packages # Set up config files and binaries in single /fluent-bit hierarchy for easy copy in later stage RUN New-Item -Path /fluent-bit/etc/ -ItemType "directory"; ` Copy-Item -Path /src/conf/fluent-bit-win32.conf /fluent-bit/etc/fluent-bit.conf; ` + Copy-Item -Path /src/conf/fluent-bit-win32.yaml /fluent-bit/etc/fluent-bit.yaml; ` Copy-Item -Path /src/conf/parsers.conf /fluent-bit/etc/; ` + Copy-Item -Path /src/conf/parsers.yaml /fluent-bit/etc/; ` Copy-Item -Path /src/conf/parsers_ambassador.conf /fluent-bit/etc/; ` Copy-Item -Path /src/conf/parsers_java.conf /fluent-bit/etc/; ` Copy-Item -Path /src/conf/parsers_extra.conf /fluent-bit/etc/; ` Copy-Item -Path /src/conf/parsers_openstack.conf /fluent-bit/etc/; ` Copy-Item -Path /src/conf/parsers_cinder.conf /fluent-bit/etc/; ` Copy-Item -Path /src/conf/plugins.conf /fluent-bit/etc/; ` + Copy-Item -Path /src/conf/plugins.yaml /fluent-bit/etc/; ` Copy-Item -Path /src/build/bin/Release/fluent-bit.exe /fluent-bit/bin/; ` Copy-Item -Path /src/build/bin/Release/fluent-bit.dll /fluent-bit/bin/; # @@ -114,4 +117,4 @@ RUN setx /M PATH "%PATH%;C:\fluent-bit\bin" ENTRYPOINT [ "fluent-bit.exe" ] # Hadolint gets confused by Windows it seems # hadolint ignore=DL3025 -CMD [ "fluent-bit.exe", "-c", "/fluent-bit/etc/fluent-bit.conf" ] +CMD [ "fluent-bit.exe", "-c", "/fluent-bit/etc/fluent-bit.yaml" ] diff --git a/init/systemd.in b/init/systemd.in index 8838bc5cec6..6707361f0bb 100644 --- a/init/systemd.in +++ b/init/systemd.in @@ -8,7 +8,7 @@ After=network.target Type=simple EnvironmentFile=-/etc/sysconfig/@FLB_OUT_NAME@ EnvironmentFile=-/etc/default/@FLB_OUT_NAME@ -ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/@FLB_OUT_NAME@ -c /@CMAKE_INSTALL_SYSCONFDIR@/@FLB_OUT_NAME@/@FLB_OUT_NAME@.conf +ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/@FLB_OUT_NAME@ -c /@CMAKE_INSTALL_SYSCONFDIR@/@FLB_OUT_NAME@/@FLB_OUT_NAME@.yaml Restart=always [Install] diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 178efd1ca8f..ecf1e7c1609 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -19,7 +19,7 @@ plugs: apps: service: - command: fluent-bit -c $SNAP/etc/fluent-bit/fluent-bit.conf + command: fluent-bit -c $SNAP/etc/fluent-bit/fluent-bit.yaml daemon: simple plugs: - network diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8a790166680..ba70b8e109b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -571,28 +571,51 @@ if(FLB_BINARY) DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary RENAME "${FLB_OUT_NAME}.conf") + install(FILES + "${PROJECT_SOURCE_DIR}/conf/fluent-bit-win32.yaml" + DESTINATION ${FLB_INSTALL_CONFDIR} + COMPONENT binary + RENAME "${FLB_OUT_NAME}.yaml") elseif(FLB_SYSTEM_MACOS) install(FILES "${PROJECT_SOURCE_DIR}/conf/fluent-bit-macos.conf" DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary RENAME "${FLB_OUT_NAME}.conf") + install(FILES + "${PROJECT_SOURCE_DIR}/conf/fluent-bit-macos.yaml" + DESTINATION ${FLB_INSTALL_CONFDIR} + COMPONENT binary + RENAME "${FLB_OUT_NAME}.yaml") else() install(FILES "${PROJECT_SOURCE_DIR}/conf/fluent-bit.conf" DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary RENAME "${FLB_OUT_NAME}.conf") + install(FILES + "${PROJECT_SOURCE_DIR}/conf/fluent-bit.yaml" + DESTINATION ${FLB_INSTALL_CONFDIR} + COMPONENT binary + RENAME "${FLB_OUT_NAME}.yaml") endif() install(FILES "${PROJECT_SOURCE_DIR}/conf/parsers.conf" COMPONENT binary DESTINATION ${FLB_INSTALL_CONFDIR}) + install(FILES + "${PROJECT_SOURCE_DIR}/conf/parsers.yaml" + COMPONENT binary + DESTINATION ${FLB_INSTALL_CONFDIR}) install(FILES "${PROJECT_SOURCE_DIR}/conf/plugins.conf" COMPONENT binary DESTINATION ${FLB_INSTALL_CONFDIR}) + install(FILES + "${PROJECT_SOURCE_DIR}/conf/plugins.yaml" + COMPONENT binary + DESTINATION ${FLB_INSTALL_CONFDIR}) endif()