LLview Installation Instructions
Dependencies
The dependencies of LLview Remote are:
- Crontab
- Perl (>5)
- Modules (install with
cpanm <ModuleName>
)- Data::Dumper
- Getopt::Long
- Time::Local
- Time::HiRes
- FindBin
- Parallel::ForkManager
- File::Monitor
- File::Spec
- warnings::unused
- Exporter
- Storable
- IO::File
- POSIX
- YAML::XS
- DBI
- DBD::SQLite
- Config::IniFiles
- JSON
- Modules (install with
- Python (>3.9) (For the Slurm plugin)
- Modules (install with
pip install <ModuleName>
)- pyyaml
- Modules (install with
Configuration
.llview_remote_rc
The main configuration file of LLview Remote is .llview_remote_rc
, that should be put on the home folder ~
.
This file export environment variables that will be used by the different scripts of LLview.
The existing variables are:
$LLVIEW_SYSTEMNAME
: Defines the system name$LLVIEW_HOME
: LLview's home folder, where the repo was cloned$LLVIEW_DATA
: Folder in which the data will be stored$LLVIEW_CONF
: Folder with the configuration files (example configuration files is given in$LLVIEW_HOME/configs
)$LLVIEW_SHARED
: A shared folder between LLview Remote and LLview Server, where the generated files from Remote will be written and read by the Server (therefore, it must be the same set up in.llview_server_rc
in the Server part)$LLVIEW_SHUTDOWN
: File to be used to stop LLview's workflow (the cronjob runs, but immediately stops)$LLVIEW_LOG_DAYS
: Number of days to keep the logs
Extra definitions can be also exported or modules loaded in this file (for example, to satisfy the dependencies).
Installation
- Make sure the dependencies are satisfied.
- Get LLview:
This is where the
$LLVIEW_HOME
should be defined below, and the instructions use this notation. - Configure:
- Copy the config folder
$LLVIEW_HOME/configs
outside the repo. (This action is optional, but it is recommended, to work with a configuration folder that is not attached to the Repository.) This folder contains all the configuration files which defines the specific configuration of what is collected and what will be presented to the users. Note: The folder structure should be kept, as some scripts use$LLVIEW_CONF/remote/(...)
. - Edit
.llview_remote_rc
(an example is given in$LLVIEW_HOME/configs/remote
) and put it in the home folder~/
, as this is the basic configuration file and it is the only way to guarantee it is a known folder at this point. The possible options are listed here. - Edit the
executehostpattern
value on the remote workflow given in$LLVIEW_CONF/remote/workflows/LML_da_slurm.conf
. This workflow consists basically in running the Slurm plugin to collect the data from the system. As this usually runs by cronjobs in a login node, to avoid it running in all the nodes (which would generate unnecessary work and data races), the variableexecutehostpattern
should be set to the hostname of the computer where it will run. - [Optional] Check configuration of Slurm plugin on
$LLVIEW_CONF/plugins/slurm.yml
($LLVIEW_CONF
is the configuration folder defined in.llview_remote_rc
). The default configuration should work out-of-the-box.
- Copy the config folder
- Add cronjob to crontab: Check if the cronjob is added correctly:
The Remote part of LLview runs the collection of data every minute. This means that there's no daemon that keeps running on the system.
This automatic workflow can then be stopped either by removing/commenting out the cronjob (editing with crontab -e
), or touching the $LLVIEW_SHUTDOWN
file defined in .llview_remote_rc
. In the latter case, the scripts still run, but they stop immediately.