Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ By default, short-term forecasts cover the next five minutes.

## Forecast Generation

Forecasts rely on OpenNebula’s built-in monitoring system ([The OpenNebula Monitoring System]({{% relref "product/cloud_system_administration/scheduler/configuration/#monitor-alert-configuration" %}})). Periodically, monitoring probes analyze real-time CPU, memory, disk, and network metrics to generate predictions. Each Host maintains a local time-series database (`/var/tmp/one_db/host.db`) storing historical data for forecasting. Similarly, every VM has a dedicated database (`/var/tmp/one_db/<VM_ID>.db`) that tracks its individual metrics.
Forecasts rely on OpenNebula’s built-in monitoring system ([The OpenNebula Monitoring System]({{% relref "product/cloud_system_administration/scheduler/configuration/#monitor-alert-configuration" %}})). Periodically, monitoring probes analyze real-time CPU, memory, disk, and network metrics to generate predictions. Each Host maintains a local time-series database (`/var/tmp/one_db/host.db`) storing historical data for forecasting. Similarly, every VM has a dedicated database (`/var/tmp/one_db/<VM_ID>.db`) that tracks its individual metrics. The databases are stored next to the remote scripts directory, in `<SCRIPTS_REMOTE_DIR>_db` (oned.conf); the paths above correspond to the default configuration.

{{< alert title="Note" type="info" >}}
When a VM migrates, a new database is created on the destination Host, temporarily reducing forecast accuracy until sufficient data accumulates.{{< /alert >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ The monitoring data collected by OpenNebula probes is processed by the monitorin

### Host Time-Series Databases

Each physical Host in an OpenNebula deployment maintains its own dedicated monitoring databases. These databases are updated through the regular Host and VM monitoring cycles:
Each physical Host in an OpenNebula deployment maintains its own dedicated monitoring databases. These databases are updated through the regular Host and VM monitoring cycles. They are stored next to the remote scripts directory, in `<SCRIPTS_REMOTE_DIR>_db` (`/var/tmp/one_db` for the default configuration):

- **Location**: `/var/tmp/one_db/host.db`
- **Purpose**: Stores historical monitoring metrics for the Host
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ This tag can be used at a later time for scheduling purposes, [see more details

### Updating Host Files

When OpenNebula monitors a Host it copies driver files to `/var/tmp/one`. When these files are updated they need to be copied again to the Hosts with the `sync` command. To keep track of the probes version there’s a file in `/var/lib/one/remotes/VERSION`. By default this holds the OpenNebula version (e.g., ‘7.0.0’). This version can be seen in the Hosts by using `onehost show <host>`:
When OpenNebula monitors a Host it copies driver files to the directory set by `SCRIPTS_REMOTE_DIR` in oned.conf (`/var/tmp/one` by default). When these files are updated they need to be copied again to the Hosts with the `sync` command. To keep track of the probes version there’s a file in `/var/lib/one/remotes/VERSION`. By default this holds the OpenNebula version (e.g., ‘7.0.0’). This version can be seen in the Hosts by using `onehost show <host>`:

```shell
onehost show 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Hook Execution Manager configuration is set in `/etc/one/onehem-server.conf`:
|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| debug_level | Set the log debug level shown in `/var/log/one/onehem.log` |
| hook_base_path | Base location to look for hook scripts when commands use a relative path (default value `/var/lib/one/remotes/hooks`) |
| remote_hook_base_path | Base location to look for hook scripts when commands use a relative path and `REMOTE="yes"` is specified (default value `'/var/tmp/one/hooks'`) |
| remote_hook_base_path | Base location to look for hook scripts when commands use a relative path and `REMOTE="yes"` is specified. If not set, it defaults to the `hooks` directory inside `SCRIPTS_REMOTE_DIR` (oned.conf), i.e. `/var/tmp/one/hooks` for the default configuration |
| subscriber_endpoint | To subscribe for OpenNebula events, must match those in `HM_MAD` section of `oned.conf`. |
| replier_endpoint | To send hook execution results (reply to events) to oned, it must match those in `HM_MAD` section of `oned.conf`. |
| concurrency | Number of hooks executed simultaneously. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ For a quick view of any changes in configuration file options in maintenance rel
- `MONITORING_INTERVAL_DATASTORE`: Time in seconds between each Datastore monitoring cycle.
- `MONITORING_INTERVAL_MARKET`: Time in seconds between each Marketplace monitoring cycle.
- `DS_MONITOR_VM_DISK`: Number of `MONITORING_INTERVAL_DATASTORE` intervals to monitor VM disks. `0` to disable. Only applies to `fs` and `fs_lvm` datastores.
- `SCRIPTS_REMOTE_DIR`: Remote path to store the monitoring and VM management script.
- `SCRIPTS_REMOTE_DIR`: Path on the Hosts where the monitoring and VM management scripts (the *remotes*) are copied (default `/var/tmp/one`). The Hosts also store the monitoring metrics database next to it, in `<SCRIPTS_REMOTE_DIR>_db`. When setting a custom location, note:
- If the parent directory is not writable by `oneadmin`, pre-create both `<dir>` and `<dir>_db` on every Host, owned by `oneadmin`.
- Restart the `opennebula-hem` service together with `oned`; remote Hooks are executed from `<SCRIPTS_REMOTE_DIR>/hooks`.
- Hooks defined with an absolute path in `COMMAND` are executed as-is and are not relocated.
- `PORT`: Port where `oned` will listen for XML-RPC calls.
- `LISTEN_ADDRESS`: Host IP to listen for XML-RPC calls (default: all IPs).
- `HOSTNAME`: Hostname to use instead of autodetect it. This hostname is used to connect to Front-end during driver operations.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ The internal implementation of Transparent Proxies involves several networking p
* `nft` (`nftables`) to store the service mapping and manage ARP resolutions
* `ip netns` / `nsenter` family of commands to manage and use network namespaces
* `ip link` / `ip address` / `ip route` commands
* `/var/tmp/one/vnm/tproxy` the actual implementation of the “String-Phone” daemon mesh
* `/usr/lib/one/sbin/tproxy` the actual implementation of the “String-Phone” daemon mesh

Below are several example command invocations, to gain familiarity with the environment.

Expand Down Expand Up @@ -165,7 +165,7 @@ default dev br0a scope link
**Listing PIDs of running proxy processes:**

```default
$ /var/tmp/one/vnm/tproxy status
$ /usr/lib/one/sbin/tproxy status
one_tproxy: 16803
one_tproxy_br0: 16809
```
Expand All @@ -182,8 +182,8 @@ There is no PID file management implemented. For simplicity, all proxy processes
**Restarting/reloading config of proxy daemons:**

```default
$ /var/tmp/one/vnm/tproxy restart
$ /var/tmp/one/vnm/tproxy reload
$ /usr/lib/one/sbin/tproxy restart
$ /usr/lib/one/sbin/tproxy reload
```

{{< alert title="Important" type="info" >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,12 @@ Note that the `<hypervisor>` tag should be replaced by the name of the correspon
{{< alert title="Important" type="info" >}}
For KVM hypervisor it’s also necessary to restart the libvirt service{{< /alert >}}

{{< alert title="Important" type="warning" >}}
Do not sync the drivers (`onehost sync`) before the `opennebula-node` packages are upgraded on the Host: the updated drivers execute helper commands from `/usr/lib/one/sbin`, which are installed (and allowed in sudoers) by the new node packages.{{< /alert >}}

{{< alert title="Note" type="info" >}}
If you use a custom `SCRIPTS_REMOTE_DIR` (oned.conf), pre-create its new metrics DB sibling directory `<SCRIPTS_REMOTE_DIR>_db` on every Host, owned by `oneadmin`. See the [oned configuration reference]({{% relref "../../../product/operation_references/opennebula_services_configuration/oned#oned-conf" %}}).{{< /alert >}}

Then update the virtualization, storage, and networking drivers. As the `oneadmin` user, execute:

```bash
Expand Down
Loading