FUSION...Y-AGENT(1p)

πŸ“¦
version 2.6 Β· 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’… FUSIONINVENTORY-AGENT β€” the 1p page, User Contributed Perl Documentation section πŸŽ€

okay so bestie, you're looking at FUSIONINVENTORY-AGENT(1p) β€” yes it lives in the User Contributed Perl Documentation section, iconic, no notes. Let's get into it πŸ’–


✨ NAME ✨

fusioninventory-agent β€” the FusionInventory agent, and it's out here doing the absolute most for Linux/UNIX and Windows and MacOSX 🌈 literally all the platforms, she contains multitudes πŸ’œ


πŸ¦‹ SYNOPSIS πŸ¦‹

fusioninventory-agent [options] [--server server|--local path]

Target definition options

  -s --server=URI                send tasks result to a server
  -l --local=PATH                write tasks results locally

Target scheduling options

  --delaytime=LIMIT              maximum delay before first target,
                                   in seconds (3600). It also defines the
                                   maximum delay on network error. Delay on
                                   network error starts from 60, is doubled at
                                   each new failed attempt until reaching max
  --lazy                         do not contact the target before
                                 next scheduled time
  --set-forcerun                 set persistent state 'forcerun' option so a run
                                 will be started immediately during a start or init

Task selection options

  --list-tasks                   list available tasks and exit
  --no-task=TASK[,TASK]...       do not run given task
  --tasks=TASK1[,TASK]...[,...]  run given tasks in given order

Inventory task specific options

  --no-category=CATEGORY         do not list given category items
  --scan-homedirs                scan user home directories (false)
  --scan-profiles                scan user profiles (false)
  --html                         save the inventory as HTML (false)
  -f --force                     always send data to server (false)
  --backend-collect-timeout=TIME timeout for inventory modules
                                   execution (30)
  --additional-content=FILE      additional inventory content file

Package deployment task specific options

  --no-p2p                       do not use peer to peer to download
                                   files (false)

Network options

  -P --proxy=PROXY               proxy address
  -u --user=USER                 user name for server authentication
  -p --password=PASSWORD         password for server authentication
  --ca-cert-dir=DIRECTORY        CA certificates directory
  --ca-cert-file=FILE            CA certificates file
  --no-ssl-check                 do not check server SSL certificate
                                   (false)
  -C --no-compression            do not compress communication with server
                                   (false)
  --timeout=TIME                 connection timeout, in seconds (180)

Web interface options

  --no-httpd                     disable embedded web server (false)
  --httpd-ip=IP                  network interface to listen to (all)
  --httpd-port=PORT              network port to listen to (62354)
  --httpd-trust=IP               trust requests without authentication
                                   token (false)
  --listen                       enable listener target if no local or
                                 server target is defined

Logging options

  --logger=BACKEND               logger backend (stderr)
  --logfile=FILE                 log file
  --logfile-maxsize=SIZE         maximum size of the log file in MB (0)
  --logfacility=FACILITY         syslog facility (LOG_USER)
  --color                        use color in the console (false)

Configuration options

  --config=BACKEND                   configuration backend
  --conf-file=FILE                   configuration file
  --conf-reload-interval=<SECONDS>   number of seconds between two
                                       configuration reloadings

Execution mode options

  -w --wait=LIMIT                maximum delay before execution,
                                   in seconds
  -d --daemon                    run the agent as a daemon (false)
  --no-fork                      don't fork in background (false)
  -t --tag=TAG                   add given tag to inventory results
  --debug                        debug mode (false)
  --setup                        print the agent setup directories
                                   and exit
  --version                      print the version and exit
  --no-win32-ole-workaround      [win32 only] disable win32 work-around
                                   used to better handle Win32::OLE apis.
                                   !!! Use it at your own risk as you may
                                   experiment perl crash under win32 !!!

🌸 DESCRIPTION 🌸

So the fusioninventory-agent agent? It's a generic multi-platform agent, and she is versatile bestie. Like, she can perform a large array of management tasks β€” local inventory, software deployment, network discovery, the whole lineup πŸ’…

