Как стать автором
Обновить

Комментарии 11

Я что-то у себя стек Grafana + Loki + tempo не осилил поставить за один выходной. Конфиги, конифги - из коробки под k8s не заводится. Разобраться конечно можно, но как-то для пет проектов хотелось бы чего-то простого как палка.

В итоге поставил https://openobserve.ai/ одним контейнером. Логи, метрики, трейсы в одном флаконе с единым UI без необходимости настраивать несколько сервисов. Opentelemetry collector льёт в него логи и метрики всего что в k8s. Плюс кастомные метрики от умного дома лью напрямую из питона тоже по OTLP. Он очень хорошо жмёт данные, сейчас пишет стату, что на Ingested Size в 573.20 GB на диске Compressed Size получился 15.69 GB.

Просто в Docker я в целом запустил без страданий, конфиги тоже не большие. В кубер Tempo не использовал, а вот Grafana + Loki достаточно легко залетал. Надо будет с Tempo попробовать.

За ссылку спасибо, жмет не просто хорошо, а потрясающе. Особенно актуально в ентерпрайзе, когда есть требование по длительному сроку хранения. У тебя случайно нет helm чарта развернуть, попробовать?

У меня просто кубер манифест сделанный по доке к докер контейнеру. Вначале планировал в качестве хранилки использовать B2, но когда увидел как он жмёт, решил вообще не заморачиваться и просто в папке на VPS хранить пока место есть

Скрытый текст
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: openobserve
  namespace: monitoring
spec:
  serviceName: openobserve
  replicas: 1
  selector:
    matchLabels:
      app: openobserve
  template:
    metadata:
      labels:
        app: openobserve
    spec:
      volumes:
        - name: data
          hostPath:
            path: /openobserve
      containers:
        - name: openobserve
          image: public.ecr.aws/zinclabs/openobserve:latest
          env:
            - name: ZO_ROOT_USER_EMAIL
              value: root@user.com
            - name: ZO_ROOT_USER_PASSWORD
              value: "P@ssw0rd!"
            - name: ZO_DATA_DIR
              value: /data
            - name: ZO_TELEMETRY
              value: "false"
          resources:
            limits:
              cpu: 4096m
              memory: 2048Mi
            requests:
              cpu: 256m
              memory: 50Mi
          ports:
            - containerPort: 5080
              name: http
          volumeMounts:
          - name: data
            mountPath: /data
---
apiVersion: v1
kind: Service
metadata:
  name: openobserve
  namespace: monitoring
spec:
  selector:
    app: openobserve
  ports:
  - name: http
    port: 5080
    targetPort: 5080
  - name: grpc
    port: 5081
    targetPort: 5081

В итоге поставил https://openobserve.ai/ одним контейнером

выглядит прикольно. Интересно послушать опыт.

alias obs='ssh -L 3000:localhost:3000 user@your-vps'

Лайфхак как не костылить через алиасы:

Файл ~/.ssh/config

Host obs
    HostName your-vps
    User user
    LocalForward 3000 127.0.0.1:3000

Теперь просто заходим по ssh obs и автоматом будет нужный порт пробрасываться куда надо

Очень хороший комментарий. Лучше все свои машины указывать в ~/.ssh/config. Как бонус, XPipe и прочее ПО для организации управления серверами будет тянуть всю инфу из этого файла.

Я конфигом пользуюсь, но даже как-то не знал или не обращал внимание что можно через него туннель. Прям большое спасибо!

Кажется что есть смысл заменить loki на victorialogs, у второго есть свой ui из коробки, он реально жрёт меньше и ресурсов и места

Потыкать Victoria Logs у меня в план, но в текущей задаче сильно проще с Loki - он уже проверенный, достаточно эффективный и отличный интерфейс, Grafana, один на все: логи, метрики, трейсы. Скоро еще вроде планируется возможность хранить профили приложений.

один интерфейс на все - очень спорное решение

Касательно Loki:

It seems Loki has over 784 configuration options and 12 microservices (and counting ++).

https://github.com/grafana/loki/issues/4613
"Простое" и "эффективное" решение. Угу.
Про Jaeger тоже самое.
Сейчас уже модно - https://github.com/metrico/qryn
Из киллер фич - эффективность хранения данных + совместимость по апи с темпо-локи итп

Примечание: я пока не до конца разобрался, чем отличается VictoriaMetrics от Prometheus (в контексте Grafana) при работе с Prometheus‑метриками. Судя по всему, если указать плагин Prometheus, то Grafana корректно подключается к VictoriaMetrics. Но, тем не менее, я предпочитаю явно указать её как отдельный источник.

Таки все правильно. О различиях есть тут https://docs.victoriametrics.com/victoriametrics-datasource/. В целом использовать Prometheus datasource есть смысл только когда меняешь Prometheus на VM, что бы не перерисовать борды сделанные для Prometheus

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации