К основному содержанию
скилл CX Codex

fluentbit-generator — скилл для Claude Code: конфиги Fluent Bit

Собирает конфиги Fluent Bit: INPUT, FILTER, OUTPUT, парсеры и цепочку обработки логов. Пригодится, когда нужно поднять сбор логов без ручного перебора опций плагинов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add akin-ozer/cc-devops-skills --skill fluentbit-generator -a claude-code
Открыть на GitHub

Что делает fluentbit-generator

Скилл ведёт агента по семи шагам: сначала проверяет, что python3 доступен и скрипт запускается, потом задаёт вопросы про источники логов, приёмники, TLS и буферизацию. Дальше решает, генерировать конфиг скриптом или вручную по шаблонам из examples/.

Скрипт scripts/generate_config.py закрывает готовые сценарии: Kubernetes в Elasticsearch, Loki, CloudWatch или OpenTelemetry, многострочные логи приложений, syslog, файлы в S3, HTTP в Kafka, метрики Prometheus, фильтры на Lua. Если нужны редкие опции плагина, скилл переходит на ручную сборку и берёт за основу ближайший шаблон, а порядок секций держит фиксированным: [SERVICE], [INPUT], [FILTER], [OUTPUT], затем парсеры.

Перед запуском убедитесь, что в окружении есть python3 — без него остаётся только ручной путь. Проверку сгенерированного файла скилл передаёт в fluentbit-validator, а если тот недоступен, предлагает прогнать fluent-bit -c <generated-config> --dry-run. Для чистой валидации без генерации этот скилл не подходит.

Какие задачи решает

  • собрать конфиг Fluent Bit для Kubernetes с обогащением метаданными
  • настроить отправку логов в Loki, Elasticsearch или CloudWatch
  • разобрать многострочные стектрейсы приложений
  • описать парсеры в parsers.conf и связать их с фильтрами
  • собрать цепочку из нескольких приёмников в одном конфиге

Примеры запросов агенту

  • сгенерируй конфиг Fluent Bit для Kubernetes с выводом в Elasticsearch
  • нужен пайплайн логов из файлов в S3, регион us-east-1
  • добавь фильтр на Lua в текущий конфиг Fluent Bit

Как установить fluentbit-generator

1Через Skills CLI (Vercel)

npx skills add akin-ozer/cc-devops-skills --skill fluentbit-generator -a claude-code

2Вручную: положить файлы

~/.claude/skills/fluentbit-generator/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/fluentbit-generator/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о fluentbit-generator

Как установить fluentbit-generator в Claude?

Через установщик скиллов: npx skills add akin-ozer/cc-devops-skills --skill fluentbit-generator -a claude-code. После этого файл скилла лежит в ~/.claude/skills/fluentbit-generator/SKILL.md.

Что делает fluentbit-generator?

Генерирует конфиги Fluent Bit: секции INPUT, FILTER и OUTPUT, определения парсеров и цепочку обработки логов. Скриптом или вручную по шаблонам из examples/.

Чем он отличается от fluentbit-validator?

Этот скилл создаёт конфиг, а проверкой занимается fluentbit-validator. Для запросов только на валидацию нужен второй.

Исходный текст

SKILL.md · Apache-2.0
---
name: fluentbit-generator
description: Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
---

# Fluent Bit Config Generator

## Trigger Guidance

Use this skill when the user asks for any of the following:
- Create or update a Fluent Bit config (`fluent-bit.conf`, `parsers.conf`)
- Build a log pipeline (INPUT -> FILTER -> OUTPUT)
- Configure Kubernetes logging with metadata enrichment
- Send logs/metrics to Elasticsearch, Loki, CloudWatch, S3, Kafka, OTLP, or Prometheus remote write
- Implement parser, multiline, lua, or stream processing behavior

Do not use this skill for pure validation-only requests; use `fluentbit-validator` in that case.

## Execution Flow

Follow this sequence exactly. Do not skip stages.

### Stage 1: Set Working Context and Preflight

Use one of these deterministic command patterns.

```bash
# Option A (recommended): run from this skill directory
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator
python3 scripts/generate_config.py --help
```

```bash
# Option B: run from any cwd with absolute paths
python3 /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator/scripts/generate_config.py --help
```

Preflight checks:
- Confirm `python3` is available.
- Confirm script help loads without errors.
- If using relative output paths, run from the intended target cwd.

Fallback:
- If `python3` or script execution is unavailable, switch to manual generation flow (Stage 4) using `examples/` templates.

### Stage 2: Clarification Questionnaire (Explicit Template)

Collect these fields before generation.

