Skip to content

Commit bd129c6

Browse files
authored
Merge pull request #493 from ritza-co/19.07.16
Docs 19.07.16 release (Week 5, 2026)
2 parents 3ad5c65 + 9fb62ac commit bd129c6

5 files changed

Lines changed: 54 additions & 47 deletions

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
.env.production.local
1717
*.swp
1818
.vscode/
19-
CLAUDE.md
19+
.claude
2020

2121
npm-debug.log*
2222
yarn-debug.log*

docs/auto-discovery/agent-based-discovery.mdx

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,17 @@ sidebar_position: 3
66
import ThemedImage from '@theme/ThemedImage'
77
import useBaseUrl from '@docusaurus/useBaseUrl'
88

9-
There are special situations where using an agent for discovery makes more sense. The IT environment may be unreachable from the network or security-hardened rules may be in place that limit traffic flow. Device42 offers many optional auto-discovery agents across several [supported platforms](#supported-platforms).
9+
This page is for Device42 administrators who need to use agent-based discovery when their IT environment is unreachable from the network or security-hardened rules limit traffic flow.
1010

11-
As a best practice, we recommend using agentless discovery over agent-based discovery when possible. The information gathered is the same, but the agent does not support Resource Utilization (RU).
11+
Device42 offers optional auto-discovery agents across several [supported platforms](#supported-platforms).
12+
13+
Use agentless discovery over agent-based discovery when possible. Both methods gather the same information, but the agent does not support Resource Utilization (RU) or database discovery.
1214

1315
To learn about using the agent for **offline** discovery, see [Agent-Based Offline Discovery](agent-based-offline-discovery.mdx).
1416

1517
## Supported Platforms
1618

17-
Device42 autodiscovery agents are available for deployment on the following platforms:
19+
Device42 offers autodiscovery agents for the following platforms:
1820

1921
- Windows 64-bit (Recommended)
2022
- Windows 32-bit
@@ -32,22 +34,22 @@ Device42 autodiscovery agents are available for deployment on the following plat
3234
See **[Windows Discovery Agent Service Wrapper](/getstarted/deploy-device42/windows-service-installation.mdx)** and **[Mac Agent Service Launcher](/auto-discovery/mac-agent-service-launcher.mdx)** for information on installing versions of the Windows and Mac discovery agent as a service.
3335

3436
:::warning
35-
Do not set up an autodiscovery scan using critical or production account credentials. Please create a separate, dedicated account to use only for discovery.
37+
Do not set up an autodiscovery scan using critical or production account credentials. Create a separate, dedicated account to use only for discovery.
3638

37-
Doing so, depending on permissions granted and configured password policies could result in account lock-out, therefore causing an otherwise completely avoidable outage.
39+
Account lockout could occur depending on permissions and password policies, causing an otherwise avoidable outage.
3840
:::
3941

40-
## Proxy Environment Variables
42+
## Configure Proxy Environment Variables
4143

42-
Proxy settings are not required, but if you need the agents to access your network via a proxy, you can set the following environment variables, which the agents will respect:
44+
Proxy settings are not required, but if you need the agents to access your network via a proxy, set the following environment variables:
4345

4446
- **HTTP_PROXY:** Define the HTTP proxy server.
4547
- **HTTPS_PROXY:** Define the HTTPS proxy server.
4648
- **NO_PROXY:** A comma-separated list of IP addresses that should not go through the proxy.
4749

4850
On Windows, click the **Environmental Variables** button in the System Properties window to set environment variables.
4951

50-
## Installation
52+
## Install the Agent
5153

5254
Download the client from **Discovery > Agent Based Scans**. Enter the URL as it will be accessed by the agent from the remote machine, and choose your **Platform** from the dropdown: Windows, Mac, Linux, FreeBSD, and so on.
5355

@@ -68,7 +70,7 @@ The agent can be run from the command line or can be scheduled using the relevan
6870
-capture-host-files
6971
capture hosts files
7072
-config-file string
71-
reads the config from an encrypted file (Only works for signed binaries. Ignored Otherwise)
73+
reads the config from an encrypted file (Only works for signed binaries. Ignored otherwise)
7274
-debug
7375
prints the data being sent and result of post operation
7476
-device-customer string
@@ -176,13 +178,13 @@ The agent can be run from the command line or can be scheduled using the relevan
176178
```
177179
</details>
178180

179-
## Scheduling With Crontab in Linux
181+
## Schedule the Agent With Crontab on Linux
180182

181-
For best results, we recommend running the command with `sudo`. Make sure that `/home/system\_dev42/bin/d42agent` is owned by `root` with `\-rwx—— (0700)` permissions. This prevents the non-root user `system\_dev42` from overwriting the agent or adding it to `root`’s _crontab_ (or `cron.daily/hourly`) while allowing root to execute it.
183+
For best results, run the command with `sudo`. Make sure that `/home/system_dev42/bin/d42agent` is owned by `root` with `-rwx—— (0700)` permissions. This prevents the non-root user `system_dev42` from overwriting the agent or adding it to `root`’s crontab (or `cron.daily/hourly`) while allowing root to execute it.
182184

183-
### Using a Limited Account
185+
### Use a Limited Account
184186

185-
The Linux agent runs as `root` by default. However, it is possible to configure the agent to run with a limited, non-root account. Here's how you can create one:
187+
The Linux agent runs as `root` by default. However, you can configure the agent to run with a limited, non-root account.
186188

187189
1. **Create a limited account**:
188190
- Create a new Linux account (for example, `d42_limited`) without root access.
@@ -205,7 +207,7 @@ The Linux agent runs as `root` by default. However, it is possible to configure
205207
d42_limited ALL=(ALL) NOPASSWD: /usr/sbin/arp, /bin/cat, /sbin/ifconfig, /usr/bin/curl, /usr/bin/wget, /bin/ls, /usr/sbin/dmidecode, /usr/bin/lsof, /usr/bin/ps, /usr/bin/python3, /bin/uname, /usr/bin/systemctl, /sbin/ip, /usr/bin/df, /usr/bin/free, /usr/bin/mount, /usr/sbin/iptables
206208
```
207209

208-
Read the [Commands Required by the Discovery Agent](#commands-required-by-the-discovery-agent) section to see the full list of commands required by the agent.
210+
Read the [Commands Required by the Discovery Agent](#required-agent-commands) section to see the full list of commands required by the agent.
209211

210212
3. **Configure the file ownership and permissions**:
211213
- Make sure that the `d42agent` binary is still owned by `root` and has restricted permissions:
@@ -222,7 +224,7 @@ The Linux agent runs as `root` by default. However, it is possible to configure
222224
sudo -u d42_limited /home/system_dev42/bin/d42agent
223225
```
224226

225-
### Commands Required by the Discovery Agent
227+
### Required Agent Commands
226228

227229
<details>
228230
<summary>Click to expand the code block</summary>
@@ -263,14 +265,14 @@ The Linux agent runs as `root` by default. However, it is possible to configure
263265
```
264266
</details>
265267

266-
We need to ensure the limited account can execute all these commands through `sudo` without requiring a password.
268+
Ensure the limited account can execute all these commands through `sudo` without requiring a password.
267269

268270
Here's a shell script that can be used to check whether the limited account has access to the commands:
269271

270272
<details>
271273
<summary>Click to expand the code block</summary>
272274

273-
```py
275+
```bash
274276
#!/bin/bash
275277

276278
# List of commands required by the discovery agent
@@ -294,21 +296,21 @@ Here's a shell script that can be used to check whether the limited account has
294296

295297
You can run this script to verify that the limited account has access to all the required commands.
296298

297-
## Linux and Mac Note
299+
## Run the Agent on Linux and Mac
298300

299301
After downloading the agent, make it executable by running the command `chmod +x <agentname>` and use `sudo` for best results. Use the command `--sudo-password="password"` to pass in the password.
300302

301303
You may experience an issue with opening the application on your Mac. If so, please use the following Apple support link to [open a Mac app from an unidentified developer](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac).
302304

303-
## Windows Note
305+
## Schedule the Agent on Windows
304306

305-
After downloading the agent, use the Windows Task Scheduler to schedule the executable file (\*.exe) to run at the intervals you define.
307+
After downloading the agent, use the Windows Task Scheduler to schedule the executable file (`*.exe`) to run at the intervals you define.
306308

307309
## View Agent Version and Agent Last Check-in Date
308310

309311
The Devices list page now includes two columns that display the **Agent Version** and the **Agent Last Check-in Date** for devices discovered by the agent.
310312

311-
- On the Devices list page under **Resources > Compute > All Devices**, click the **gear icon** below the Advanced button to display the column list.
313+
- On the Devices list page under **Resources > Compute > All Devices**, click the **gear icon** below the **Advanced** button to display the column list.
312314

313315
<ThemedImage
314316
alt="Gear icon on Devices list page"
@@ -329,9 +331,9 @@ The Devices list page now includes two columns that display the **Agent Version*
329331
}}
330332
/>
331333

332-
- If you want to define a new column view, type a name for the view in the field to the right of the **Table Columns** dropdown and **Save** the view. Device42 displays the agent information for devices discovered by the agent.
334+
- If you want to define a new column view, type a name for the view in the field to the right of the **Table Columns** dropdown and **Save** the view. Device42 displays information for devices discovered by the agent.
333335

334-
### Filtering with Agent Columns
336+
### Filter Devices Using Agent Columns
335337

336338
You can use Agent Version and Agent Last Check-in Date to filter the devices list to look for devices found by specific agents or during certain periods.
337339

@@ -355,7 +357,7 @@ You can use Agent Version and Agent Last Check-in Date to filter the devices lis
355357
}}
356358
/>
357359