You can run her standalone (solo main character energy, no server needed, periodt) or you can pair her up with a compatible server β€” think OCS, GLPI, OTRS β€” where that server acts as your centralized control point πŸ‘‘

fr fr, that's the vibe. The options are where it gets juicy, and there's a LOT of them, so stay tuned 🫢


βš™οΈ OPTIONS βš™οΈ

okay bestie, most of these come in a short form and a long form, and they're literally just vibes of each other. watch:

% fusioninventory-agent -s localhost
% fusioninventory-agent --server localhost

same thing. twins. πŸ’…


🎯 Target definition options

  • -s, --server=URI β€” sends the results of your task execution to the given server, periodt.

if the URI doesn't start with http:// or https://, the agent is like "ok that's a hostname bestie" and rewrites it as:

% --server=http://example/plugins/fusioninventory

and generally the OCS Inventory server URL looks like this:

http://example/ocsinventory

while FusionInventory for GLPI is giving this one:

http://example/glpi/plugins/fusioninventory/front/plugin_fusioninventory.communication.php

you can drop multiple values in there, separated by commas. ✨

  • -l, --local=PATH β€” writes the results of task execution locally instead. exact behaviour depends on the path you hand it:
    • if PATH is a directory, a file will be created therein πŸ“
    • if PATH is a file, it will be used directly
    • if PATH is -, STDOUT will be used

multiple values can be specified, using comma as a separator.


⏰ Target scheduling options

  • --delaytime=LIMIT β€” sets an initial delay before the first target, and the value is computed randomly between LIMIT / 2 and LIMIT seconds. ngl this setting is ignored for server targets after the initial contact, in favor of the server-specified parameter (PROLOG_FREQ).
  • --lazy β€” do not contact the target before the next scheduled time. lowkey the chillest option here.

this option is only available when the agent is not run as a server. 🫢


πŸ“‹ Task selection options

  • --list-tasks β€” lists all available tasks, plus the tasks planned for execution, and exits. iconic for peekers.
  • --no-task=TASK β€” do not run the given task.

multiple values can be specified, using comma as a separator. check out option --list-tasks for the list of available tasks.

  • --tasks=TASK β€” run the given tasks in the given order.

multiple tasks can be specified, using comma as a separator. a task can be specified several times. if '...' is given as the last element, all other available tasks are executed.

see option --list-tasks for the list of available tasks.

examples, bestie:

  • --tasks=inventory,deploy,inventory

first task executed is 'inventory', second task is 'deploy', third and last task is 'inventory'.

  • --tasks=inventory,deploy,...

first executed task is 'inventory', second task is 'deploy', and then all other available tasks are executed.


πŸ” Inventory task specific options

  • --no-category=CATEGORY β€” do not list the given category items in the inventory.

multiple values can be specified, using comma as a separator. the available categories are:

  • battery
  • controller
  • cpu
  • drive
  • environment
  • input
  • license
  • local_group
  • local_user
  • lvm
  • memory
  • modem
  • monitor
  • network
  • printer
  • process
  • slot
  • software
  • sound
  • storage
  • usb
  • user
  • video
  • virtualmachine
  • --scan-homedirs β€” allows the agent to go snooping in home directories for virtual machines. πŸ•΅οΈ
  • --scan-profiles β€” allows the agent to scan user profiles for software.
  • --html β€” saves the inventory as HTML. ✨

this is only used for local inventories.

  • -f, --force β€” sends an inventory to the server, even if this last one doesn't ask for it. yes she's that girl, she doesn't wait to be asked. πŸ’…
  • --backend-collect-timeout=TIME β€” timeout for inventory modules execution.
  • --additional-content=FILE β€” additional inventory content file.

this file should be an XML file, using same syntax as the one produced by the agent.


πŸ“¦ Package deployment task specific options

  • --no-p2p β€” do not use peer to peer to download files.

πŸ–₯️ Server target specific options

  • -P, --proxy=PROXY β€” use PROXY as HTTP proxy.

