dt-obs-log-semantic-mapping — скилл для Claude Code: маппинг логов
Скилл сопоставляет поля аудит-логов вендора с семантическим словарём Dynatrace и проверяет готовую схему.
npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a claude-codeЧто делает dt-obs-log-semantic-mapping
Скилл работает с четырьмя классами логов: authentication, authorization, user_action и http. Для каждого он знает ключевые пространства имён — audit.*, actor.*, browser.*, device.*, object.*, http.*, url.* и другие. На вход подаёте сырой payload от вендора или уже загруженное событие.
Три сценария. Workflow A предлагает маппинг сырого payload на поля fetch logs. Workflow B1 проверяет схему по вставленному событию. Workflow B2 идёт в живой тенант: тянет логи по log.source, а потом прогоняет по ним статическую проверку.
Главная забота скилла — поля, закопанные в content. Он всегда сверяет, что осталось внутри сырого payload, а что вынесено на верхний уровень, и предлагает правила извлечения для OpenPipeline. Если собираетесь править эти правила, сначала загрузите скилл dt-dql-essentials: процессоры OpenPipeline работают на функциях DQL вроде parse и fieldsAdd, и синтаксис не из DQL даст нерабочее правило. Ещё в references/openpipeline-constraints.md отмечено, что parseJson недоступен — вместо него связка parse и fieldsFlatten.
Какие задачи решает
- сопоставить поля сырого аудит-лога вендора с семантическим словарём Dynatrace
- проверить готовый маппинг по вставленному событию из тенанта
- найти поля, застрявшие в
contentвместо верхнего уровня - собрать правила извлечения для процессоров OpenPipeline на DQL
- прогнать проверку на живых логах, отобранных по
log.source
Примеры запросов агенту
- Сопоставь этот payload CyberArk с семантическим словарём Dynatrace
- Проверь маппинг по этому событию из логов
- Собери правила OpenPipeline для полей, которые остались в content
Как установить dt-obs-log-semantic-mapping
1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a claude-code2Вручную: положить файлы
~/.claude/skills/dt-obs-log-semantic-mapping/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/dt-obs-log-semantic-mapping/
1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a codex2Вручную: положить файлы
.agents/skills/dt-obs-log-semantic-mapping/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a cursor2Вручную: положить файлы
.cursor/skills/dt-obs-log-semantic-mapping/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Dynatrace/dynatrace-for-ai dt-obs-log-semantic-mapping2Вручную: положить файлы
.github/skills/dt-obs-log-semantic-mapping/SKILL.md1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a gemini-cli2Командой платформы
gemini skills install https://github.com/Dynatrace/dynatrace-for-ai --path skills/dt-obs-log-semantic-mappingВручную: положить файлы
.devin/skills/dt-obs-log-semantic-mapping/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о dt-obs-log-semantic-mapping
Как установить dt-obs-log-semantic-mapping в Claude?
Выполните npx skills add Dynatrace/dynatrace-for-ai --skill dt-obs-log-semantic-mapping -a claude-code. Скилл окажется в ~/.claude/skills/dt-obs-log-semantic-mapping/SKILL.md.
Что делает dt-obs-log-semantic-mapping?
Предлагает и проверяет маппинг аудит-логов вендора на семантический словарь Dynatrace. Умеет работать и со сырым payload, и с живыми логами из тенанта.
Нужен ли доступ к тенанту Dynatrace?
Только для Workflow B2 — он тянет живые записи по log.source. Workflow A и B1 обходятся сырым payload или вставленным событием.
Исходный текст
SKILL.md · Apache-2.0
--- name: dt-obs-log-semantic-mapping description: "Suggest and validate semantic dictionary (SD) mappings for audit log integrations using raw vendor log payloads or live ingested events. Use when: mapping a vendor audit log feed, authentication logs, user activity logs to the Dynatrace SD; checking required semantic fields; proposing OpenPipeline processor extraction rules based on DQL; running runtime validation (fetches live logs by log.source, then applies static validation)." license: Apache-2.0 --- # dt-obs-log-semantic-mapping Build and validate semantic-dictionary-aligned mappings for audit log integrations. ## Purpose Use this skill when a user wants to: - **Suggest** a mapping from a raw vendor audit log payload to Dynatrace `fetch logs` fields (Workflow A). - **Validate** a mapping against a pasted ingested log event (Workflow B1 — static). - **Validate** against live tenant data via live tenant access (Workflow B2 — runtime: fetches logs by `log.source`, then runs B1 on the result). ## Log Classes | Class | Description | Key namespaces | Example sources | |---|---|---|---| | `authentication` | Login, logout, MFA, token | `audit.*`, `actor.*`, `browser.*`, `device.*` | CyberArk, Okta, Azure SignInLogs | | `authorization` | Access decisions, permission changes | `audit.*`, `actor.*`, `object.*` | CyberArk, Okta | | `user_action` | CRUD on platform resources | `audit.*`, `actor.*`, `object.*`, `product.*` | Okta, GitHub, Sonatype | | `http` | HTTP request/response (WAF, network devices) | `http.*`, `url.*`, `server.*`, `geo.*`, `client.*` | Akamai SIEM, Cloudflare | ## Workflows | Mode | Input | Source | |---|---|---| | **Workflow A** — Suggest mapping | Raw vendor log payload | `references/mapping-workflow.md § Workflow A` | | **Workflow B1** — Static validation | Pasted ingested log event | `references/mapping-workflow.md § Workflow B1` | | **Workflow B2** — Runtime validation | `log.source` value + live tenant access | `references/runtime-validation.md` — fetches logs, then runs B1 | ## Key Concepts **Content field burial:** The primary validation concern. Fields in `content` (the raw vendor payload) that could be promoted to top-level semantic attributes but are not. The skill always inventories buried vs promoted fields and proposes OpenPipeline extraction rules to fix gaps. > **Prerequisite:** When proposing OpenPipeline processor extraction rules, load the `dt-dql-essentials` skill first. OpenPipeline processors use DQL functions (`parse`, `fieldsAdd`, `splitString`, etc.) — using non-DQL syntax produces invalid rules. **Sparse mappings are valid:** Integrations like GitHub or Sonatype may only populate core fields. Minimum required: `timestamp`, `log.source`, `content`, `loglevel`, `audit.action`, `audit.identity`. ## References - `references/data-model-notes.md` — Log SD field taxonomy, audit namespace, enums, sample-derived patterns and known discrepancies - `references/mapping-workflow.md` — Intake checklist, Workflow A and B1 procedures, content field analysis, field priority order - `references/validation-rules.md` — Required fields, content/enum/type rules, discrepancy severity - `references/openpipeline-constraints.md` — OpenPipeline processor command/function/operator/matcher restrictions; `parseJson` unavailability + `parse`→`fieldsFlatten` alternative; iterative operators for array casting - `references/report-format.md` — Mapping table, diff table, OpenPipeline sketch, Validation Summary templates - `references/runtime-validation.md` — Workflow B2: fetch live records, then run B1 - `samples/audit-logs.json` — Mapped samples: CyberArk, Okta, Azure SignInLogs, Sonatype, GitHub - `samples/http-logs.json` — Mapped samples: Akamai SIEM (WAF/HTTP class) - [Dynatrace Log Semantic Dictionary](https://docs.dynatrace.com/docs/semantic-dictionary/model/log)
© Dynatrace · Apache-2.0 · Dynatrace/dynatrace-for-ai