358-
- You can also use the agent columns in **Advanced search**. For example, the query below searches for devices discovered with a **Agent Last Check-in Date** less than 365 days ago.
360+
- You can also use the agent columns in **Advanced search**. For example, the query below searches for devices discovered with an **Agent Last Check-in Date** less than 365 days ago.
359361

360362
<ThemedImage
361363
alt="Advanced search"
@@ -364,3 +366,7 @@ You can use Agent Version and Agent Last Check-in Date to filter the devices lis
364366
dark: useBaseUrl('/assets/images/agent-based-discovery/advanced-search-dark.png'),
365367
}}
366368
/>
369+
370+
## Agent Update Behavior
371+
372+
When a new version of the Main Appliance is installed, deployed agents automatically update to the latest version on check-in.

docs/integration/external-integrations/cyberark-integration.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,9 @@ The following note in the UI describes how passwords are retrieved and matched b
8787

8888
> By default, passwords are looked up by name in CyberArk by matching the Password label in Device42. If no label is provided then the username will be matched directly.
8989
You may also customize the Folder or Safe from which the password is retrieved by utilizing the Password Custom fields named Folder and Safe.
90+
91+
### Long and Short Account Names
92+
93+
If your CyberArk account uses a long account name, enter it in the Secret label field for matching purposes.
94+
95+
If your CyberArk account uses a short username, enter it in the Secret username field for the discovery job.

