librenms/lang/en/commands.php
Tony Murray 1cceafb887
Improve Snmpsim usage to ease testing (#15471)
* Snmpsim use python venv
Patch to enable listening while minimizing output
Update lnms dev:simulate, tests, and ./scripts/save-test-data.php
removed old option to start snmpsim from older scripts, use lnms dev:simulate

* Apply fixes from StyleCI

* various fixes

* Remove patch official package is updated

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2024-07-17 16:05:07 -05:00

269 lines
14 KiB
PHP

<?php
return [
'config:get' => [
'description' => 'Get configuration value',
'arguments' => [
'setting' => 'setting to get value of in dot notation (example: snmp.community.0)',
],
'options' => [
'dump' => 'Output the entire config as json',
],
],
'config:set' => [
'description' => 'Set configuration value (or unset)',
'arguments' => [
'setting' => 'setting to set in dot notation (example: snmp.community.0) To append to an array suffix with .+',
'value' => 'value to set, unset setting if this is omitted',
],
'options' => [
'ignore-checks' => 'Ignore all safety checks',
],
'confirm' => 'Reset :setting to the default?',
'forget_from' => 'Forget :path from :parent?',
'errors' => [
'append' => 'Cannot append to non-array setting',
'failed' => 'Failed to set :setting',
'invalid' => 'This is not a valid setting. Please check your input',
'invalid_os' => 'Specified OS (:os) does not exist',
'nodb' => 'Database is not connected',
'no-validation' => 'Cannot set :setting, it is missing validation definition.',
],
],
'db:seed' => [
'existing_config' => 'Database contains existing settings. Continue?',
],
'dev:check' => [
'description' => 'LibreNMS code checks. Running with no options runs all checks',
'arguments' => [
'check' => 'Run the specified check :checks',
],
'options' => [
'commands' => 'Print commands that would be run only, no checks',
'db' => 'Run unit tests that require a database connection',
'fail-fast' => 'Stop checks when any failure is encountered',
'full' => 'Run full checks ignoring changed file filtering',
'module' => 'Specific Module to run tests on. Implies unit, --db, --snmpsim',
'os' => 'Specific OS to run tests on. May be a regex or comma seperated list. Implies unit, --db, --snmpsim',
'os-modules-only' => 'Skip os detection test when specifying a specific OS. Speeds up test time when checking non-detection changes.',
'quiet' => 'Hide output unless there is an error',
'snmpsim' => 'Use snmpsim for unit tests',
],
],
'dev:simulate' => [
'description' => 'Simulate devices using test data',
'arguments' => [
'file' => 'The file name (only base name) of the snmprec file to update or add to LibreNMS. If file not specified, no device will be added or updated.',
],
'options' => [
'multiple' => 'Use community name for hostname instead of snmpsim',
'remove' => 'Remove the device after stopping',
],
'added' => 'Device :hostname (:id) added',
'exit' => 'Ctrl-C to stop',
'removed' => 'Device :id removed',
'updated' => 'Device :hostname (:id) updated',
'setup' => 'Setting up snmpsim venv in :dir',
],
'device:add' => [
'description' => 'Add a new device',
'arguments' => [
'device spec' => 'Hostname or IP to add',
],
'options' => [
'v1' => 'Use SNMP v1',
'v2c' => 'Use SNMP v2c',
'v3' => 'Use SNMP v3',
'display-name' => "A string to display as the name of this device, defaults to hostname.\nMay be a simple template using replacements: {{ \$hostname }}, {{ \$sysName }}, {{ \$sysName_fallback }}, {{ \$ip }}",
'force' => 'Just add the device, do not make any safety checks',
'group' => 'Poller group (for distributed polling)',
'ping-fallback' => 'Add the device as ping only if it does not respond to SNMP',
'port-association-mode' => 'Sets how ports are mapped. ifName is suggested for Linux/Unix',
'community' => 'SNMP v1 or v2 community',
'transport' => 'Transport to connect to the device',
'port' => 'SNMP transport port',
'security-name' => 'SNMPv3 security username',
'auth-password' => 'SNMPv3 authentication password',
'auth-protocol' => 'SNMPv3 authentication protocol',
'privacy-protocol' => 'SNMPv3 privacy protocol',
'privacy-password' => 'SNMPv3 privacy password',
'ping-only' => 'Add a ping only device',
'os' => 'Ping only: specify OS',
'hardware' => 'Ping only: specify hardware',
'sysName' => 'Ping only: specify sysName',
],
'validation-errors' => [
'port.between' => 'Port should be 1-65535',
'poller-group.in' => 'The given poller-group does not exist',
],
'messages' => [
'save_failed' => 'Failed to save device :hostname',
'try_force' => 'You may try with the --force option to skip safety checks',
'added' => 'Added device :hostname (:device_id)',
],
],
'device:ping' => [
'description' => 'Ping device and record data for response',
'arguments' => [
'device spec' => 'Device to ping one of: <Device ID>, <Hostname/IP>, all',
],
],
'device:poll' => [
'description' => 'Poll data from device(s) as defined by discovery',
'arguments' => [
'device spec' => 'Device spec to poll: device_id, hostname, wildcard (*), odd, even, all',
],
'options' => [
'modules' => 'Specify single module to be run. Comma separate modules, submodules may be added with /',
'no-data' => 'Do not update datastores (RRD, InfluxDB, etc)',
],
'errors' => [
'db_connect' => 'Failed to connect to database. Verify database service is running and connection settings.',
'db_auth' => 'Failed to connect to database. Verify credentials: :error',
'no_devices' => 'No devices found matching your given device specification.',
'none_up' => 'Device was down, unable to poll.|All devices were down, unable to poll.',
'none_polled' => 'No devices were polled.',
],
'polled' => 'Polled :count devices in :time',
],
'key:rotate' => [
'description' => 'Rotate APP_KEY, this decrypts all encrypted data with the given old key and stores it with the new key in APP_KEY.',
'arguments' => [
'old_key' => 'The old APP_KEY which is valid for encrypted data',
],
'options' => [
'generate-new-key' => 'If you do not have the new key set in .env, use the APP_KEY from .env to decrypt data and generate a new key and set it in .env',
'forgot-key' => 'If you do not have the old key, you must delete all encrypted data to be able to continue to use certain LibreNMS features',
],
'destroy' => 'Destroy all encrypted configuration data?',
'destroy_confirm' => 'Only destroy all encrypted data if you cannot find the old APP_KEY!',
'cleared-cache' => 'Config was cached, cleared cache to make sure APP_KEY is correct. Please re-run lnms key:rotate',
'backup_keys' => 'Document BOTH keys! In case something goes wrong set the new key in .env and use the old key as an argument to this command',
'backup_key' => 'Document this key! This key is required to access encrypted data',
'backups' => 'This command could cause irreversible loss of data and will invalidate all browser sessions. Make sure you have backups.',
'confirm' => 'I have backups and want to continue',
'decrypt-failed' => 'Failed to decrypt :item, skipping',
'failed' => 'Failed to decrypt item(s). Set new key as APP_KEY and run this again with the old key as an argument.',
'current_key' => 'Current APP_KEY: :key',
'new_key' => 'New APP_KEY: :key',
'old_key' => 'Old APP_KEY: :key',
'save_key' => 'Save new key to .env?',
'success' => 'Successfully rotated keys!',
'validation-errors' => [
'not_in' => ':attribute must not match current APP_KEY',
'required' => 'Either old key or --generate-new-key is required.',
],
],
'lnms' => [
'validation-errors' => [
'optionValue' => 'Selected :option is invalid. Should be one of: :values',
],
],
'maintenance:fetch-ouis' => [
'description' => 'Fetch MAC OUIs and cache them to display vendor names for MAC addresses',
'options' => [
'force' => 'Ignore any settings or locks that prevent the command from being run',
'wait' => 'Wait a random amount of time, used by the scedueler to prevent server strain',
],
'disabled' => 'Mac OUI integration disabled (:setting)',
'enable_question' => 'Enable Mac OUI integration and scheduled fetching?',
'recently_fetched' => 'MAC OUI Database fetched recently, skipping update.',
'waiting' => 'Waiting :minutes minute before attempting MAC OUI update|Waiting :minutes minutes before attempting MAC OUI update',
'starting' => 'Storing Mac OUI in the database',
'downloading' => 'Downloading',
'processing' => 'Processing CSV',
'saving' => 'Saving results',
'success' => 'Successfully updated OUI/Vendor mappings. :count modified OUI|Successfully updated. :count modified OUIs',
'error' => 'Error processing Mac OUI:',
'vendor_update' => 'Adding OUI :oui for :vendor',
],
'plugin:disable' => [
'description' => 'Disable all plugins with the given name',
'arguments' => [
'plugin' => 'The name of the plugin to disable or "all" to disable all plugins',
],
'already_disabled' => 'Plugin already disabled',
'disabled' => ':count plugin disabled|:count plugins disabled',
'failed' => 'Failed to disable plugin(s)',
],
'plugin:enable' => [
'description' => 'Enable the newest plugin with the given name',
'arguments' => [
'plugin' => 'The name of the plugin to enable or "all" to disable all plugins',
],
'already_enabled' => 'Plugin already enabled',
'enabled' => ':count plugin enabled|:count plugins enabled',
'failed' => 'Failed to enable plugin(s)',
],
'report:devices' => [
'description' => 'Print out data from devices',
'columns' => 'Database columns:',
'synthetic' => 'Additional fields:',
'counts' => 'Relationship counts:',
'arguments' => [
'device spec' => 'Device spec to poll: device_id, hostname, wildcard (*), odd, even, all',
],
'options' => [
'list-fields' => 'Print out a list of valid fields',
'fields' => 'A comma seperated list of fields to display. Valid options: device column names from the database, relationship counts (ports_count), and/or displayName',
'output' => 'Output format to display the data :types',
],
],
'smokeping:generate' => [
'args-nonsense' => 'Use one of --probes and --targets',
'config-insufficient' => 'In order to generate a smokeping configuration, you must have set "smokeping.probes", "fping", and "fping6" set in your configuration',
'dns-fail' => 'was not resolvable and was omitted from the configuration',
'description' => 'Generate a configuration suitable for use with smokeping',
'header-first' => 'This file was automatically generated by "lnms smokeping:generate',
'header-second' => 'Local changes may be overwritten without notice or backups being taken',
'header-third' => 'For more information see https://docs.librenms.org/Extensions/Smokeping/"',
'no-devices' => 'No eligible devices found - devices must not be disabled.',
'no-probes' => 'At least one probe is required.',
'options' => [
'probes' => 'Generate probe list - used for splitting the smokeping configuration into multiple files. Conflicts with "--targets"',
'targets' => 'Generate the target list - used for splitting the smokeping configuration into multiple files. Conflicts with "--probes"',
'no-header' => 'Don\'t add the boilerplate comment to the start of the generated file',
'no-dns' => 'Skip DNS lookups',
'single-process' => 'Only use a single process for smokeping',
'compat' => '[deprecated] Mimic the behaviour of gen_smokeping.php',
],
],
'snmp:fetch' => [
'description' => 'Run snmp query against a device',
'arguments' => [
'device spec' => 'Device spec to poll: device_id, hostname, wildcard (*), odd, even, all',
'oid(s)' => 'One or more SNMP OID to fetch. Should be either MIB::oid or a numeric oid',
],
'failed' => 'SNMP command failed!',
'numeric' => 'Numeric',
'oid' => 'OID',
'options' => [
'output' => 'Specify the output format :formats',
'numeric' => 'Numeric OIDs',
'depth' => 'Depth to group the snmp table at. Usually the same number as the items in the index of the table',
],
'not_found' => 'Device not found',
'textual' => 'Textual',
'value' => 'Value',
],
'translation:generate' => [
'description' => 'Generate updated json language files for use in the web frontend',
],
'user:add' => [
'description' => 'Add a local user, you can only log in with this user if auth is set to mysql',
'arguments' => [
'username' => 'The username the user will log in with',
],
'options' => [
'descr' => 'User description',
'email' => 'Email to use for the user',
'password' => 'Password for the user, if not given, you will be prompted',
'full-name' => 'Full name for the user',
'role' => 'Set the user to the desired role :roles',
],
'password-request' => "Please enter the user's password",
'success' => 'Successfully added user: :username',
'wrong-auth' => 'Warning! You will not be able to log in with this user because you are not using MySQL auth',
],
];