diff --git a/docs/administration/auto-clean-feature.md b/docs/administration/auto-clean-feature.md index 781a8c67..bb4989b0 100644 --- a/docs/administration/auto-clean-feature.md +++ b/docs/administration/auto-clean-feature.md @@ -56,7 +56,7 @@ You can use the basic filters (+ button) to add or remove filters for the search ![](/assets/images/18.06.00_auto-clean-add-device-search-2-filters.png) -You can also use the [Advanced Search](getstarted/advanced-search-feature.md) feature (binocular button) to build a search criteria. +You can also use the [Advanced Search](/getstarted/advanced-search-feature.mdx) feature (binocular button) to build a search criteria. ![](/assets/images/18.06.00_auto-clean-add-device-search-3-advanced-search.png) diff --git a/docs/apps/application-components/application-component-templates.md b/docs/apps/application-components/application-component-templates.md index 62820bfe..c0445170 100644 --- a/docs/apps/application-components/application-component-templates.md +++ b/docs/apps/application-components/application-component-templates.md @@ -17,7 +17,7 @@ Device42 displays the Application Component Templates list page.  On this page, ![](/assets/images/Screen-Shot-2022-08-15-at-8.10.58-AM.png) -**Note**: The Application Component Templates list page also includes an _Advanced Search_ option you can use to construct more specific searches. See the [Advanced Search Feature](getstarted/advanced-search-feature.md) documentation page for instructions. +**Note**: The Application Component Templates list page also includes an _Advanced Search_ option you can use to construct more specific searches. See the [Advanced Search Feature](/getstarted/advanced-search-feature.mdx) documentation page for instructions. ![](/assets/images/WEB-757_Pic4.png) diff --git a/docs/auto-discovery/cloud-auto-discovery/aws-autodiscovery.mdx b/docs/auto-discovery/cloud-auto-discovery/aws-autodiscovery.mdx index e2dd9545..d2185167 100644 --- a/docs/auto-discovery/cloud-auto-discovery/aws-autodiscovery.mdx +++ b/docs/auto-discovery/cloud-auto-discovery/aws-autodiscovery.mdx @@ -62,7 +62,7 @@ For more information, see the article _Best Practices for Managing AWS Access Ke /> - Select the _Remote Collector_ for the job. -- Add your Amazon _Access Key ID_ and your _Secret Key_ for the account(s) to be discovered. (Do this by clicking the magnifying glass, and then clicking _Add Password_ in the upper right corner. Enter your Access Key ID or Secret Key in the field labeled _Password_.  Device42 will store the keys encrypted_._) +- Add your Amazon _Access Key ID_ and your _Secret Key_ for the account(s) to be discovered. (Do this by clicking the magnifying glass, and then clicking _Add Password_ in the upper right corner. Enter your Access Key ID or Secret Key in the field labeled _Password_.  Device42 will store the keys encrypted.) - Select _Discover Main Account_ to have the job discover the main AWS account in addition to any AWS Roles accounts you select. - Select the _Available AWS Roles_ whose account(s) you want to discover and use the arrow to add them to the _Chosen AWS Roles_ list. @@ -262,7 +262,7 @@ Device42 includes an editor you can use to define or edit the AWS Roles displaye /> -- Device42 displays the AWS Roles list page. Use the _AWS Role_ drop-down to select a role to display or click _Advanced_ to construct more specific searches. See the [Advanced Search Feature](getstarted/advanced-search-feature.md) documentation page for instructions. +- Device42 displays the AWS Roles list page. Use the _AWS Role_ drop-down to select a role to display or click _Advanced_ to construct more specific searches. See the [Advanced Search Feature](/getstarted/advanced-search-feature.mdx) documentation page for instructions. - - - - - - - - - - - +Provided you have successfully configured the discovery account and the data is available, Device42 will gather the following information: + +- Device host information +- Parts +- Operating System +- Service processes +- Software installed +- Installed common applications and configuration files Within the **Parts** section of device details, the CPU, RAM, and storage entries for the device will be displayed. You may also see additional information such as model number, slot, and location. -## Setting up Linux/Unix Autodiscovery +## Set Up Linux/Unix Autodiscovery + +Before configuring an SSH-based discovery job, please be sure the SSH port (standard TCP port 22 or a custom port) is open between the Device42 Main Appliance or Remote Collector and the targeted Unix or Linux servers. + +Select **Discovery > Hypervisors / \*nix / Windows** from the main menu and click the **+ Add Hypervisors/\*nix/win for Autodiscovery** button to add a discovery job to connect and gather host and VM details. + + -Before configuring an ssh-based discovery job, please be sure you have your SSH port (standard TCP port 22, or a custom port) open between your Device42 Main Appliance or Remote Collector and the targeted Unix/Linux servers. Select _Discovery > Hypervisors / *nix / Windows_ from the main menu to add a Linux/UNIX discovery job to connect and gather host and VM details. On the Add Hypervisors/*nix/win for Autodiscovery page, choose *nix as the platform, and enter your discovery target (hostnames, IPs or IP range, or CIDR), credentials, and job options.  +Choose **\*nix** as the platform, and enter your discovery target (hostnames, IPs or IP range, or CIDR), credentials, and job options.  -![](/assets/images/WEB-728_linux-unix-ad-menu.png) + -### Discovery Job Options Definitions +### Discovery Job Option Definitions -**Job Name**: User-defined name for the job. -**Remote Collector**: Select which remote collector you’d like to run the discovery job from – _optional_. -**Job Debug Level**: Debug On for extra debug info, useful for a support ticket. -**Discovery Target(s)**: Specify FQDN or IP of discovery target(s). If using FQDN, Device42 must be configured to resolve the DNS. -**Port**: This will be 22 by default. Only change this if you have a different ssh port configured. -**Use telnet if SSH port is closed**: Fall back to telnet (port 23) if SSH port is found to be closed. -**Collect database server information**: Select this option to discover Oracle database servers. -**Database Username/Password(s)**: Username/Password with database server permissions. -**ADM Sampling Interval**: Off or sampling interval in minutes or hours. -**Enable Resource Utilization Tracking for Device(s)**: Optionally enable the collection of resource utilization metrics from discovered devices. -**Resource Utilization Sampling Interval**: Set the interval for RU data collection (only in effect if RU Tracking is enabled). -**Discovery Target(s) Credential(s)**: Use username with permission to connect to the Linux/Unix targets. -**Schedule for autodiscovery**: You can schedule the discovery to run at certain times. +- **Job Name:** User-defined name for the job. +- **Remote Collector:** Select the remote collector to run the discovery job from (_optional_). +- **Job Debug Level:** Select _Debug On_ for extra debug info, useful for a support ticket. +- **Discovery Target(s):** Specify FQDN or IP of discovery target(s). If using FQDN, Device42 must be configured to resolve the DNS. +- **Port:** This is 22 by default. Only change this if you have a different SSH port configured. +- **Use telnet if SSH port is closed:** Fall back to telnet (port 23) if the SSH port is found to be closed. +- **Collect database server information:** Select this option to discover Oracle database servers. +- **Database Username/Password(s):** Username and password with database server permissions. +- **ADM Sampling Interval:** Is _Off_ by default. Enter a sampling interval in minutes or hours. +- **Enable Resource Utilization Tracking for Device(s):** Optionally enable the collection of resource utilization metrics from discovered devices. +- **Resource Utilization Sampling Interval:** Set the interval for RU data collection (only in effect if RU Tracking is enabled). +- **Discovery Target(s) Credential(s):** Use username with permission to connect to the Linux and Unix targets. +- **Schedule for autodiscovery:** You can schedule the discovery to run at certain times. -**_WARNING:_ Please do not set up an autodiscovery/scan using critical production account credentials!** +:::caution +Please don't set up an autodiscovery scan using critical production account credentials. -Depending on permissions granted and your configured password policies, account lock-out could result in an otherwise completely avoidable outage. You, the customer, are responsible for any such behavior that might result if you choose to ignore this requirement. +Account lock-out could result in an otherwise completely avoidable outage depending on the permissions granted and your configured password policies. You are responsible for any such behavior that might result if you choose to ignore this requirement. +::: -### Option To Ignore IPs/MAC Addresses +### Option To Ignore IPs and MAC Addresses -You can ignore IP and MAC addresses from being included in our database during autodiscovery. Devices with these addresses will still be discovered but the detailed information that would typically be collected and stored is ignored. +You can ignore IP and MAC addresses from being included in our database during autodiscovery. Devices with these addresses will still be discovered but the detailed information that would typically be collected and stored is ignored. Configure rules to ignore IP and MAC addresses for a specific job when creating or editing the job. -![Ignore IPs and MACs](/assets/images/ip-mac-ignore.png) + Globally, you can add an **Exclusion** to ignore IP and MAC addresses for all jobs by navigating to **Tools > Settings > Global Settings** on the Main Appliance. @@ -77,36 +82,44 @@ Globally, you can add an **Exclusion** to ignore IP and MAC addresses for all jo ### Exclusions -![](/assets/images/WEB-728_linux-unix-ad-exclusions.png) + -**Exclude Server(s)**: List of server IPs to exclude from discovery - this is useful for ignoring individual IPs when the discovery target is specified as range or CIDR block. -**Exclude Service Port Client IPs**: Do not discover client connections on specified listening ports. -**Remote IP Exclusion**: Do not discover connections to or from any of these remote IPs. +- **Exclude Server(s):** List of server IPs to exclude from discovery. This is useful for ignoring individual IPs when the discovery target is specified as a range or CIDR block. +- **Exclude Service Port Client IPs:** Do not discover client connections on specified listening ports. +- **Ignore Interfaces:** List of network interfaces to ignore during discovery. +- **Ignore IP(s):** Do not discover connections to or from any of these remote IPs. +- **Ignore MAC(s):** Do not discover connections to or from any of these remote MAC addresses. ### Naming Options -**Strip domain suffix**: strips the domain suffix from discovered servers - _[see the next section for hostname config details]._ -**Domains to strip**: Ordered list of domains to strip from hostname, one per line - if blank, full domain stripped; if specified, the first match is stripped. -**Set the device name as the name given in the server field of the autodiscovery job**: if checked & discovering via hostname/FQDN, the device will be named using the discovery target name provided. -**Overwrite existing device hostname with discovered hostname**: Check this option to give precedence to the discovered hostname. -**Device Name Format**: select desired device naming format; see ["Configuring hostname discovery details"](/auto-discovery/linux-unix-server-auto-discovery.mdx#section-7) below for explanations. +- **Strip domain suffix:** Strips the domain suffix from discovered servers. See the [next section](#host-discovery) for hostname config details. +- **Domains to strip:** Ordered list of domains to strip from hostname, one per line. If left blank, the full domain is stripped; if specified, the first match is stripped. +- **Set the device name as the name given in the server field of the autodiscovery job:** If checked and discovering via hostname or FQDN, the device will be named using the discovery target name provided. +- **Overwrite existing device hostname with discovered hostname:** Check this option to give precedence to the discovered hostname. +- **Device Name Format:** Select the desired device naming format. See the [configuring hostname discovery details](/auto-discovery/linux-unix-server-auto-discovery.mdx#section-7) below for explanations. ### Host Discovery Enabling the **Discover ProviderID/CloudID** option reveals the **Provider Token** option, which might be needed for authentication with the cloud service provider. @@ -115,30 +128,58 @@ Enabling the **Discover ProviderID/CloudID** option reveals the **Provider Token ### Miscellaneous Options -The lower portion of the discovery job page includes a _Miscellaneous_ tab, which contains additional options for *nix discovery jobs. Note that there is a _Timeout_ field you use to specify the maximum wait time for server response – the timeout range is 10 to 600 seconds. +The lower portion of the discovery job page includes a **Miscellaneous** tab that contains additional options for *nix discovery jobs. -![](/assets/images/D42-22188_nix-unix-misc-options-panel.png) +Specify the timeout range between 10 to 600 seconds in the **Timeout** field to set the maximum wait time for a server response. + + * * * -### Configuring SSH key auth for discovery +## Configure SSH Key Auth for Discovery + +SSH keys can be used for Linux discovery instead of a password. Setting up discovery to use an SSH key is a simple two-step process, and even easier if your servers are already configured for SSH key access. -SSH keys can be used for Linux discovery in lieu of a password. Setting up discovery to use an SSH key is a simple two-step process, and even easier if your servers are already configured for SSH key access – If you can already use an SSH key to log on to your servers with the desired discovery user account, _grab your SSH private key & start with Step2!_ +If you can already use an SSH key to log on to your servers with the desired discovery user account, get your SSH private key and proceed with Step 2. -1. Ensure your Linux target servers are configured for SSH public key auth, and if not, configure them +1. Ensure your Linux target servers are configured for SSH public key auth, and if not, configure them. -2. Add your SSH RSA (or DSA) Private key to a credential in Device42, and use that credential to configure your discovery job otherwise, as you always have +2. Add your SSH RSA (or DSA) Private key to a credential in Device42, and use that credential to configure your discovery job otherwise, as you always have. +### Supported SSH Key Ciphers -#### Supported SSH key ciphers +Device42 supports the following ciphers for SSH-key-based discovery authentication: -**Device42 supports the following ciphers for SSH-key based discovery authentication:** +- aes128-ctr +- aes192-ctr +- aes256-ctr +- aes128-gcm@openssh.com +- chacha20-poly1305@openssh.com +- arcfour256 +- arcfour128 +- arcfour +- aes128-cbc +- 3des-cbc -
  • aes128-ctr
  • aes192-ctr
  • aes256-ctr
  • aes128-gcm@openssh.com
  • chacha20-poly1305@openssh.com
  • arcfour256
  • arcfour128
  • arcfour
  • aes128-cbc
  • 3des-cbc