Required questions:
1. Primary use case: `kubernetes`, `application logs`, `syslog`, `http ingest`, `metrics`, or `custom`?
2. Inputs: which sources and paths/ports (for example `tail /var/log/containers/*.log`)?
3. Outputs: destination plugin(s) and endpoint(s) (host, port, uri/topic/index/bucket)?
4. Reliability/security requirements: TLS on/off, retry expectations, buffering limits?
5. Environment context: cluster name, environment name, cloud region (if applicable)?

Optional but important:
1. Expected log format: json, regex, cri, docker, multiline stack traces?
2. Throughput profile: low/medium/high and acceptable latency?
3. Constraints: offline environment, missing binaries, read-only filesystem?

If any required answer is missing, ask focused follow-up questions before generating.

### Stage 3: Decide Script vs Manual Generation

Use this decision table.

| Condition | Path |
| --- | --- |
| Request matches a built-in use case and only needs supported flags | Script path (Stage 5) |
| Request needs uncommon plugin options not represented by script flags | Manual path (Stage 4) |
| Complex multi-filter chain, custom parser/lua logic, or specialized plugin tuning | Manual path (Stage 4) |
| Script cannot run in environment (missing Python/permissions) | Manual path (Stage 4) |
| User explicitly requests hand-crafted config | Manual path (Stage 4) |

Supported script use cases:
- `kubernetes-elasticsearch`
- `kubernetes-loki`
- `kubernetes-cloudwatch`
- `kubernetes-opentelemetry`
- `application-multiline`
- `syslog-forward`
- `file-tail-s3`
- `http-kafka`
- `multi-destination`
- `prometheus-metrics`
- `lua-filtering`
- `stream-processor`
- `custom`

Always state the decision explicitly, including why the other path was not used.

### Stage 4: Manual Generation (When Script Is Not the Best Fit)

1. Read the closest template in `examples/` first.
2. Read `examples/parsers.conf` before defining new parsers.
3. Assemble config in this order:
- `[SERVICE]`
- `[INPUT]`
- `[FILTER]`
- `[OUTPUT]`
- parser definitions (if needed)
4. Reuse known-good sections from examples and only customize required parameters.
5. Keep tags and parser references consistent across sections.

Required local template selection:
- Kubernetes + Elasticsearch: `examples/kubernetes-elasticsearch.conf`
- Kubernetes + Loki: `examples/kubernetes-loki.conf`
- Kubernetes + CloudWatch: `examples/cloudwatch.conf`
- Kubernetes + OpenTelemetry: `examples/kubernetes-opentelemetry.conf`
- App multiline: `examples/application-multiline.conf`
- Syslog forward: `examples/syslog-forward.conf`
- File to S3: `examples/file-tail-s3.conf`
- HTTP to Kafka: `examples/http-input-kafka.conf`
- Multi destination: `examples/multi-destination.conf`
- Metrics: `examples/prometheus-metrics.conf`
- Lua filtering: `examples/lua-filtering.conf`
- Stream processor: `examples/stream-processor.conf`
- Parsers: `examples/parsers.conf`

Fallback:
- If no matching example exists, start from `scripts/generate_config.py --use-case custom` output shape and extend manually.

### Stage 5: Script Generation Commands (Deterministic Examples)

Run from skill directory unless output path is absolute.

```bash
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator

# Kubernetes -> Elasticsearch
python3 scripts/generate_config.py \
  --use-case kubernetes-elasticsearch \
  --cluster-name prod-cluster \
  --environment production \
  --es-host elasticsearch.logging.svc \
  --es-port 9200 \
  --output output/fluent-bit.conf

# Kubernetes -> OpenTelemetry
python3 scripts/generate_config.py \
  --use-case kubernetes-opentelemetry \
  --cluster-name prod-cluster \
  --environment production \
  --otlp-endpoint otel-collector.observability.svc:4318 \
  --output output/fluent-bit-otlp.conf

# File tail -> S3
python3 scripts/generate_config.py \
  --use-case file-tail-s3 \
  --log-path /var/log/app/*.log \
  --s3-bucket my-logs-bucket \
  --s3-region us-east-1 \
  --output output/fluent-bit-s3.conf
```

Fallback:
- If a required option is unsupported by the script, document that gap and switch to Stage 4.

### Stage 6: Plugin Documentation Lookup Fallback Chain

Use this strict order when plugin behavior or parameters are uncertain.

1. Context7 (first choice)
- Resolve library id for Fluent Bit docs.
- Query plugin-specific configuration details.

2. Official Fluent Bit docs (second choice)
- Use `https://docs.fluentbit.io/manual` and plugin-specific pages.
- Prefer official plugin reference sections over blogs.

3. Web search (last choice)
- Use only when Context7 and official docs are unavailable/incomplete.
- Prioritize sources that quote or link official docs.

When to stop escalating:
- Stop as soon as required parameters and one validated example are found.
- If all sources are unavailable, proceed with local `examples/` and clearly mark assumptions.

### Stage 7: Validation and Fallback Behavior

