Observability and monitoring
Zentto includes an enterprise-grade observability stack that monitors the entire platform in real time.
Dashboard access
Section titled “Dashboard access”| Tool | URL | Purpose |
|---|---|---|
| Kibana | kibana.zentto.net | Dashboards, logs, alerts |
| Kafka UI | kafka.zentto.net | Event queue, topics |
What is monitored?
Section titled “What is monitored?”Real-time operations
Section titled “Real-time operations”- Requests per second to the API
- Response codes (200, 400, 500)
- Average latency per endpoint
- Concurrent active users
Screenshot: Operations dashboard in Kibana
Errors and exceptions
Section titled “Errors and exceptions”- Errors per hour with trend
- Top 10 most frequent errors
- Stack traces for debugging
- Automatic alerts when error rate rises
Audit and security
Section titled “Audit and security”- Successful and failed logins
- Configuration changes
- Access by company and user
- Geographic connection map
Performance
Section titled “Performance”- Latency percentiles (P50, P95, P99)
- Slow requests (>1 second)
- Throughput per service
Business Intelligence
Section titled “Business Intelligence”- Invoices issued per day
- POS vs Web sales
- CRM leads created vs closed
- New customers per week
- Access by country
Screenshot: Business Intelligence dashboard
Infrastructure
Section titled “Infrastructure”- CPU and memory per Docker container
- Logs per service
- Container restarts
- Disk usage
Zentto Notify
Section titled “Zentto Notify”- Emails sent per hour
- Delivery, open and click rates
- Failures by channel (Email, WhatsApp, SMS)
Mobile
Section titled “Mobile”- Sessions per app (Store, Ops, Rest, CRM)
- Most used endpoints from mobile
- Push notifications sent vs opened
Automatic alerts
Section titled “Automatic alerts”| Alert | Trigger | Notification |
|---|---|---|
| Error spike | >10 5xx errors in 5 min | Email + Slack |
| Slow API | P95 > 3s for 10 min | Slack |
| Brute force | >20 failed logins from same IP in 1 min | Block + Email |
| Disk full | >85% disk usage | |
| Container down | Unhealthy > 2 min | Slack + Email |
| No traffic | 0 requests for 5 min | Urgent email |
How to use Kibana
Section titled “How to use Kibana”Search logs
Section titled “Search logs”- Open kibana.zentto.net
- Go to Discover in the side menu
- Select the index pattern
zentto-api-logs-* - Use the search bar to filter:
statusCode:500— Errors onlymethod:POST AND path:"/v1/facturas"— Invoice creationcompanyId:1 AND durationMs>1000— Slow requests for a companyevent:"invoice.created"— Specific business events
Create visualizations
Section titled “Create visualizations”- Go to Visualize Library
- Click Create visualization
- Select the type (line, bar, pie, table, map)
- Choose the index pattern and configure axes
- Save and add it to a dashboard
Create dashboards
Section titled “Create dashboards”- Go to Dashboard
- Click Create dashboard
- Add existing visualizations
- Set the time range (last 24h, 7 days, etc.)
- Save the dashboard
Stack architecture
Section titled “Stack architecture”Zentto API → Kafka (8 topics) → Logstash → Elasticsearch → Kibana ↑Docker containers → Filebeat ─────────────────────┘Kafka topics
Section titled “Kafka topics”| Topic | Data | Retention |
|---|---|---|
zentto-api-logs | HTTP requests, info | 7 days |
zentto-api-errors | 5xx errors, exceptions | 30 days |
zentto-api-audit | Login, changes, access | 90 days |
zentto-api-performance | Latency, slow queries | 7 days |
zentto-api-events | Business events | 30 days |
zentto-docker-logs | Container logs | 3 days |
zentto-notify-logs | Notify logs | 14 days |
zentto-mobile-events | App events | 14 days |