+### **Step 1**: Configure Discovery Target Servers for SSH Public Key Authentication -#### Configure discovery target servers for SSH Public key authentication +Configure Linux target servers for SSH public key authentication. You can create a new key pair or use an existing SSH key pair. To create a new key, generate an RSA key pair, use `ssh-keygen`, and run: -**1) Ensure Linux target servers are configured for SSH public key authentication** You can create a new key pair, or if you'd prefer, you may use an existing SSH key pair. To create a new key: a. Generate an RSA key pair using ssh-keygen: `ssh-keygen -t rsa` +``` +ssh-keygen -t rsa +``` + +Running `ssh-keygen` will ask you to set the file location of the key pair. You can use the default location - typically `$HOME/.ssh/id_rsa`. Note that if a key already exists at this location, it will be overwritten unless you choose a different file location. + +You will also be prompted to supply a passphrase (password) for your new private key. This is optional and you can leave it blank if you choose. + +For example: ``` Generating public/private RSA key pair. @@ -163,112 +204,263 @@ The key's randomart image is: +-----------------+ ``` -Note that ssh-keygen will ask you to set the Key Pair location and name. You may use the default location if you already have another key or are OK with it being overwritten e.g.,`[ $HOME/.ssh/id_rsa]`. You will also be prompted to supply a passphrase (password) for your new private key. This is OPTIONAL, and you can leave it blank if you choose. The following two files were created by the command you just ran: +The following two files will be created by the command you just ran: -``` -$HOME/.ssh/id_rsa– contains your private key. -$HOME/.ssh/id_rsa.pub – contain your public key. -``` +- **`$HOME/.ssh/id_rsa`:** Contains your private key. +- **`$HOME/.ssh/id_rsa.pub`:** Contains your public key. -Go ahead and save a copy of the _id_rsa file (this is your private key)_ somewhere local (somewhere you are able to browse to so you can upload it to Device42). b. Use $ssh-copy-id to copy the newly generated certificate to your target host(s): `ssh-copy-id -i $HOME/.ssh/id_rsa.pub discovery_user@discoverytarget.device42.com` This sets up your target hosts for remote SSH-key based auth using the same user account you used to run the command. If you used ssh-copy-id, you're ready to test your SSH-key auth. Verify your SSH key-based login works from a remote terminal, and once verified, proceed to _Step 2_, and set up your Linux discovery job (or, optionally, modify an existing one). _Optionally, instead of ssh-copy-id, you can log onto these servers and do this manually._ Should you choose to do it manually, you must create the .ssh directory in the user's home directory you'll be using for discovery and the _authorized_keys_ file within. Substitute $HOME with your discovery user's username, and set the permissions as follows. `mkdir -p $HOME/.ssh` `chmod 0700 $HOME/.ssh` Then simply create the file `$HOME/.ssh/authorized_keys` if it doesn't already exist, and to copy & paste the newly generated public key (copy the text of the entire file) on a new line in the authorized_key file. It will look something like this: +Save a copy of the **id_rsa** file (this is your private key) somewhere on your local machine so you can browse to it and upload it to Device42. -![authorized_key file with public key contents ](/assets/images/authorized_key-contents.png) +Use `$ssh-copy-id` to copy the newly generated certificate to your target host(s): -#### Create a discovery job that uses SSH key auth +```bash +ssh-copy-id -i $HOME/.ssh/id_rsa.pub discovery_user@discoverytarget.device42.com +``` +This sets up your target hosts for remote SSH-key-based authentication using the same user account you used to run the command. Verify that your SSH key-based login works from a remote terminal and proceed to [Step 2](#step-2-create-a-discovery-job-that-uses-ssh-key-auth) to set up your Linux discovery job. -**2) Add your private SSH RSA or DSA Private key _(created in Step 1)_ to your Device42 instance's discovery job.** Simply set up a new discovery job as you always have, _(Discovery -> HyperVisors / *nix / Windows -> Add Hypervisors/*nix/win for Autodiscovery)_, this time selecting a credential for the job's "Discovery Target(s) Credential(s)" field that includes the SSH key file (id_rsa) attached instead of a password, as shown below. You may add the file ahead of time _(Secrets menu -> "Add Password" button)_, or during job setup: +**Manual Set Up Option** -![](/assets/images/WEB_829_1-1.jpg) +Instead of using `ssh-copy-id`, you can log in to the target servers and manually set up the authentication: +- Create the `.ssh` directory in the home directory you'll be using for discovery and create an **authorized_keys** file in it. +- Substitute `$HOME` with your discovery user's username and set the permissions by running: +```bash +mkdir -p $HOME/.ssh +chmod 0700 $HOME/.ssh +``` +- Create the `$HOME/.ssh/authorized_keys` file if it doesn't already exist. +- Copy the newly generated public key (copy the entire file) and paste it on a new line in the `authorized_keys` file. It will look something like this: +![authorized_key file with public key contents ](/assets/images/authorized_key-contents.png) - **You're all set to run Linux discovery using an SSH key!** Save and Run your discovery job! Device42 will use the SSH key instead of a password! **_*Note* -_** if you chose to set a password for your SSH key, simply check the "Use Password" box and supply the SSH key file's password as well as the ssh key! Note that you can do this after the fact by editing your created credential. You are also able to download the key file you used (circled): +### **Step 2:** Create a Discovery Job With SSH Key Auth -![Add PW ssh key credential](/assets/images/ssh_keyfile_add_PW.png) +Add your private SSH RSA or DSA Private key created in [Step 1](#step-1-configure-discovery-target-servers-for-ssh-public-key-authentication) to your Device42 instance's discovery job. -* * * +- Set up a new discovery job. Go to **Discovery > HyperVisors / \*nix / Windows** and click **+ Add Hypervisors/\*nix/win for Autodiscovery**. +- Select a credential for the **Discovery Target(s) Credential(s)** field that includes the SSH key file instead of a password. +- You can also add the file via the discovery job page, or by going to **Resources > All Secrets** and clicking **+ Add Password**. -## Configuring Linux Hostname Discovery Details + -When discovering a device name, the first command we check is "hostname". This is used to derive the short name of the host. After running the hostname, we'll run the following commands to obtain the domain name. They're ordered by which command's results we give the most weight to: +If you set a passphrase for your SSH key, check the **Use Password** box and supply the SSH key file's password and SSH key. Note that you can do this later by editing your created credential (called a Secret). -- domainname -- dnsdomainname -- ypdomainname -- nisdomainname +You're all set to run Linux discovery using an SSH key! Save and run your discovery job. -If we don't get a domain name with any of those commands, we'll try "cat /etc/resolv.conf" last. In this case, we'll split on the white space in the file and look for a "domain" token. When we see one, we'll assign the domain as the 2nd token after "domain". +### Download the Key File -### Strip Domain Suffix +You can download the key file when needed. Navigate to **Resources > All Secrets** and select the Secret with the SSH key file. -When selected, Device42 will drop everything after the first "." in the device name. For naming options, the above mentioned Strip Domain Suffix option occurs prior to assigning the device name according to the naming option you choose. The naming options are as follows: + -1. Hostname as discovered - if the domain is present and the domain is not in the name, it is set to "name" -2. Hostname Plus Domain Name and Add Host name as Alias - alias is set to "name" and the device name becomes "name.domain" -3. Hostname Plus Domain Name the device name becomes "name.domain" -4. HostnameAddHostnamePlusDomainNameAlias names stay the same, and a alias is set as "name.domain" +* * * -## Run *Nix SSH discovery +## Configure Linux Hostname Discovery Details -Upon save (if you haven't scheduled the discovery), you can run it from the list, view, or edit page using the "Run now" button or link. +When discovering a device name, the first command to check is `hostname` to derive the short name of the host. After running the hostname, run the following commands to obtain the domain name. They're ordered by which command's results we give the most weight to: -## Run Now or Schedule +``` +domainname +``` +``` +dnsdomainname +``` +``` +ypdomainname +``` +``` +nisdomainname +``` -![](/assets/images/WEB_829_2.jpg) +If you don't get a domain name with any of those commands, try running `cat /etc/resolv.conf`. In this case, split the text on the white space in the file and look for a `domain` token. When you see one, assign the domain as the second token after `domain`. -Select **Run Now** from the list page to run the job right away. +### Strip Domain Suffix -![](/assets/images/WEB_829_3.jpg) +When the **Strip domain suffix** option is checked under **Naming Options**, Device42 will drop everything after the first "." in the device name. -Select **Add another Auto Discovery Schedule** when editing the job to create a run schedule for the job. + -A note on autodiscovery scheduling behavior: newly created jobs will not run on the first day they are created, to prevent an unintended large amount of jobs from running initially. If you would like to run a job after its initial creation, simply select the "Run Now" button next to the job after creation. +The option you choose under the **Device Name Format** dropdown occurs before assigning the device. -* * * + -## Linux Considerations +The naming options are as follows: -Linux Autodiscovery has been tested against Redhat, Debian, CentOS, Ubuntu, and Oracle distributions and should work fine against just about all similar Linux distributions that have python installed. +1. **Hostname as Discovered:** If the domain is present and the domain is not in the name, it is set to "name". +2. **Hostname plus Domain Name:** The device name becomes "name.domain". +3. **Hostname and add Hostname plus Domain Name as Alias:** Names stay the same, and an alias is set as "name.domain". +4. **Hostname Plus Domain Name and Add Host name as Alias:** The alias is set to "name" and the device name becomes "name.domain". -_Confirm this by checking to see if your platform supports the following commands:_ +## Run *nix SSH Discovery Job -Hostname: /bin/hostname +After saving a discovery job, you can run it immediately from the list using the **Run Now** button, view and edit pages, or schedule the discovery job. -OS: /usr/bin/python -m platform +To run the job right away, go to the list page under **Discovery > HyperVisors / \*nix / Windows** and click the **Run Now** button for a discovery job. -Manufacturer, Hardware and Serial #: sudo /usr/sbin/dmidecode -s system-manufacturer (and system-product-name, system-serial-number) + -IP Info: /sbin/ifconfig -a +Select **Add another Auto Discovery Schedule** when editing a job to create a run schedule for the job. -Memory: **cat** /proc/meminfo + -CPU Info: **sudo** /usr/sbin/dmidecode +:::note +Newly created jobs will not run on the day they are created to prevent an excessive number of jobs running simultaneously. To run a job after creating it, select the **Run Now** button next to the job. +::: -## Linux Permissions +* * * -There are several commands that are run as part of the Linux autodiscovery process that, by default, typically require root privileges. We do extensive testing to see which commands we can run without sudo while still obtaining all available information. The following is a table of commands we sometimes or always run as sudo. For the "Sometimes" commands, we'll try to run the command first without, and if we receive a permission denied command rather than an "invalid command", "command not found" or similar we'll attempt to run as sudo. This list will also say if it's run on every Linux/UNIX flavor or only certain platforms: +## Linux Considerations +Linux autodiscovery has been tested against Redhat, Debian, CentOS, Ubuntu, and Oracle distributions and should work fine against just about all similar Linux distributions. + +Confirm compatibility by checking to see if your platform supports the following commands: + +- **Hostname:** + ``` + /bin/hostname + ``` + +- **Manufacturer, Hardware, and Serial #:** + ``` + sudo /usr/sbin/dmidecode -s system-manufacturer + ``` + ``` + sudo /usr/sbin/dmidecode -s system-product-name + ``` + ``` + sudo /usr/sbin/dmidecode -s system-serial-number + ``` + +- **IP Info:** + ``` + /sbin/ifconfig -a + ``` + +- **Memory:** + ``` + cat /proc/meminfo + ``` + +- **CPU Info:** + ``` + sudo /usr/sbin/dmidecode + ``` -
CommandRun with sudo?OS flavor
adbSometimesLinux
cdSometimesAll
catSometimesAll
chkconfigSometimesLinux
cstmSometimesHP-UX
dockerAlwaysLinux
echoSometimesLinux
findSometimesLinux:FreeBSD:OpenBSD
fcinfoAlwaysSolaris
fdiskAlwaysAll
grepSometimesAll
iptablesalwayslxc
kdbNoAix
lsSometimesAll
netstatSometimesAll
showmountSometimesLinux
ssSometimesAll
systemctlSometimesAll
crontabAlwaysAll
exportfsSometimesAll
hdparmSometimesAll
pwdxSometimesAll
hadoopSometimesAll
hdfsSometimesAll
SYBASE__DOT__shSometimesAll
systoolAlwaysAll
dataserverSometimesAll
su $oracle_userSometimesDiscovers Oracle application information by running necessary commands as the Oracle user
su $sap_hana_userSometimesDiscovers SAP HANA application information by running necessary commands as the SAP user
dmidecodeSometimesLinux:Freebsd:OpenBSD:Mac
dmesgSometimesLinux:Debian:OracleLinux:HPUX
formatAlwaysSolaris
pfilesAlwaysSolaris
zloginAlwaysSolaris (For Zones)
system_profilerSometimesMac
ioscanSometimesHPUX
print_manifestSometimesHPUX
swlistSometimesHPUX
lslppSometimesAix
virshAlwaysLinux
vzctlAlwaysLinux
vzlistSometimesAix
lxc-attachAlwaysLinux
lxc-lsAlwaysLinux
lsofAlwaysAll
lspciAlwaysAll
` +## Linux Permissions -Note, these commands sometimes change so please check with Device42 for the current list. Below you can see an example of how to allow a particular user or group to run a specific sudo command without being prompted for a password: +Several commands are run as part of the Linux autodiscovery process that, by default, typically require root privileges. We do extensive testing to see which commands we can run without `sudo` while still obtaining all available information. + +The following is a table of commands we sometimes or always run as `sudo`. For the "Sometimes" commands, we'll try to run the command first without `sudo`, and if we receive a "permission denied" command rather than an "invalid command", "command not found", or similar, we'll attempt to run it as `sudo`. This list also specifies whether the command is run on every Linux or UNIX flavor, or only certain platforms: + +| Command | Run with sudo? | OS flavor | +|---------------------|----------------|-----------------------------------------------------------| +| `adb` | Sometimes | Linux | +| `cd` | Sometimes | All | +| `cat` | Sometimes | All | +| `chkconfig` | Sometimes | Linux | +| `cstm` | Sometimes | HP-UX | +| `docker` | Always | Linux | +| `echo` | Sometimes | Linux | +| `find` | Sometimes | Linux:FreeBSD:OpenBSD | +| `fcinfo` | Always | Solaris | +| `fdisk` | Always | All | +| `grep` | Sometimes | All | +| `iptables` | Always | lxc | +| `kdb` | No | Aix | +| `ls` | Sometimes | All | +| `netstat` | Sometimes | All | +| `showmount` | Sometimes | Linux | +| `ss` | Sometimes | All | +| `systemctl` | Sometimes | All | +| `crontab` | Always | All | +| `exportfs` | Sometimes | All | +| `hdparm` | Sometimes | All | +| `pwdx` | Sometimes | All | +| `hadoop` | Sometimes | All | +| `hdfs` | Sometimes | All | +| `SYBASE.sh` | Sometimes | All | +| `systool` | Always | All | +| `dataserver` | Sometimes | All | +| `su $oracle_user` | Sometimes | Discovers Oracle application information by running necessary commands as the Oracle user | +| `su $sap_hana_user` | Sometimes | Discovers SAP HANA application information by running necessary commands as the SAP user | +| `dmidecode` | Sometimes | Linux:Freebsd:OpenBSD:Mac | +| `dmesg` | Sometimes | Linux:Debian:OracleLinux:HPUX | +| `format` | Always | Solaris | +| `pfiles` | Always | Solaris | +| `zlogin` | Always | Solaris (For Zones) | +| `system_profiler` | Sometimes | Mac | +| `ioscan` | Sometimes | HPUX | +| `print_manifest` | Sometimes | HPUX | +| `swlist` | Sometimes | HPUX | +| `lslpp` | Sometimes | Aix | +| `virsh` | Always | Linux | +| `vzctl` | Always | Linux | +| `vzlist` | Sometimes | Aix | +| `lxc-attach` | Always | Linux | +| `lxc-ls` | Always | Linux | +| `lsof` | Always | All | +| `lspci` | Always | All | + +These commands sometimes change, so please check with Device42 for the current list. Below you can see an example of how to allow a particular user or group to run a specific sudo command without being prompted for a password: ``` **%your-group-here ALL = (ALL) NOPASSWD:/usr/sbin/dmidecode, /sbin/hdparm, /sbin/fdisk** ``` -Adjust the above paths as needed to match the location of each program. If these permissions are missing, the autodiscovery client will not be able to discover hardware, manufacturer, serial #, and so on, as well as service dependencies and valuable application configuration information. You might also have to comment out the Default Require tty in the /etc/sudoers file. +Adjust the above paths as needed to match the location of each program. If these permissions are missing, the autodiscovery client will not be able to discover hardware, manufacturer, serial number, and so on, as well as service dependencies and valuable application configuration information. You might also have to comment out `Default Require tty` in the `/etc/sudoers` file. -## SUDO PATH in non-interactive shells +## SUDO PATH in Non-Interactive Shells -If users are experiencing Linux discoveries where Device42 is using a non-interactive shell rather than interactive, we may be trying the commands multiple times because PATH is not set in non-interactive shells. The users can set that information in their sudoers file for the service account to prevent these commands from being executed multiple times. It should be there by default, but sometimes it's commented out or removed for security hardening. +If you have a Linux discovery where Device42 uses a non-interactive shell, Device42 may try the commands multiple times because the `PATH` is not set in non-interactive shells. + +You can set that information in the `sudoers` file for the service account to prevent these commands from being executed multiple times. It should be there by default, but sometimes it's commented out or removed for security hardening. It's not a bug, but some deployments may see security alerts for invalid commands being executed because of this. In sudoers, there should be a line as follows: - +``` Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" +``` You could alternatively make the defaults particular to just the discovery account like so: - +``` Defaults:DISCOVERY_ACCOUNT secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" +``` diff --git a/docs/auto-discovery/resources/index.mdx b/docs/auto-discovery/resources/index.mdx index 3c4e3c99..b0ea046d 100644 --- a/docs/auto-discovery/resources/index.mdx +++ b/docs/auto-discovery/resources/index.mdx @@ -51,7 +51,7 @@ sources={{ }} /> -Use the **Advanced Search** option on the Resources list page to construct more specific searches. See the [Advanced Search Feature](getstarted/advanced-search-feature.md) documentation for instructions. +Use the **Advanced Search** option on the Resources list page to construct more specific searches. See the [Advanced Search Feature](/getstarted/advanced-search-feature.mdx) documentation for instructions. ### View Resource Details diff --git a/docs/auto-discovery/storage-arrays-autodiscovery/storage-arrays.md b/docs/auto-discovery/storage-arrays-autodiscovery/storage-arrays.md index 3b1bd5bf..00d27ba1 100644 --- a/docs/auto-discovery/storage-arrays-autodiscovery/storage-arrays.md +++ b/docs/auto-discovery/storage-arrays-autodiscovery/storage-arrays.md @@ -17,7 +17,7 @@ Device42 displays the Storage Arrays list page. On this page, you can _Search b ![](/assets/images/Storage-arrays-filter-by-type.png) -**Note**: The Storage Arrays list page also includes an _Advanced Search_ option you can use to construct more specific searches. See the [Advanced Search Feature](getstarted/advanced-search-feature.md) documentation page for instructions. +**Note**: The Storage Arrays list page also includes an _Advanced Search_ option you can use to construct more specific searches. See the [Advanced Search Feature](/getstarted/advanced-search-feature.mdx) documentation page for instructions. Click on an array _Name_ to see details about that array. You can use the links in the panel on the right to see details about that related resource. diff --git a/docs/auto-discovery/windows-and-hyper-v-auto-discovery.mdx b/docs/auto-discovery/windows-and-hyper-v-auto-discovery.mdx index c3883d82..9110c127 100644 --- a/docs/auto-discovery/windows-and-hyper-v-auto-discovery.mdx +++ b/docs/auto-discovery/windows-and-hyper-v-auto-discovery.mdx @@ -16,14 +16,15 @@ Your OS must be at Windows 8.1, Windows Server 2012 R2 or above with the latest ## Network Requirements for WinRM vs WMI -**WinRM** +### WinRM WinRM uses port 5985 (HTTP) or 5986 (HTTPS), depending on the configuration on the target host. These connections come from the RC selected at the top of the jobs page. For configuring within your environment, please refer to the [Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/winrm/installation-and-configuration-for-windows-remote-management) here. Note that you must enable this on your Windows machines which can be configured through a GPO. -**WMI** +### WMI + +WMI is based on DCOM/RPC. This means a connection is first initiated on port 135 to determine what dynamic port to use. The connection then proceeds to use the dynamic port negotiated. The following [Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/wmisdk/connecting-to-wmi-remotely-starting-with-vista) can be used for configuring WMI. -WMI is based on DCOM/RPC. This means a connection is first initiated on port 135 to determine what dynamic port to use. The connection then proceeds to use the dynamic port negotiated. The following [Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/wmisdk/connecting-to-wmi-remotely-starting-with-vista) can be used for configuring WMI. -Network Issues +### Network Issues Our support team can provide best effort assistance in trying to resolve issues. However, for both protocols, it is best to reach out to your network or system admin, in order to resolve connection issues. diff --git a/docs/getstarted/advanced-search-feature.md b/docs/getstarted/advanced-search-feature.mdx similarity index 84% rename from docs/getstarted/advanced-search-feature.md rename to docs/getstarted/advanced-search-feature.mdx index 1eca0614..c3bd6f61 100644 --- a/docs/getstarted/advanced-search-feature.md +++ b/docs/getstarted/advanced-search-feature.mdx @@ -3,11 +3,20 @@ title: "Advanced Search Feature" sidebar_position: 7 --- +import ThemedImage from "@theme/ThemedImage"; +import useBaseUrl from "@docusaurus/useBaseUrl"; + ## Advanced Search Feature -Many Device42 list pages contain an Advanced Search option to help you quickly and easily find the items you want; the example below shows the Resources list page. Click _Advanced Search_ to display its _Query_ bar. (Click _Basic Filtering_ to return to the default list page.) +Many Device42 list pages contain an advanced search option to help you quickly and easily find the items you want; the example below shows the Resources list page. Click **Advanced Search** to display its **Query** bar. Click **Basic Filtering** to return to the default list page. -![](/assets/images/getting_started_advanced-search-feature.png) + Advanced search lets you enter search criteria based on the columns on the list page. The basic search syntax is: @@ -19,19 +28,43 @@ When you first click in the Advanced Search Query bar, Device42 displays a list After selecting a column, a list of available operators for that column type will be suggested. -![Operator suggestions](/assets/images/advanced-search/operator-suggestions.png) + As a reminder to enclose values within parentheses for [`in`, `not in`](#in-and-not-in), [`contains`](#contains), and [`not contains`](#not-contains) operators, an open parenthesis `(` will be suggested. -![Parenthesis syntax](/assets/images/advanced-search/parenthesis-suggestion.png) + In the case of the [`=` operator](#equals), put values in double quotation marks and use the special `EMPTY` keyword to represent a ‘null’ or ‘blank’ value. -![Values syntax](/assets/images/advanced-search/value-syntax.png) + When using [comparator operators](#comparators), like `<` or `>`, numbers are entered without any enclosing quotation marks. -![Integer suggestion](/assets/images/advanced-search/number-syntax.png) + ## Search Value Formatting: diff --git a/docs/getstarted/home-page-widgets-and-global-search.md b/docs/getstarted/home-page-widgets-and-global-search.md index 72c3e0ac..15a6bd9a 100644 --- a/docs/getstarted/home-page-widgets-and-global-search.md +++ b/docs/getstarted/home-page-widgets-and-global-search.md @@ -3,30 +3,61 @@ title: "Home Page Widgets and Global Search" sidebar_position: 10 --- -The Device42 home page Classic Dashboard features our updated widgets that give you a quick, clean visual look at your environment, making it easier to spot important trends and statistics. The home page also includes a Global Search function that lets you search your whole Device42 environment to find what you need quickly and easily. +import ThemedImage from "@theme/ThemedImage"; +import useBaseUrl from "@docusaurus/useBaseUrl"; -## Widgets and Dashboards +The Device42 home page Classic Dashboard has widgets that give you a quick, clean look at your environment, making it easier to spot important trends and statistics. Use the Global Search function to search your whole Device42 environment and quickly and easily find what you need. -- You can use the Dashboard drop-down to select one of the [Insights+](../reports/reports/insights-plus.mdx) dashboards to use for the home page instead of the Classic Dashboard if you want. +## Dashboards and Widgets -![](/assets/images/D42-21560_home-page-dashboard-menu.png) +- Use the dashboard dropdown menu to select one of the [Insights+](../reports/reports/insights-plus.mdx) dashboards to use for the home page. -- Click _Manage Widgets_ to display the list of available the widgets for the Classic Dashboard to get the information you want when you want it. + -![](/assets/images/D42-21560_home-page-dashboard-widgets.png) +- Click **Manage Widgets** to select the widgets you want to display on the Classic Dashboard. -- You can click and drag the widgets to arrange them to best suit your needs. + -## Global Search - -- The home page also includes a Global Search feature. Type in your search and Device42 displays a drop-down of possible matches. - -![](/assets/images/D42-21560_search-1-start.png) +- On the dashboard, click and drag the widgets and arrange them to suit your needs. -* * * - -![](/assets/images/D42-21560_search-2-drop-down.png) - -- Click the magnifying glass and Device42 shows you all your results sorted and displayed by category. +## Global Search -![](/assets/images/D42-21560_search-3-results.png) +- The home page includes a **Global Search** feature. Type the name of configuration items, object types, or models to return a dropdown list of possible matches. + + + + + +- Click the magnifying glass or press enter to see links of your results sorted and displayed by category. + + diff --git a/docs/getstarted/importing-data-from-existing-spreadsheets.mdx b/docs/getstarted/importing-data-from-existing-spreadsheets.mdx index dba10958..1320e5c1 100644 --- a/docs/getstarted/importing-data-from-existing-spreadsheets.mdx +++ b/docs/getstarted/importing-data-from-existing-spreadsheets.mdx @@ -20,6 +20,7 @@ Navigate to **Tools > Imports/Exports(xls)**. light: useBaseUrl('/assets/images/import/import-01-light.png'), dark: useBaseUrl('/assets/images/import/import-01-dark.png'), }} + style={{ width: '70%' }} /> On this page you will find sample spreadsheets and links to detailed documentation. diff --git a/docs/how-to-videos/index.md b/docs/how-to-videos/index.md index 16ebdf2d..3011be40 100644 --- a/docs/how-to-videos/index.md +++ b/docs/how-to-videos/index.md @@ -29,6 +29,7 @@ Don't see a video for the topic you're looking for? Send us an email at [support ## Device42 Product Release Highlights + - [Product Release v.18.13.00](https://device42.wistia.com/medias/rny40zir6a) - [Product Release v.18.12.00](https://device42.wistia.com/medias/02wepisj3v) - [Product Release v.18.11.00](https://device42.wistia.com/medias/gux0tm361v) - [Product Release v.18.10.00](https://device42.wistia.com/medias/hag4m368we) diff --git a/docs/integration/external-integrations/freshservice-integration.md b/docs/integration/external-integrations/freshservice-integration.md index ad6c9ace..ff154b4c 100644 --- a/docs/integration/external-integrations/freshservice-integration.md +++ b/docs/integration/external-integrations/freshservice-integration.md @@ -17,7 +17,7 @@ sidebar_position: 12 The Freshservice API, by default, is limited to 1000 API calls per hour. To process a single asset, multiple API calls are made. While we do our best to work with the default limit, if for any reason sync times are inconvenient, please contact Freshworks to increase your API limit. They will increase this limit but on a need case basis. -To integrate the File System (FS) with Device42, setting up the Device42 Cloud Connector is a prerequisite. The Cloud Connector acts as a bridge between the File System and Device42. +To integrate Freshservice with Device42, setting up the Device42 Cloud Connector is a prerequisite. The Cloud Connector acts as a bridge between Freshservice and Device42. ## Get Freshservice API Token diff --git a/static/assets/images/advanced-search-feature/available-operators-dark.png b/static/assets/images/advanced-search-feature/available-operators-dark.png new file mode 100644 index 00000000..97a088c4 Binary files /dev/null and b/static/assets/images/advanced-search-feature/available-operators-dark.png differ diff --git a/static/assets/images/advanced-search-feature/available-operators-light.png b/static/assets/images/advanced-search-feature/available-operators-light.png new file mode 100644 index 00000000..bd8f5ba3 Binary files /dev/null and b/static/assets/images/advanced-search-feature/available-operators-light.png differ diff --git a/static/assets/images/advanced-search-feature/integer-suggestion-dark.png b/static/assets/images/advanced-search-feature/integer-suggestion-dark.png new file mode 100644 index 00000000..91ca5eff Binary files /dev/null and b/static/assets/images/advanced-search-feature/integer-suggestion-dark.png differ diff --git a/static/assets/images/advanced-search-feature/integer-suggestion-light.png b/static/assets/images/advanced-search-feature/integer-suggestion-light.png new file mode 100644 index 00000000..e5475463 Binary files /dev/null and b/static/assets/images/advanced-search-feature/integer-suggestion-light.png differ diff --git a/static/assets/images/advanced-search-feature/parenthesis-syntax-dark.png b/static/assets/images/advanced-search-feature/parenthesis-syntax-dark.png new file mode 100644 index 00000000..45088024 Binary files /dev/null and b/static/assets/images/advanced-search-feature/parenthesis-syntax-dark.png differ diff --git a/static/assets/images/advanced-search-feature/parenthesis-syntax-light.png b/static/assets/images/advanced-search-feature/parenthesis-syntax-light.png new file mode 100644 index 00000000..97e9e8d8 Binary files /dev/null and b/static/assets/images/advanced-search-feature/parenthesis-syntax-light.png differ diff --git a/static/assets/images/advanced-search-feature/query-bar-dark.png b/static/assets/images/advanced-search-feature/query-bar-dark.png new file mode 100644 index 00000000..eb596ab9 Binary files /dev/null and b/static/assets/images/advanced-search-feature/query-bar-dark.png differ diff --git a/static/assets/images/advanced-search-feature/query-bar-light.png b/static/assets/images/advanced-search-feature/query-bar-light.png new file mode 100644 index 00000000..33065b8d Binary files /dev/null and b/static/assets/images/advanced-search-feature/query-bar-light.png differ diff --git a/static/assets/images/advanced-search-feature/values-syntax-dark.png b/static/assets/images/advanced-search-feature/values-syntax-dark.png new file mode 100644 index 00000000..66e58f80 Binary files /dev/null and b/static/assets/images/advanced-search-feature/values-syntax-dark.png differ diff --git a/static/assets/images/advanced-search-feature/values-syntax-light.png b/static/assets/images/advanced-search-feature/values-syntax-light.png new file mode 100644 index 00000000..66cc93fc Binary files /dev/null and b/static/assets/images/advanced-search-feature/values-syntax-light.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/dashboard-dropdown-dark.png b/static/assets/images/home-page-widgets-and-global-search/dashboard-dropdown-dark.png new file mode 100644 index 00000000..104ca748 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/dashboard-dropdown-dark.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/dashboard-dropdown-light.png b/static/assets/images/home-page-widgets-and-global-search/dashboard-dropdown-light.png new file mode 100644 index 00000000..8c53b92a Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/dashboard-dropdown-light.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/global-search-dark.png b/static/assets/images/home-page-widgets-and-global-search/global-search-dark.png new file mode 100644 index 00000000..801c45e0 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/global-search-dark.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/global-search-light.png b/static/assets/images/home-page-widgets-and-global-search/global-search-light.png new file mode 100644 index 00000000..050006fa Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/global-search-light.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/list-results-dark.png b/static/assets/images/home-page-widgets-and-global-search/list-results-dark.png new file mode 100644 index 00000000..480e9211 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/list-results-dark.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/list-results-light.png b/static/assets/images/home-page-widgets-and-global-search/list-results-light.png new file mode 100644 index 00000000..fc1aa869 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/list-results-light.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/results-links-dark.png b/static/assets/images/home-page-widgets-and-global-search/results-links-dark.png new file mode 100644 index 00000000..36000a74 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/results-links-dark.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/results-links-light.png b/static/assets/images/home-page-widgets-and-global-search/results-links-light.png new file mode 100644 index 00000000..8856a504 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/results-links-light.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/select-widgets-dark.png b/static/assets/images/home-page-widgets-and-global-search/select-widgets-dark.png new file mode 100644 index 00000000..6a099e50 Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/select-widgets-dark.png differ diff --git a/static/assets/images/home-page-widgets-and-global-search/select-widgets-light.png b/static/assets/images/home-page-widgets-and-global-search/select-widgets-light.png new file mode 100644 index 00000000..f7e3285b Binary files /dev/null and b/static/assets/images/home-page-widgets-and-global-search/select-widgets-light.png differ diff --git a/static/assets/images/import/import-02-dark.png b/static/assets/images/import/import-02-dark.png index 24c8f8fa..2855d9a9 100644 Binary files a/static/assets/images/import/import-02-dark.png and b/static/assets/images/import/import-02-dark.png differ diff --git a/static/assets/images/import/import-02-light.png b/static/assets/images/import/import-02-light.png index da304add..b3104e12 100644 Binary files a/static/assets/images/import/import-02-light.png and b/static/assets/images/import/import-02-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/add-nix-job-dark.png b/static/assets/images/linux-unix-server-auto-discovery/add-nix-job-dark.png new file mode 100644 index 00000000..4da3e68d Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/add-nix-job-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/add-nix-job-light.png b/static/assets/images/linux-unix-server-auto-discovery/add-nix-job-light.png new file mode 100644 index 00000000..9e0296e0 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/add-nix-job-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/add-secret-dark.png b/static/assets/images/linux-unix-server-auto-discovery/add-secret-dark.png new file mode 100644 index 00000000..aba4c1b0 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/add-secret-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/add-secret-light.png b/static/assets/images/linux-unix-server-auto-discovery/add-secret-light.png new file mode 100644 index 00000000..5ab3bb29 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/add-secret-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/autodiscovery-schedule-dark.png b/static/assets/images/linux-unix-server-auto-discovery/autodiscovery-schedule-dark.png new file mode 100644 index 00000000..6e754dcd Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/autodiscovery-schedule-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/autodiscovery-schedule-light.png b/static/assets/images/linux-unix-server-auto-discovery/autodiscovery-schedule-light.png new file mode 100644 index 00000000..e8d9334a Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/autodiscovery-schedule-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/device-name-format-options-dark.png b/static/assets/images/linux-unix-server-auto-discovery/device-name-format-options-dark.png new file mode 100644 index 00000000..2df73a08 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/device-name-format-options-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/device-name-format-options-light.png b/static/assets/images/linux-unix-server-auto-discovery/device-name-format-options-light.png new file mode 100644 index 00000000..823dc795 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/device-name-format-options-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/download-key-dark.png b/static/assets/images/linux-unix-server-auto-discovery/download-key-dark.png new file mode 100644 index 00000000..cbe5cabd Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/download-key-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/download-key-light.png b/static/assets/images/linux-unix-server-auto-discovery/download-key-light.png new file mode 100644 index 00000000..4d35a43f Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/download-key-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/job-exclusions-dark.png b/static/assets/images/linux-unix-server-auto-discovery/job-exclusions-dark.png new file mode 100644 index 00000000..1a46c780 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/job-exclusions-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/job-exclusions-light.png b/static/assets/images/linux-unix-server-auto-discovery/job-exclusions-light.png new file mode 100644 index 00000000..27fb1a2b Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/job-exclusions-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/misc-options-dark.png b/static/assets/images/linux-unix-server-auto-discovery/misc-options-dark.png new file mode 100644 index 00000000..298fff12 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/misc-options-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/misc-options-light.png b/static/assets/images/linux-unix-server-auto-discovery/misc-options-light.png new file mode 100644 index 00000000..e125aa1d Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/misc-options-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/naming-options-dark.png b/static/assets/images/linux-unix-server-auto-discovery/naming-options-dark.png new file mode 100644 index 00000000..70993802 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/naming-options-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/naming-options-light.png b/static/assets/images/linux-unix-server-auto-discovery/naming-options-light.png new file mode 100644 index 00000000..a7381cb9 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/naming-options-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/nix-autodiscovery-page-dark.png b/static/assets/images/linux-unix-server-auto-discovery/nix-autodiscovery-page-dark.png new file mode 100644 index 00000000..7541c7e3 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/nix-autodiscovery-page-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/nix-autodiscovery-page-light.png b/static/assets/images/linux-unix-server-auto-discovery/nix-autodiscovery-page-light.png new file mode 100644 index 00000000..06ada7b8 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/nix-autodiscovery-page-light.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/run-now-button-dark.png b/static/assets/images/linux-unix-server-auto-discovery/run-now-button-dark.png new file mode 100644 index 00000000..b1398a46 Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/run-now-button-dark.png differ diff --git a/static/assets/images/linux-unix-server-auto-discovery/run-now-button-light.png b/static/assets/images/linux-unix-server-auto-discovery/run-now-button-light.png new file mode 100644 index 00000000..5271476d Binary files /dev/null and b/static/assets/images/linux-unix-server-auto-discovery/run-now-button-light.png differ