Skip to content

Instantly share code, notes, and snippets.

<source>
@type http
@id input1
@label @mainstream
port 9880
bind 0.0.0.0
body_size_limit 32m
keepalive_timeout 10s
</source>
import logging
from logging.handlers import QueueHandler, QueueListener
import queue
from pythonjsonlogger import jsonlogger
from fluent_http import FluentHttpHandler
def main():
logger = logging.getLogger('sample')
@jmrobles
jmrobles / hello-json.py
Created September 18, 2022 11:22
JSON logging for fluent handler
import logging
from pythonjsonlogger import jsonlogger
from fluent_http import FluentHttpHandler
def main():
logger = logging.getLogger('sample')
fluent_handler = FluentHttpHandler(tag="python.info")
@jmrobles
jmrobles / main.py
Created September 18, 2022 10:54
Fluent hello world with fluent
import logging
from fluent_http import FluentHttpHandler
def main():
logger = logging.getLogger('sample')
fluent_handler = FluentHttpHandler(tag="python.info")
logger.addHandler(fluent_handler)
logger.setLevel(logging.INFO)
@jmrobles
jmrobles / fluent.conf
Created September 11, 2022 19:14
Fluent configuration for ES
<source>
@type forward
@id input1
@label @mainstream
port 24224
</source>
<source>
@type http
@id input2
@label @mainstream
@jmrobles
jmrobles / Dockerfile
Created September 11, 2022 19:06
Dockerfile for fluentd with elasticsearch plugin
FROM fluent/fluentd:v1.15-debian-1
USER root
RUN gem uninstall -I elasticsearch
RUN gem install elasticsearch -v 7.17.0
RUN gem install fluent-plugin-elasticsearch --no-document --version 5.2.0
USER fluent
@jmrobles
jmrobles / fluentd.yaml
Created September 11, 2022 19:02
Fluentd deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: fluentd
namespace: default
labels:
app: fluentd
spec:
selector:
matchLabels:
@jmrobles
jmrobles / kibana.yaml
Created September 11, 2022 18:47
Kibana deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
namespace: default
labels:
app: kibana
spec:
selector:
matchLabels:
@jmrobles
jmrobles / elastic.yaml
Created September 11, 2022 18:43
ElasticSearch Deployment
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: elastic-pvc
namespace: default
labels:
app: elastic-pvc
spec:
storageClassName: nfs-client
accessModes:
import logging
from functools import wraps
from fastapi import FastAPI, Request
import time
import random
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider