默认登录是 admin/changeme,上线前务必改掉;自托管需自行准备 S3 兼容桶并配置凭证;自然语言查询和 AI 代理依赖 LLM,需额外配置模型访问。
monoscope
monoscope-techAGPL-3.0活跃维护把日志、链路追踪和指标统一摄入并存入 S3 兼容存储,支持用自然语言通过 LLM 查询,适合自建可观测性平台。
Monoscope lets you ingest and explore your logs, traces and metrics. We store these in S3 compatible buckets. Query in natural language via LLMs.
git clone https://github.com/monoscope-tech/monoscope.git
cd monoscope
docker-compose upREADME 未说明具体 CPU/内存/显存要求;自托管通过 docker-compose 启动,需要自备 S3 兼容存储桶。
把日志、链路和指标存进你自己的 S3 桶,还能用自然语言查询的开源可观测平台
把日志、链路追踪和指标统一摄入并存入 S3 兼容存储,支持用自然语言通过 LLM 查询,适合自建可观测性平台。
核心能力
- 遥测数据写入自有 S3 兼容桶,无厂商锁定
- 用 LLM 把自然语言问题转成查询语句
- 定时运行 AI 代理检测异常并推送邮件报告
- 原生支持 OpenTelemetry,内置 750+ 集成
- 日志、指标、链路与会话回放统一关联查看
容易踩的坑
- v0.6.31Monoscope v0.6.31最新正式版2026-10-10 · 2026-10-10 22:15 UTC
CLI fixes and workflow improvements:
- Center historical
events context --atwindows correctly. - Mask credential entry and output; write credential files with private permissions.
- Show help consistently for every command and improve errors in scripts.
- Reject invalid durations, nonpositive search limits, and unknown chart types.
- Correct the custom installation-directory example.
- Report the release version correctly and recognize already installed releases without redundant downloads or failure exits.
Breaking change:
metrics query --assertexits with failure when the query has no numeric scalar. Usesummarizewithout abyclause for assertion queries.Credential files use
0600, and the config directory uses0700, including existing files and directories.Validation includes 127 CLI workflow tests, real PostgreSQL and TimeFusion context checks, 176 browser tests, credential-entry checks, and binary linkage checks.
- Center historical
- v0.6.30Monoscope v0.6.302026-10-10 · 2026-10-10 00:35 UTC
查看更新说明
What's Changed
- Fix dashboard dialog focus clipping and template selection by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/653
- Fix widget warning threshold JSON key by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/654
- Fix scalar monitor charts and add highlighted widget query previews by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/655
- Speed up dashboard list loading and repair widget thresholds by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/656
- Add telemetry-backed advisory PR impact reviews by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/657
- Fix PR impact review leases and derive GitHub wire codecs by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/659
- Distill impact review decoding and no-evidence handling by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/660
- Fix onboarding plan redirects and enforce Free owner access by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/658
- Keep Explorer widgets unchanged when selecting log details by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/663
- Fix CLI resource lists and pick omitted IDs interactively by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/662
Full Changelog: https://github.com/monoscope-tech/monoscope/compare/v0.6.29...v0.6.30
- v0.6.29Monoscope v0.6.292026-10-07 · 2026-10-07 10:13 UTC
查看更新说明
What's Changed
- Issue volume charts: serve wide windows from the hourly stats rollup by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/623
- Issue charts: only read the hourly rollup inside its coverage; use it for past windows by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/624
- Issue charts: use the hourly rollup for every covered window, and cover signals from their first event by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/625
- Fix dashboard widget editing and monitor setup by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/626
- Fix issue page popover placement by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/628
- Tighten chart labels in short wide widgets by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/627
- Dashboard responsive canvas by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/629
- Stabilize dashboard and monitor browser tests by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/630
- Normalize OTel HTTP spans and speed endpoint analytics filters by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/631
- Fix stale endpoint dashboard filters in shared URLs by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/633
- Fix navbar flash when navigating from a dashboard to Explorer by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/632
- Fix field facets when the cache is empty by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/634
- Fix CLI status open issue count by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/635
- Stop re-announcing known endpoints and shattering htmx errors by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/636
- Stop internal HTTP spans from creating endpoints by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/637
- Forward dashboard filters on first lazy widget fetch by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/638
- Destroy time picker before HTMX removes its root by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/639
- Fix grouped widget PNG rendering by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/640
- Retry Tagify after script load failures by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/641
- Retry Log Explorer preload after empty response by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/642
- Track latest runtime error event for issue details by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/643
- Order runtime issues by latest error event by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/644
- Decode numeric SQL results in charts by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/645
- Use stored event time when issue pattern is absent by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/646
- Fix sidebar avatar: initials instead of a broken image by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/648
- Reduce embedding sweep heap usage by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/647
- Restore resource service name as final OTLP host fallback by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/649
- Fix onboarding docs and Log Explorer facet selection by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/650
- Reuse PR production images and reject stale deployments by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/651
- Fix dashboard variable loading, CLI test events, and onboarding checks by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/652
Full Changelog: https://github.com/monoscope-tech/monoscope/compare/v0.6.28...v0.6.29
- v0.6.28Monoscope v0.6.282026-10-01 · 2026-10-01 13:55 UTC
查看更新说明
What's Changed
- fix: preserve queued jobs when background workers are disabled by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/521
- fix: avoid repeated suffix copies during pattern normalization by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/522
- fix: save completed embedding documents before later requests fail by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/523
- Retry temporary embedding provider rate limits by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/524
- Preserve OpenAI cancellation at background job deadlines by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/527
- Generate system reports in the background and save their chart data by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/525
- Avoid union allocation in Drain Jaccard comparisons by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/528
- Fix query editor deployment test contracts and runner discovery by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/531
- Open saved reports by default and fix email chart presentation by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/530
- Bound Kafka polling and share ingestion processing capacity by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/532
- Refresh cached report PNGs after the renderer update by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/533
- Avoid production restarts for changes confined to plans by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/535
- Let log embeddings progress during slow error embedding by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/534
- Support trace IDs in timestamped CLI lookups by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/536
- Measure native Kafka fetch queue memory by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/537
- Prevent overdue background jobs from starving behind new arrivals by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/538
- Back off background job polling when worker slots are full by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/539
- Update log baselines without scanning every pattern by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/540
- perf: count Jaccard intersections without temporary sets by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/541
- perf: avoid intermediate allocations during centroid matching by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/542
- perf: use boolean regex matching for format classification by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/543
- Keep route hashes consistent across spans in the same batch by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/544
- Fix HTTP Stats response filters and latency query by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/546
- Stop announcing endpoints from 404-only observations by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/545
- Reduce format classifier allocations by sharing regex input by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/547
- Maintain background job modification timestamps by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/548
- Use stored telemetry kinds in query suggestions by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/549
- Reduce metric UUID allocation without changing identifiers by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/550
- Reduce allocation in first-match pattern merging by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/551
- Fix slow-span query in the query library by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/552
- Reduce allocation when scanning replay strings by @tonyalaribe in https://github.co
- v0.6.27Monoscope v0.6.272026-09-07 · 2026-09-07 03:00 UTC
查看更新说明
What's Changed
- Expand weekly emails into dense system reports by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/509
- fix: return requested aggregates and columns in summary tables by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/512
- fix: bound embedding requests and preserve long patterns by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/511
- fix: keep ingestion parameters out of database exception logs by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/513
- Fix CLI severity filters that hide matching errors by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/514
- Preserve project-ID-only telemetry batches during ingestion by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/515
- Avoid mobile sidebar errors on pages without a project by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/516
- fix: include project ID in dashboard variable refreshes by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/519
- fix: align severity schema and examples with stored fields by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/517
- fix: avoid quadratic suffix scans during error normalization by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/520
- fix(cli): preserve pipelines when adding shorthand filters by @tonyalaribe in https://github.com/monoscope-tech/monoscope/pull/518
Full Changelog: https://github.com/monoscope-tech/monoscope/compare/v0.6.26...v0.6.27
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Open-source observability platform with S3 storage
Ingest and explore logs, traces, and metrics stored in your S3 buckets. Query with natural language. Create AI agents that detect anomalies and send daily/weekly reports to your inbox.
Website • Playground • Discord • Twitter • Documentation
What is Monoscope?
Monoscope is an open-source observability platform that stores your telemetry data in S3-compatible storage. Self-host it or use our cloud offering.
Core capabilities:
- 💰 S3 storage — Store years of logs, metrics, and traces affordably in your own S3 buckets
- 💬 Natural language queries — Search your data using plain English via LLMs
- 🤖 AI agents — Create agents that run on a schedule to detect anomalies and surface insights
- 📧 Email reports — Receive daily/weekly summaries of important events and anomalies
- 🔭 OpenTelemetry native — 750+ integrations out of the box
- ⚡ Live tail — Stream logs and traces in real-time
- 🕵️ Unified view — Correlate logs, metrics, traces, and session replays in one place
Cloud vs Self-hosted
In both options, you bring your own S3 buckets—your data stays yours.
| Cloud | Self-hosted | |
|---|---|---|
| Storage | Your S3 buckets | Your S3 buckets |
| Compute | Managed by us | You manage |
| Auth & SSO | Built-in | DIY |
| Alert channels | Slack, PagerDuty, etc. | Basic email |
| Pricing | Usage-based | Free (AGPL-3.0) |
→ Start free on Cloud or continue below to self-host.
The Cloud Free plan supports one user: the project owner (the first member added when the project is created). Other members can access the project after an upgrade. This limit does not apply to self-hosted Open Source projects.
Quick Start
git clone https://github.com/monoscope-tech/monoscope.git
cd monoscope
docker-compose up
Visit http://localhost:8080 (default: admin/changeme)
Send Test Data
Populate your dashboard with test telemetry:
monoscope auth login
# Single event — see your message appear in the dashboard
monoscope send-event -m "Hello from Monoscope"
# Sustained load — stress-test the pipeline
monoscope telemetrygen --kind=trace --rate=5 --count=50
CLI
Manage your Monoscope project from the terminal — search logs, query metrics, manage monitors and dashboards, triage issues, and more.
curl https://monoscopehq.com/install.sh | sh
monoscope auth login
See the CLI reference for the full command list.
Agentic pipeline
Every CLI command emits a stable JSON envelope, so you can chain discovery → search → triage without manual munging. This is the same pipeline a Claude Code skill runs end-to-end:
# 1. What services exist? (Precomputed; no aggregation query needed.)
SVC=$(monoscope facets resource.service.name --top 1 \
| jq -r '.["resource.service.name"][0].value')
# 2. Grab one error event from that service — id only, ready to chain.
ID=$(monoscope logs search 'severity.severity_text=="error"' \
--service "$SVC" --first --id-only)
# 3. Pull the surrounding 5 minutes of traffic, with a per-trace summary
# showing which other services were affected.
monoscope events context --window 5m --summary \
--at "$(monoscope events get "$ID" | jq -r .timestamp)" \
| jq '.traces | sort_by(-.error_count) | .[0:3]'
# 4. Acknowledge the open issue once you have a hypothesis.
monoscope issues list --service "$SVC" --status open \
| jq -r '.data[].id' | head -3 \
| xargs -I {} monoscope issues ack {}
Each step's output shape is documented and stable:
| Command | Envelope |
|---|---|
facets [FIELD] | {<field_path>: [{value, count}, ...]} |
events search (and logs/traces) | {events: [...], count, has_more, cursor} |
events context --summary | {events, count, traces: [{trace_id, services, span_count, error_count}]} |
issues list, monitors list, ... | {data: [...], pagination: {has_more, total, cursor, page, per_page}} |
auth status (agent mode) | {authenticated, method, api_url, project} |
Set MONOSCOPE_AGENT_MODE=1 (or run with --agent) to force JSON output and
disable interactive prompts — auto-detected when CI or CLAUDE_CODE is set.
Claude Code Skills
Let Claude investigate incidents, triage alerts, and write KQL queries using the monoscope CLI — install the skills plugin:
# Claude Code
claude plugin marketplace add monoscope-tech/skills
claude plugin install monoscope-skills@monoscope-skills
# or via npx (Cursor, Cline, Copilot, and other agents)
npx skills add monoscope-tech/skills
Restart Claude Code after installation. Skills activate automatically when relevant — e.g. "investigate the 500 errors in payment-api" or "do an on-call sweep".
See github.com/monoscope-tech/skills for the full skill list and documentation.
MCP Server
Monoscope exposes itself as a Model Context Protocol server at /api/v1/mcp, so any MCP-aware client (Claude Desktop, Cursor, Cline, custom agents) can search events, manage monitors and dashboards, triage issues, and run composite workflows like search_events_nl (natural-language → KQL) and analyze_issue (LLM-assisted root-cause).
{
"mcpServers": {
"monoscope": {
"url": "https://api.monoscope.tech/api/v1/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Every public REST endpoint is auto-registered as a verb-first tool (list_monitors, search_events, mute_monitor, …). See the MCP reference for the full protocol, tool catalog, and examples.
Integration
Auto-instrument your apps
pip install opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install
OTEL_SERVICE_NAME="my-app" \
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" \
opentelemetry-instrument python myapp.py
npm install --save @opentelemetry/auto-instrumentations-node
OTEL_SERVICE_NAME="my-app" \
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" \
node --require @opentelemetry/auto-instrumentations-node/register app.js
curl -L https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar -o otel-agent.jar
OTEL_SERVICE_NAME="my-app" \
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" \
java -javaagent:otel-agent.jar -jar myapp.jar
# Install OpenTelemetry Operator
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml
# Configure auto-instrumentation
kubectl apply -f - <<EOF
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: my-instrumentation
spec:
exporter:
endpoint: http://monoscope:4317
propagators:
- tracecontext
- baggage
EOF
# Annotate your deployments for auto-instrumentation
kubectl patch deployment my-app -p \
'{"spec":{"template":{"metadata":{"annotations":{"instrumentation.opentelemetry.io/inject-java":"my-instrumentation"}}}}}'
Natural Language Queries
Query your telemetry data in plain English:
- "Show me all errors in the payment service in the last hour"
- "What caused the spike in response time yesterday?"
- "Which endpoints have the highest p99 latency?"
AI Agents & Reports
Create AI agents that monitor your systems on a schedule:
- Scheduled analysis — Agents run at intervals you define (hourly, daily, weekly)
- Anomaly detection — Automatically surface unusual patterns in logs, metrics, and traces
- Email reports — Receive summaries of important events and insights directly in your inbox
- Customizable focus — Configure agents to watch specific services, error types, or metrics
Architecture
graph LR
A[Your Apps] -->|Logs/Metrics/Traces| B[Ingestion API]
B --> C[TimeFusion Engine]
C --> D[(S3 Storage)]
D --> E[Query Engine]
E --> F[Dashboards]
D --> G[AI Agent Scheduler]
G -->|LLM Analysis| H[Anomaly Detection]
H --> I[Email Reports]
H --> J[Alert Channels]
Project Structure
Monoscope is organized into four primary components:
app/— Haskell server binary (WAI/Yesod web application)cli/— Command-line interface for managing projects, querying data, and automating workflowsweb-components/— Custom UI elements (Web Components) for dashboards and log explorationsrc/— Core Haskell library exporting shared types, utilities, and business logic
Powered by TimeFusion
Monoscope is built on TimeFusion, our open-source time-series database for observability workloads.
| 🗄️ S3-native | Data lives in your S3 buckets—no vendor lock-in |
| 🐘 PostgreSQL compatible | Use any Postgres client or driver |
| ⚡ 500K+ events/sec | Columnar storage with Apache Arrow |
| 💵 Pay only for S3 | No expensive proprietary storage fees |
How It Compares
| Feature | Monoscope | Datadog | Elastic | Prometheus |
|---|---|---|---|---|
| S3/Object Storage | ✅ Native | ❌ | ✅ | ✅ |
| Natural Language Query | ✅ | ❌ | ❌ | ❌ |
| AI Agents & Reports | ✅ Built-in | ❌ Add-on | ❌ | ❌ |
| Open Source | ✅ AGPL-3.0 | ❌ | ✅ | ✅ |
| Self-hostable | ✅ | ❌ | ✅ | ✅ |
Screenshots
Log Explorer - Unified View
Logs and trace spans displayed together in context for complete observability.
Trace Context Integration
See detailed trace information alongside logs for debugging complex distributed systems.
Dashboard Analytics
Real-time metrics and performance monitoring with AI-powered insights.
Trusted by Leading Companies
"Monoscope notifies us about any slight change on the system. Features that would cost us a lot more elsewhere." — Samuel Joseph, Woodcore
Documentation
- Getting Started Guide
- CLI Reference
- MCP Server
- Configuration
- Kubernetes Guide
- Development Guide
- Running CI Locally
Roadmap
- Custom dashboards builder
- More out-of-the-box dashboards
- AIOps workflow builder
- Full migration to TimeFusion storage engine
- Metrics aggregation rules
- Multi-tenant workspace support
- More alert channel integrations
See our public roadmap for details and to vote on features.
Community
💬 Discord • 🐛 Issues • 🐦 Twitter
License
AGPL-3.0. See LICENSE for details.
For commercial licensing options, contact us at [email protected].