by default, the agent uses the HTTP_PROXY environment variable.

  • -u USER, --user=USER β€” use USER for server authentication.
  • -p, --password=PASSWORD β€” use PASSWORD for server authentication. πŸ™ˆ keep it secret, keep it safe.
  • --ca-cert-dir=DIRECTORY β€” CA certificates directory.
  • --ca-cert-file=FILE β€” CA certificates file.
  • --no-ssl-check β€” do not check server SSL certificate.
bestie… skipping the SSL check is giving reckless. fine for testing, not for main character security. 😭
  • --timeout=TIME β€” timeout for server connections.

🌐 Web interface options

  • --no-httpd β€” disables the embedded web server.
  • --httpd-ip=IP β€” the network interface to use for the embedded web server (all).
  • --httpd-port=PORT β€” the network port to use for the embedded web server (62354).
  • --httpd-trust=IP β€” trust requests from the given addresses without an authentication token (false).

for example: "192.168.0.0/24", "192.168.168.0.5" or an IP range like "20.34.101.207 - 201.3.9.99". hostnames are also accepted. see Net::IP documentation to get more examples.

multiple values can be specified, using comma as a separator.

  • --listen β€” this option should be used if no local or server target is defined and the agent still needs to answer http requests. --no-httpd should not be set and --httpd-trust should be set to enable trusted remote clients.

πŸ“ Logging options

  • --logger=BACKEND β€” the logger backend to use.

multiple values can be specified, using comma as a separator. the available backends are:

  • stderr: log messages directly in the console.
  • file: log messages in a file.
  • syslog: log messages through the local syslog server.

multiple values can be specified, using comma as a separator.

  • --logfile=FILE β€” log messages in FILE (implies File logger backend).
  • --logfile-maxsize=SIZE β€” max logfile size in MB, default is unlimited. when the max size is reached, the file is truncated. ngl this is only useful if there's no log rotation mechanism on the system.
  • --logfacility=FACILITY β€” syslog facility to use (default LOG_USER).
  • --color β€” displays color on the terminal, when the Stderr backend is used. 🌈

this option is ignored on Windows.


πŸ› οΈ Configuration options

  • --config=BACKEND β€” the configuration backend to use.

the available backends are:

  • file: read configuration from a file (default anywhere else as Windows).
  • registry: read configuration from the registry (default on Windows).
  • none: don't read any configuration.
  • --conf-file=FILE β€” use FILE as configuration file (implies file configuration backend).
  • --conf-reload-interval=SECONDS β€” SECONDS is the number of seconds between two configuration reloadings. default value is 0, which means that configuration is never reloaded. minimum value is 60. if the given value is less than this minimum, it is set to this minimum. if the given value is less than 0, it is set to 0.

πŸƒ Execution mode options

  • -w LIMIT, --wait=LIMIT β€” wait a random delay whose value is computed randomly between 0 and LIMIT seconds, before execution. this is useful when execution is triggered from some kind of system scheduling on multiple clients, to spread the server load. very thoughtful, very considerate. 🫢
  • -d, --daemon β€” run the agent as a daemon.
  • --no-fork β€” don't fork in background.

this is only useful when running as a daemon.

  • --pidfile[=FILE] β€” store pid in FILE or in the default PID file.

this is only useful when running as a daemon and still not managed with a system service manager like systemd.

  • --tag=TAG β€” add the given tag to every inventory result.
  • --debug β€” turn the debug mode on. you can use the parameter up to 3 times in a row to increase the verbosity (e.g: --debug --debug).

level 3 turns on the debug mode of some external libraries like Net::SSLeay. these messages will only be printed on STDERR. πŸ›

  • --setup β€” print the agent setup directories and exit.
  • --version β€” print the version and exit.

and that's a wrap bestie!! πŸŽ€ this whole page is from perl v5.38.2, dated 2024-05-15, and it's the FusionInventory agent manual you just absolutely ate. go forth and inventory literally everything. no cap. πŸ‘‘πŸ’–

πŸ“¦ where this page comes from