docs/integration/external-integrations/freshservice-integration/customize-freshservice.mdx

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -42,33 +42,30 @@ To get started, download the default mapping XML file and view the current mappi
4242

4343
## The `mapping.xml` File Structure
4444

45-
Open the `mapping.xml` file in a text or code editor to view and edit the data mapping. Version 1.0 of the file has around 6010 lines. There are tasks for syncing data, tasks for syncing the relationships between Device42 CI types (by recreating them between the corresponding Freshservice types), and two cleanup tasks for deleting any assets or asset relationships from Freshservice that do not exist in Device42.
45+
Open the `mapping.xml` file in a text or code editor to view and edit the data mapping; there are tasks for syncing data, tasks for syncing the relationships between Device42 CI types (by recreating them between the corresponding Freshservice types), and cleanup tasks for deleting any assets or asset relationships from Freshservice that do not exist in Device42.
4646

47-
![mapping.xml in VS Code](/assets/images/freshservice-integration/mapping-v1-annotated.png)
47+
![mapping.xml in VS Code](/assets/images/freshservice-integration/mapping-v5-annotated.png)
4848

4949
You can customize the data mapping between Device42 and Freshservice by modifying and adding to these tasks. Refer to [The `mapping.xml` File Tasks](#the-mappingxml-file-tasks) table below for descriptions of the default mapping tasks, types, and their version requirements.
5050

51-
For example, the following `<task>` element copies product information from Device42 to Freshservice:
51+
For example, the following `<task>` element copies software information from Device42 to Freshservice:
5252

5353
<details>
5454
<summary>Click to expand the code block</summary>
5555
```xml
5656
<tasks>
57-
<task enable="true" name="Products" type="product" description="Copy Product info from Device42 to Freshservice" d42_min_version="16.19.00">
57+
<task enable="true" name="Software" type="software" description="Copy Softwares from Device42 to Freshservice using DOQL">
5858
<api>
59-
<target asset-type="Hardware"/>
59+
<target/>
6060
<resource
61-
doql="
62-
select distinct
63-
view_vendor_v1.name as manufacturer,
64-
<!-- ... -->
65-
"
61+
doql="select * from (select trim(name) as name, 'discovered' as software_type, min(view_software_v1.notes) as notes, 'desktop' as application_type, min(last_changed) as last_changed from view_software_v1 group by trim(name)) a"
6662
/>
6763
</api>
68-
<mapping key="name" doql-suffix=" where GREATEST(view_hardware_v2.last_changed, view_vendor_v1.last_changed, view_device_v2.last_changed) >'%s'">
69-
<field resource="name" source-type="string" target="name" target-type="string" max-length="255" escape="true"/>
70-
<field resource="manufacturer" source-type="string" target="manufacturer" target-type="string"
71-
not-null="true" set-space="true" min-length="1" max-length="255"/>
64+
<mapping key="name" source="Softwares" doql-suffix=" where last_changed>'%s'">
65+
<field resource="name" source-type="string" target="name" target-type="string" target-header="General" max-length="255" escape="true"/>
66+
<field resource="notes" source-type="string" target="notes" target-type="string" target-header="General" max-length="2000"/>
67+
<field resource="software_type" source-type="string" target="status" target-type="string" target-header="General"/>
68+
<field resource="application_type" source-type="string" target="application_type" target-header="General"/>
7269
</mapping>
7370
</task>
7471
```
@@ -86,7 +83,7 @@ Let's take a closer look at the attributes and elements of the `<task>` elements
8683

8784
Note that if you turn off a task that has `asset` or `asset_relationship` as its corresponding Freshservice type (for example, devices, business services, and resources in Device42), you'll need to find and remove its corresponding query snippet in the `Delete` cleanup tasks. For an example, see [this answer in the FAQ section](#how-do-i-prevent-a-relationship-between-two-device42-asset-types-from-syncing-to-freshservice).
8885

89-
- `name`: You can edit the task name. Task names appear in the [integration app's **Data Mapping Chart**](#data-mapping-between-device42-and-freshservice).
86+
- `name`: You can edit the task name. Task names appear in the integration app's **Data Mapping Chart**.
9087
- `type`: Holds the [Freshservice classification](https://api.freshservice.com/) of the data. The valid types are:
9188

9289
- `product`
@@ -122,7 +119,7 @@ The `<mapping>` element contains:
122119
Typically, the first `<field>` represents the Device42 data returned from the query put in a field. The second `<field>` element describes the equivalent field in Freshservice.
123120

124121
- `resource`: The same as the `target` value.
125-
- `source-type`: Not functionally critical; this provides the data type displayed on the [integration app's **Data Mapping Chart**](#data-mapping-between-device42-and-freshservice).
122+
- `source-type`: Not functionally critical; this provides the data type displayed on the integration app's **Data Mapping Chart**.
126123
- `target`: The Device42 field to be mapped to Freshservice. The Freshservice convention is to use the display name in snake case, occasionally with the ID of the asset type as a suffix. For example, `memory_max_usage` and `memory_reservation_used`. The sync process determines the ID. Please look up which target field names to use in the [Freshservice API documentation](https://api.freshservice.com/).
127124
- `escape`: This is used on field elements where `target="name"`. Some characters used in Device42 names aren't supported in Freshservice and need to be substituted. When creating a new task, you can set this to `true`, but disable it if mismatching issues occur.
128125

@@ -433,12 +430,10 @@ If you can't find a task related to your custom field, you can create a new `<ta
433430

434431
4. Now it's time to map the custom field to Freshservice. Add a new `<field>` element in the `<mapping>` tag section of the XML file. You'll need to keep Freshservice open and follow the next step to get the exact Freshservice values to use in the new `<field>` element below.
435432

436-
![Add a new field element](/assets/images/freshservice-integration/custom-field-map-code.png)
437-
438433
```xml
439434
<!-- Custom Fields -->
440435
<field resource="cf_name" source-type="string" target="cf_name" target-type="string"
441-
target-header="Server" not-null="true" set-space="true" min-length="1" max-length="255"/>
436+
target-header="Server" min-length="1" max-length="255"/>
442437
<!-- Custom Fields -->
443438
```
444439

@@ -615,7 +610,7 @@ To download the full logs, scroll down and click the **Download Full Log** butto
615610

616611
This section provides specific examples of how to edit the `mapping.xml` file to change the data synced from Device42 to Freshservice.
617612

618-
The line estimates in the examples are based on the default version 1.0 of the `mapping.xml` file and won't match your file exactly if you've customized the sync or used an updated version.
613+
The line estimates in the examples are approximate and may vary based on your mapping file version.
619614

620615
### Example 1: How Can I Stop the Sync From Importing Contracts From Device42 to Freshservice?
621616

@@ -624,7 +619,7 @@ The line estimates in the examples are based on the default version 1.0 of the `
624619
Set the `enable` attribute to `false` on those `<task>` elements:
625620

626621
1. Find the task with the description `Copy contract info from Device42 to Freshservice` (around line `2372`):
627-
622+
628623
![Line 2372](/assets/images/freshservice-integration/example-vscode-4.png)
629624

630625
Change `enable="true"` to `enable="false"`:
@@ -724,7 +719,7 @@ By default, Device42 does not update `asset_state` values in Freshservice (in De
724719

725720
The mapping file includes `<field>` elements with `asset_state` as the target. The `skip-update` attribute is set to `"true"` to prevent the overwriting of values that may trigger Freshservice workflow automations.
726721

727-
If you want Device42 to update `asset_state` values, set `skip-update` to `"false"`. There are three `<field>` elements to update in version 2.0 of the default `mapping.xml` file:
722+
If you want Device42 to update `asset_state` values, set `skip-update` to `"false"`. There are three `<field>` elements to update in the default `mapping.xml` file:
728723

729724
1. Find the attribute on line 493 (for DOQL v2).
730725

126 KB
Loading

0 commit comments

Comments
 (0)