03 Oct 2024 10:52 PM - last edited on 04 Oct 2024 07:46 AM by MaciejNeumann
I have an executable that uses technology that is not deeply monitored (unsupported technology). This program can have hundreds of instances on each host, and would be differentiated by one of it's parameters.
I cannot figure out how to split this process by that parameter. The best I've seen is to use Declarative process grouping, but this requires a detection rule for each specific parameter that is possible. A few hundred in our case and difficult to keep updated. This results in an onerous amount of maintenance. It doesn't allow for naming/splitting process groups by any detected CLI args, only the explicitly configured name provided in the Dyntrace config UI.
I've tried to use `DT_NODE_ID` and `DT_CLUSTER_ID` without luck. I can successfully tag the process group with `DT_CUSTOM_PROP`, but this gets overwritten by whichever process started last and does not help with splitting. That is, it provides the tag, but that tag is later overwritten when another process joins the group. It does tell me that Dynatrace can see 👀 the environment variables, and it just doesn't care to use them for process grouping.
## Example
Processes:
* /path/to/exe -L program1
* /path/to/exe -L program2 -s 1234
* /path/to/exe -L program2 -s abcd
* /path/to/exe -L program3
Process Group Found:
* `/path/to/exe`- just the one is created
Process Groups Expected:
* `program1`
* `program2`
* `program3`
How does one automatically split this process group by either the command line parameters or environment variables, or any other option? Is splitting process groups limited to deep monitored processes only? Any help would be greatly appreciated as I feel like I'm going crazy here trying any and all config permutations.
Solved! Go to Solution.
07 Oct 2024 07:21 AM
@kherring in your case (non-deep monitored processes) you need to use Declarative Process Grouping.
07 Oct 2024 02:40 PM
Just to make sure I understand the limitation - this means there is no way to detect a process group name from a command line parameter or environment variable and each my be explicitly defined, correct? That means in our case we need to define 300+ groups and have a maintenance process to add/delete them as they change.
Assuming this is the case it's quite a burden that I wouldn't have expected to run into.
07 Oct 2024 03:14 PM
Hello @kherring
As advised by @Julius_Loman
You can create declarative process grouping through the attached steps via the UI.
Manage > Settings > Processes and containers > Declarative process grouping.
After configuring detection rules, create the required tagging rules that reflect the PG setup.
KR,
Peter.