docs: update site types to mokowaas/mokocrm/other

This commit is contained in:
Jonathan Miller
2026-05-12 13:35:22 -05:00
parent fdde6f7909
commit c73afcd89e
2 changed files with 58 additions and 42 deletions
+39 -26
View File
@@ -2,7 +2,7 @@
# Site Monitoring
Panopticon-style monitoring for Joomla and Dolibarr client sites using Prometheus, Grafana, and the Joomla Web Services API.
Endpoint monitoring for MokoWaaS (Joomla) and MokoCRM (Dolibarr) client sites using Prometheus, Grafana, and the Joomla Web Services API.
---
@@ -15,13 +15,20 @@ sites.json (source of truth)
│ ├── blackbox-http.json → Prometheus file_sd (uptime, SSL, response time)
│ ├── blackbox-ssl.json → Prometheus file_sd (certificate expiry)
│ ├── joomla-monitor.conf → joomla-monitor.sh (Joomla API metrics)
│ └── Grafana dashboards → one per client (auto-generated)
│ └── Grafana dashboards → MokoWaaS / MokoCRM dashboards
├── joomla-monitor.sh (cron every 30m)
│ └── joomla-sites.prom → node-exporter textfile collector
── Grafana Dashboard
└── Client: {name} — Panopticon-style panels
── site-uptime-alert.sh (cron every 5m)
└── ntfy alert-critical → DOWN/RECOVERED notifications
└── Grafana Dashboard (MokoWaaS)
├── Site Health table
├── Joomla Core & Extensions table
├── Backup Status table
├── Performance (response time + duration)
└── Uptime History (30d availability)
```
---
@@ -35,14 +42,14 @@ Central definition file at `moko-platform/monitoring/sites.json`. Defines all mo
"grafana": {
"baseUrl": "https://bench.mokoconsulting.tech",
"apiKey": "glsa_...",
"dashboardFolder": "Clients",
"dashboardFolderUid": "cfldz4r88nhfkc"
"dashboardFolder": "Endpoints",
"dashboardFolderUid": "..."
},
"sites": [
{
"name": "clientname-live",
"url": "https://example.com",
"type": "joomla",
"type": "mokowaas",
"client": "ClientName",
"joomlaToken": "...",
"akeebaSecret": "",
@@ -51,7 +58,7 @@ Central definition file at `moko-platform/monitoring/sites.json`. Defines all mo
{
"name": "clientname-dev",
"url": "https://clientname.dev.mokoconsulting.tech",
"type": "joomla",
"type": "mokowaas-dev",
"client": "ClientName",
"joomlaToken": "...",
"tlsVerify": false
@@ -64,11 +71,13 @@ Central definition file at `moko-platform/monitoring/sites.json`. Defines all mo
| Type | Description |
|------|-------------|
| `joomla` | Joomla CMS (uses Joomla Web Services API) |
| `dolibarr` | Dolibarr ERP |
| `gitea` | Gitea instance |
| `grafana` | Grafana instance |
| `generic` | HTTP probe only |
| `mokowaas` | MokoWaaS — Joomla CMS (uses Joomla Web Services API) |
| `mokowaas-dev` | MokoWaaS development instance |
| `mokowaas-demo` | MokoWaaS demo instance |
| `mokocrm` | MokoCRM — Dolibarr ERP |
| `mokocrm-dev` | MokoCRM development instance |
| `mokocrm-demo` | MokoCRM demo instance |
| `other` | HTTP probe only (gitea, grafana, etc.) |
### Multiple Endpoints per Client
@@ -86,7 +95,7 @@ monitor_site_add(name, url, type, client, joomlaToken, akeebaSecret, tlsVerify)
### Manual
1. Edit `monitoring/sites.json` -- add site entries
1. Edit `monitoring/sites.json` add site entries
2. Run `monitoring/generate-targets.sh`
3. Copy generated files to server:
- `generated/blackbox-http.json``/opt/.../monitoring/targets/`
@@ -101,7 +110,7 @@ monitor_site_add(name, url, type, client, joomlaToken, akeebaSecret, tlsVerify)
monitoring/generate-targets.sh --deploy
```
The `--deploy` flag auto-pushes generated targets to the server AND creates/updates Grafana dashboards (one per client) via the Grafana API. Dashboard UIDs are stable -- they are derived from a hash of the client name, so re-running `--deploy` updates existing dashboards rather than creating duplicates.
The `--deploy` flag auto-pushes generated targets to the server AND creates/updates Grafana dashboards via the Grafana API. Dashboard UIDs are stable they are derived from a hash of the client name, so re-running `--deploy` updates existing dashboards rather than creating duplicates.
---
@@ -145,22 +154,23 @@ Backup status is collected via the Akeeba Backup JSON API v2:
---
## Grafana Dashboards
## Grafana Dashboard
Template at `monitoring/grafana/client-joomla-dashboard.json` in the client template repo.
Dashboard: **MokoWaaS** (UID: `mokowaas`) in the Endpoints folder.
### Panel Layout
### Table Layout
| Row | Content |
|-----|---------|
| **Row 1 -- Status** | Site UP/DOWN, Joomla ONLINE/OFFLINE, HTTP status, SSL cert days, API reachable, last check |
| **Row 2 -- Updates** | Joomla version, core update available, extensions total/enabled/disabled |
| **Row 3 -- Performance** | Response time breakdown, DNS lookup, total duration, TLS version, HTTP version |
| **Row 4 -- Backup** | Last backup status, backup age, backup record count |
| **Row 5 -- History** | 30-day availability timeline |
| Section | Columns |
|---------|---------|
| **Site Health** | Endpoint (clickable → front page), Online, Status, HTTP (→ Wikipedia), API, SSL days, Last Scrape |
| **Joomla Core & Extensions** | Endpoint (clickable → /administrator/), Version, System update, Ext Updates, Total, Enabled, Disabled |
| **Backup Status** | Endpoint (clickable → Akeeba Manage), Status (OK/FAILED), Age, Records |
| **Performance** | Response time chart (transfer + processing), Total duration gauge |
| **Uptime History** | 30-day availability timeline |
### Dashboard Organization
### Alerting
<<<<<<< Updated upstream
| Folder | Contents |
|--------|----------|
| `Clients/` | Per-client dashboards (auto-generated by `generate-targets.sh --deploy`) |
@@ -209,3 +219,6 @@ Template at `monitoring/grafana/client-joomla-dashboard.json` in the client temp
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
=======
`site-uptime-alert.sh` runs every 5 minutes and sends to ntfy `alert-critical` when any `mokowaas.*` site goes DOWN, with a recovery notification when it comes back UP.
>>>>>>> Stashed changes
+19 -16
View File
@@ -2,7 +2,7 @@
# Sites Monitoring
The monitor MCP integrates with `sites.json` to manage monitored Joomla and Dolibarr sites. This provides a single source of truth for all client endpoints, driving Prometheus blackbox probes, Joomla API metrics, and Grafana dashboards.
The monitor MCP integrates with `sites.json` to manage monitored MokoWaaS (Joomla) and MokoCRM (Dolibarr) sites. This provides a single source of truth for all client endpoints, driving Prometheus blackbox probes, Joomla API metrics, and Grafana dashboards.
## How it works
@@ -18,7 +18,7 @@ The monitor MCP integrates with `sites.json` to manage monitored Joomla and Doli
├── blackbox-http.json → Prometheus
├── blackbox-ssl.json → Prometheus
├── joomla-monitor.conf → cron script
└── Grafana dashboards → one per client
└── Grafana dashboards → MokoWaaS / MokoCRM
```
## sites.json format
@@ -28,14 +28,14 @@ The monitor MCP integrates with `sites.json` to manage monitored Joomla and Doli
"grafana": {
"baseUrl": "https://bench.mokoconsulting.tech",
"apiKey": "glsa_...",
"dashboardFolder": "Clients",
"dashboardFolderUid": "cfldz4r88nhfkc"
"dashboardFolder": "Endpoints",
"dashboardFolderUid": "..."
},
"sites": [
{
"name": "clientname-live",
"url": "https://example.com",
"type": "joomla",
"type": "mokowaas",
"client": "ClientName",
"joomlaToken": "sha256:...",
"akeebaSecret": "",
@@ -49,20 +49,22 @@ The monitor MCP integrates with `sites.json` to manage monitored Joomla and Doli
| Type | Probes | API Monitoring |
|------|--------|----------------|
| `joomla` | HTTP, SSL | Version, updates, extensions, backup (via Joomla API) |
| `dolibarr` | HTTP, SSL | Planned |
| `gitea` | HTTP, SSL | -- |
| `grafana` | HTTP, SSL | -- |
| `generic` | HTTP, SSL | -- |
| `mokowaas` | HTTP, SSL | Version, updates, extensions, backup (via Joomla API) |
| `mokowaas-dev` | HTTP, SSL | Same as mokowaas |
| `mokowaas-demo` | HTTP, SSL | Same as mokowaas |
| `mokocrm` | HTTP, SSL | Planned |
| `mokocrm-dev` | HTTP, SSL | Planned |
| `mokocrm-demo` | HTTP, SSL | Planned |
| `other` | HTTP, SSL | -- |
## Multiple endpoints per client
A single client can have multiple monitored endpoints sharing the same `client` label:
```json
{"name": "acme-live", "url": "https://acme.com", "type": "joomla", "client": "ACME"},
{"name": "acme-dev", "url": "https://acme.dev.mokoconsulting.tech", "type": "joomla", "client": "ACME", "tlsVerify": false},
{"name": "acme-staging", "url": "https://acme-staging.com", "type": "joomla", "client": "ACME"}
{"name": "acme-live", "url": "https://acme.com", "type": "mokowaas", "client": "ACME"},
{"name": "acme-dev", "url": "https://acme.dev.mokoconsulting.tech", "type": "mokowaas-dev", "client": "ACME", "tlsVerify": false},
{"name": "acme-staging", "url": "https://acme-staging.com", "type": "mokowaas", "client": "ACME"}
```
Grafana dashboard dropdowns auto-populate from Prometheus `site_name` and `site_type` labels.
@@ -83,7 +85,7 @@ Grafana dashboard dropdowns auto-populate from Prometheus `site_name` and `site_
generate-targets.sh --deploy
```
The `--deploy` flag now also auto-creates Grafana dashboards (one per client) via the Grafana API. Dashboard UIDs are stable (derived from client name hash), so re-running updates existing dashboards rather than creating duplicates.
The `--deploy` flag also auto-creates Grafana dashboards via the Grafana API. Dashboard UIDs are stable (derived from client name hash), so re-running updates existing dashboards rather than creating duplicates.
## Template-Client-WaaS workflow files
@@ -96,8 +98,8 @@ The client template repo (`Template-Client-WaaS`) includes two Gitea Actions wor
## Related
- [SITE_MONITORING](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/SITE_MONITORING) -- full architecture docs in moko-platform wiki
- [JOOMLA_SYNC](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/JOOMLA_SYNC) -- SFTP sync between dev/live servers
- [SITE_MONITORING](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/SITE_MONITORING) full architecture docs in moko-platform wiki
- [JOOMLA_SYNC](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/JOOMLA_SYNC) SFTP sync between dev/live servers
]]>
---
@@ -107,3 +109,4 @@ The client template repo (`Template-Client-WaaS`) includes two Gitea Actions wor
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.1 | 2026-05-12 | Moko Consulting | Update site types to mokowaas/mokocrm/other |