Primary validation path:
- Invoke `fluentbit-validator` after generation.

If validator is unavailable, run local fallback checks:
```bash
# Syntax/format smoke check when fluent-bit is installed
fluent-bit -c <generated-config> --dry-run

# Optional execution test
fluent-bit -c <generated-config>
```

If `fluent-bit` binary is missing:
- Perform static checks manually:
  - section headers are valid (`[SERVICE]`, `[INPUT]`, `[FILTER]`, `[OUTPUT]`)
  - required plugin keys exist
  - tag/match patterns align
  - parser names/files referenced correctly
  - no hardcoded credentials
- Report that runtime validation was skipped and why.

### Stage 8: Response Contract

Always return:
1. Generation path used (`script` or `manual`) and reason.
2. Produced file(s) and key plugin choices.
3. Validation results (or explicit skip reason with fallback checks performed).
4. Assumptions, open risks, and what to customize next.

## Done Criteria

This skill execution is complete only when all are true:
- Trigger fit was explicitly confirmed.
- Clarification questionnaire captured required fields or documented assumptions.
- Script-vs-manual decision was explicit and justified.
- Plugin lookup used deterministic chain: Context7 -> official docs -> web (as needed).
- Commands were provided with cwd-safe examples.
- Fallback behavior was applied for any missing tools/docs/network constraints.
- Validation was executed (or skipped with explicit reason and fallback static checks).
- Final response included generated artifacts, validation outcome, and next customization points.

## Local Resources

- Script: `scripts/generate_config.py`
- Templates: `examples/*.conf`
- Parsers baseline: `examples/parsers.conf`
- Sample output directory: `output/`

Use these resources first before introducing new structure.

© akin-ozer · Apache-2.0 · akin-ozer/cc-devops-skills

Похожие скиллы

Всё по теме «DevOps и инфраструктура» →
k8s-manifest-generator Seth Hobson Скилл создаёт Kubernetes-манифесты для приложений и конфигурации. Пригодится, когда нужны Deployment, Service, ConfigMap, Secret или PersistentVolumeClaim. CX Codex 11 166установок observability-k8s-investigation elastic Диагностирует сбои Kubernetes по телеметрии OTel: перезапуски подов, давление на узлы и ошибки плоскости управления. CX Codex +1 3 000установок domain-cloud-native actionbook Скилл задаёт правила разработки облачных микросервисов на Rust: от сигналов завершения работы до проверок готовности в Kubernetes. CX Codex +1 2 900установок dt-obs-kubernetes Dynatrace Скилл помогает анализировать состояние кластеров Kubernetes, сбои подов и нехватку ресурсов через запросы Dynatrace DQL. CX Codex +1 2 600установок devops-deployment OrchestKit Скилл для настройки CI/CD, контейнеризации и инфраструктуры как кода: подсказывает паттерны GitHub Actions, Docker, Helm и Terraform. CX Codex +1 1 600установок kubernetes-skill LukasNiessen Помогает создавать и проверять манифесты Kubernetes без галлюцинаций. Находит ошибки в безопасности, сетевых политиках и ресурсах. CX Codex +1 1 400установок

Из того же набора28

helm-generator Создаёт структуру Helm-чарта, helpers и шаблоны ресурсов по вашему описанию. Пригодится, когда нужно быстро развернуть чарт с Deployment, Service и Ingress. CX Codex +1 633установок makefile-validator Прогоняет Makefile и .mk файлы через синтаксическую проверку, линтер и набор проверок безопасности, а потом отдаёт отчёт с кодом выхода. CX Codex +1 625установок makefile-generator Скилл собирает Makefile с целями .PHONY, стандартными целями и проверкой через makefile-validator. Пригодится, когда проект нужно перевести на make. CX Codex +1 620установок promql-generator Скилл ведёт агента по шагам планирования и собирает PromQL-запросы, правила алертов и recording rules для Prometheus. CX Codex +1 615установок promql-validator Проверяет синтаксис PromQL, находит антипаттерны вроде rate() на gauge-метриках и помогает оптимизировать запросы Prometheus через пошаговый диалог. CX Codex +1 604установок logql-generator Пошагово строит запросы LogQL, метрики и правила алертов для Grafana Loki. Пригодится при настройке мониторинга и разборе инцидентов по логам. CX Codex +1 597установок fluentbit-validator Проверяет и линтит конфигурации Fluent Bit в классическом формате перед деплоем. Помогает найти ошибки в секциях INPUT, FILTER, OUTPUT и маршрутизации тегов. CX Codex +1 595установок loki-config-generator Генерирует рабочие конфигурации Grafana Loki и Helm values под S3, GCS, Azure или локальный диск. Помогает развернуть кластер логов без ручного подбора параметров schema и ingester. CX Codex +1 580установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой