fluent-bit
markdown-here
Our great sponsors
fluent-bit | markdown-here | |
---|---|---|
35 | 73 | |
5,321 | 59,476 | |
2.4% | - | |
9.8 | 0.0 | |
6 days ago | over 1 year ago | |
C | JavaScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fluent-bit
-
Observability at KubeCon + CloudNativeCon Europe 2024 in Paris
Fluentbit
-
Fluent Bit with ECS: Configuration Tips and Tricks
$ docker run --rm fluent-bit-dummy WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested Fluent Bit v1.9.10 * Copyright (C) 2015-2022 The Fluent Bit Authors * Fluent Bit is a CNCF sub-project under the umbrella of Fluentd * https://fluentbit.io [2023/12/24 16:06:59] [ info] [fluent bit] version=1.9.10, commit=557c8336e7, pid=1 [2023/12/24 16:06:59] [ info] [storage] version=1.4.0, type=memory-only, sync=normal, checksum=disabled, max_chunks_up=128 [2023/12/24 16:06:59] [ info] [cmetrics] version=0.3.7 [2023/12/24 16:06:59] [ info] [output:stdout:stdout.0] worker #0 started [2023/12/24 16:06:59] [ info] [sp] stream processor started [0] dummy.0: [1703434019.553880465, {"message"=>"custom dummy"}] [0] dummy.0: [1703434020.555768799, {"message"=>"custom dummy"}] [0] dummy.0: [1703434021.550525174, {"message"=>"custom dummy"}] [0] dummy.0: [1703434022.551563050, {"message"=>"custom dummy"}] [0] dummy.0: [1703434023.551944509, {"message"=>"custom dummy"}] [0] dummy.0: [1703434024.550027843, {"message"=>"custom dummy"}] [0] dummy.0: [1703434025.550901801, {"message"=>"custom dummy"}] [0] dummy.0: [1703434026.549279385, {"message"=>"custom dummy"}] ^C[2023/12/24 16:07:08] [engine] caught signal (SIGINT) [0] dummy.0: [1703434027.549678344, {"message"=>"custom dummy"}] [2023/12/24 16:07:08] [ warn] [engine] service will shutdown in max 5 seconds [2023/12/24 16:07:08] [ info] [engine] service has stopped (0 pending tasks) [2023/12/24 16:07:08] [ info] [output:stdout:stdout.0] thread worker #0 stopping... [2023/12/24 16:07:08] [ info] [output:stdout:stdout.0] thread worker #0 stopped
-
Should You Be Scared of Unix Signals?
> Libc is a lot more tricky about signals, since not all libc functions can be safely called from handlers.
And this is a huge thing. People do all kinds of operations in signal handlers completely oblivious to the pitfalls. Pitfalls which often do not manifest, making it a great "it works for me" territory.
I once raised a ticket on fluentbit[1] about it but they have abused signal handlers so thoroughly that I do not think they can mitigate the issue without a major rewriting of the signal and crash handling.
[1] https://github.com/fluent/fluent-bit/issues/4836
-
Vector: a Rust-based lightweight alternative to Fluentd/Logstash
Fluentbit is Fluentd's lightweight alternative to itself.
https://fluentbit.io
- FLaNK Stack Weekly for 14 Aug 2023
-
Ultimate EKS Baseline Cluster: Part 1 - Provision EKS
From here, we can explore other developments and tutorials on Kubernetes, such as o11y or observability (PLG, ELK, ELF, TICK, Jaeger, Pyroscope), service mesh (Linkerd, Istio, NSM, Consul Connect, Cillium), and progressive delivery (ArgoCD, FluxCD, Spinnaker).
-
Fluentbit Kubernetes - How to extract fields from existing logs
From this (https://github.com/fluent/fluent-bit/issues/723), I can see there is no grok support for fluent-bit.
-
Parsing multiline logs using a custom Fluent Bit configuration
apiVersion: v1 kind: ConfigMap metadata: name: fluent-bit-config namespace: newrelic labels: k8s-app: newrelic-logging data: # Configuration files: server, input, filters and output # ====================================================== fluent-bit.conf: | [SERVICE] Flush 1 Log_Level ${LOG_LEVEL} Daemon off Parsers_File parsers.conf HTTP_Server On HTTP_Listen 0.0.0.0 HTTP_Port 2020 @INCLUDE input-kubernetes.conf @INCLUDE output-newrelic.conf @INCLUDE filter-kubernetes.conf input-kubernetes.conf: | [INPUT] Name tail Tag kube.* Path ${PATH} Parser ${LOG_PARSER} DB /var/log/flb_kube.db Mem_Buf_Limit 7MB Skip_Long_Lines On Refresh_Interval 10 filter-kubernetes.conf: | [FILTER] Name multiline Match * multiline.parser multiline-regex [FILTER] Name record_modifier Match * Record cluster_name ${CLUSTER_NAME} [FILTER] Name kubernetes Match kube.* Kube_URL https://kubernetes.default.svc.cluster.local:443 Merge_Log Off output-newrelic.conf: | [OUTPUT] Name newrelic Match * licenseKey ${LICENSE_KEY} endpoint ${ENDPOINT} parsers.conf: | # Relevant parsers retrieved from: https://github.com/fluent/fluent-bit/blob/master/conf/parsers.conf [PARSER] Name docker Format json Time_Key time Time_Format %Y-%m-%dT%H:%M:%S.%L Time_Keep On [PARSER] Name cri Format regex Regex ^(?[^ ]+) (?stdout|stderr) (?[^ ]*) (?.*)$ Time_Key time Time_Format %Y-%m-%dT%H:%M:%S.%L%z [MULTILINE_PARSER] name multiline-regex key_content message type regex flush_timeout 1000 # # Regex rules for multiline parsing # --------------------------------- # # configuration hints: # # - first state always has the name: start_state # - every field in the rule must be inside double quotes # # rules | state name | regex pattern | next state # ------|---------------|--------------------------------|----------- rule "start_state" "/(Dec \d+ \d+\:\d+\:\d+)(.*)/" "cont" rule "cont" "/^\s+at.*/" "cont"
-
Tool to scrape (semi)-structured log files (e.g. log4j)
There are also log forwarding tools like promtail and fluentbit that can be used to both ship logs to something like Loki and produce metrics.
-
How to Deploy and Scale Strapi on a Kubernetes Cluster 2/2
FluentBit, is a logging processor that can help you to push all of your application logs to a central location like an ElasticSearch or OpenSearch cluster.
markdown-here
-
100+ FREE Resources Every Web Developer Must Try
Markdown Cheat Sheet: Markdown syntax guide for creating rich text formatting.
-
How to create a good README.md file
# Heading 1 ## Heading 2 ### Heading 3 Emphasis, aka italics, with *asterisks* or _underscores_. Strong emphasis, aka bold, with **asterisks** or __underscores__. Combined emphasis with **asterisks and _underscores_**. 1. First ordered list item 2. Another item ⋅⋅* Unordered sub-list. 1. Actual numbers don't matter, just that it's a number ⋅⋅1. Ordered sub-list 4. And another item. [I'm an inline-style link](https://www.google.com) [I'm an inline-style link with title](https://www.google.com "Google's Homepage") ![descriptive alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 1")
- What is the point of this feature
-
No Markdown support in Google Drive after all these years
It's definitely a workaround, but I use a Chrome extension to work around this a bit. I use "Markdown Here" to add a "turn Markdown text to formatted text" button to my Chrome bar:
https://markdown-here.com/
And then I use it on plain Markdown text in a GMail compose window. The rich formatted output it produces can then be pasted into a Google Doc, and it comes out really nicely, including support for headers, sub-headers, links, code blocks, and the rest. The main issue is that this is a one-way process, but so long as you keep the .md source somewhere else, lets you share a richly-formatted doc with others for final commenting/editing/etc.
-
Which one for “semi-formal to casual” in south dakota?
Here is a reference guide for the basic syntax of Markdown. Experiment and enjoy!
-
Newbie question
Means I made changes to the post formatting using Markdown https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
-
School Project looking for Review
markdown syntax Can be used to format your read me.
-
Best Practices for Writing on DEV: Formatting
Proper formatting is key to ensure that your post is readable, helpful, and polished. Our post editor uses Markdown and Jekyll Front Matter to format posts.
-
Boost Your JavaScript with JSDoc Typing
You can also use more complex Markdown features like lists and tables. Check out the [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) from Adam Pritchard for more information. ### Other JSDoc tags 📚 There are a few other JSDoc tags that you may find useful: - `@function` or `@func`: Documents a function or method. - `@class`: Documents a class constructor. - `@constructor`: Indicates that a function is a constructor for a class. - `@extends` or `@augments`: Indicates that a class or type extends another class or type. - `@implements`: Indicates that a class or type implements an interface. - `@namespace`: Groups related items, such as functions, classes, or types, under a common namespace. - `@memberof`: Specifies that an item belongs to a class, namespace, or module. - `@ignore`: Tells JSDoc to exclude an item from the generated documentation. - `@deprecated`: Marks a function, class, or property as deprecated, indicating it should no longer be used. - `@since`: Documents the version when an item was introduced. And many more. You can find a full list of JSDoc tags [here](https://jsdoc.app/). Ok ok, enough of the theory. Let's see how we can use JSDoc in practice. ![Reality Check Meme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/polug716a3hs9lgwr8tf.gif) ## Using JSDoc in practice 🏄♂️ There are a few challenges when starting to use JSDoc in your project. So this section will focus on these challenges and how you can overcome them. ### How to get the most out of JSDoc In this post I'm going to stick with VSCode. If you're using another editor, you can still follow along, but you might have to look up how to configure things in your editor. VSCode has built-in support for JSDoc. This means that you can get a lot of the JSDoc benefits without having to install any additional extensions. But there are a few things that you can do to get even more out of JSDoc. Enabling the checkJs option in your `jsconfig.json` file will make the editor display errors for type mismatches, even in JavaScript files. Place it in the root of your project or in the folder where you want to enable type checking. This file can look like this: ```json { "compilerOptions": { "checkJs": true, } }
-
In my Eras era. 💅
Reddit uses Markdown, it's a pretty ubiquitous markup for formatting text online. You'll find it's used in a lot of places. https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
What are some alternatives?
loki - Like Prometheus, but for logs.
notable - The Markdown-based note-taking app that doesn't suck.
rsyslog - a Rocket-fast SYStem for LOG processing
termux-widget - Termux add-on app which adds shortcuts to commands on the home screen.
syslog-ng - syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
simple-icons - SVG icons for popular brands
jaeger - CNCF Jaeger, a Distributed Tracing Platform
react-syntax-highlighter - syntax highlighting component for react with prismjs or highlightjs ast using inline styles
winston - A logger for just about everything.
Hugo - The world’s fastest framework for building websites.
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
shields - Concise, consistent, and legible badges in SVG and raster format