cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Challenge to customize the names of process groups

Babar_Qayyum
Leader

Dear All,

I am facing a challenge while renaming processes groups. I tried both manual and naming rules methods but with no success.

In the below screenshot (the latest screenshot after applying the 2 naming rules, 1 for int web servers and 1 for ext web servers), you can see that hostnames are different. 2 hosts starting with the http (internal web servers) and 4 hosts starting with the rolh (external web servers).

If I change the process group name to ext/int web servers' it applies to all processes groups instead of the relevant host processes.

Regards,

Babar

15 REPLIES 15

paco_porro
Newcomer

Hi,

Probably you need to approach using different host groups , this way Dynatrace will separate in different process groups and from here you can start to apply renaming rules.

Another thing you can try is "Process group detection rules" to separate process groups.

Regards,

Paco


Hello @Paco A.

Thank you for your comments.

Please elaborate a little more the point number one, which I totally could not understand.

These are Apache processes, and all are 100% similar. Detection rules are not going to make any difference, in my opinion.

Regards,

Babar

@Babar Q.
Process groups may be hard to finetune if the detection fails in your case. You have two rules:

- detection rules - define processes that would make a process group
- naming rules - defined naming for detected process groups.

If in a process group you have processes (web servers in your case) from different "clusters", then you need to use detection rules to separate the process groups.

If you want to rename an existing process group, you can use the naming rules, or manually change the name in the process group setting for a particular one. All process group instances from this process groups will be renamed.

I guess in your case, you need process group detection rule. It depends on your environment, but most likely you can differentiate those either on a process property / command line arguments, etc. If you cannot differentiate those on any property, you can always add a new environments property (DT_CLUSTER_ID / DT_NODE_ID) to separate it.

TEMPEST a.s., Slovakia, Dynatrace Master Partner

Hello @Július L.

Thank you for your comments.

As you can see that properties and command line args are the same for both Ext/Int web servers. There is nothing to use detection process rule to distinguish them (if my understanding is correct).



As I mentioned in my starting comments, manual, or automatic renaming applying to all process groups (external and internal).

Do you think that now I left only with the new environment property (DT_CLUSTER_ID / DT_NODE_ID) to separate it?

Regards,

Babar

Apart from what you can see, there still might be an environment variable (not visible in the process properties) you can use in process group detection rule.

Or you can introduce DT_CLUSTER_ID and DT_NODE_ID and set the process group name directly. I can see you are using IHS (apache). In a typical deployment, you should put those variables in the envvars file in the IHS directory. (Your case might still be different).

TEMPEST a.s., Slovakia, Dynatrace Master Partner

Your problem now is that all process seems to be detected under same process group, so any process group naming applies to all the processes. So you need 1st to separate those processes in different process group and once you have it separated you can apply process group naming.

You have 2 different strategies.

  • Are those processes running in different servers? - Then using HostGroup+Process group naming would help.

Host groups affect how process groups are detected. When the same process is running in two different host groups, Dynatrace will create one process group for each host group.

  • Are those processes different in same way (different Apache path, exe path, whatever ...) ? If so, you can use "Process group detection rules" to have different process group. Of course you're right, if those are 100% identical this approach won't help.

Hope this help.

regards,

Paco

Hello @Paco Porro A.

I used the combination of host groups + process groups but no luck. Yes, they distributed between different host groups.

Everything is the same, including Exec name, Exac path, Command line args, etc.

Regards,

Babar

So, now you have those Http servers running in hosts with different Host Groups. Did you restarted Apache after splitting hosts in different hosts?

Hello @Paco Porro A.

Apologies in advance if I could not understand your point correctly. Do you mean restart after the logical naming of process groups?

Regards,

Babar

Ei @Babar Q. I think the general picture is this:

0. set up host group on each host: ex. (cluster_prod_ext | cluster_prod_rolh)

1. restart the ext/rol processes so they can split/regrouped correctly in two process groups (they will still be called the same: "Standard Detected Name" )

2. go in the settings and do a process group naming rule per host group (where you will be able to name process group based on host groups)

3. the single istances processes will still be called "Standard Detected Name that you cannot change based on metadata": only way you can force a different name on those istances is the DT_NODE_ID property.

3.1 if you want to skip step 0, 1, 2 you do the @Július L. solution.
You set up for example:


DT_CLUSTER_ID =cluster_prod_ext
DT_NODE_ID=ext_ws1

DT_CLUSTER_ID =cluster_prod_ext
DT_NODE_ID=ext_ws2


and when you are done you restart the process (apache) and you are good to go. Oneagent > Dynatrace will automatically group and read the new entities based on those data.

Good Luck

Hello @Yann B.

Thank you for your comments.

We have tried all the options and now going to perform the following as well which is earlier suggested by @Július L.

DT_CLUSTER_ID =cluster_prod_ext
DT_NODE_ID=ext_ws1

DT_CLUSTER_ID =cluster_prod_ext
DT_NODE_ID=ext_ws2

Regards,

Babar

Lukasz_Wrona
Dynatrace Advisor
Dynatrace Advisor

Hi.

If you have successfully split the PG using host groups, you can specify the name for the new groups directly in PG settings. Same will be available if you split the PG using DT_CLUSTER_ID, though I would recommend avoiding that approach in favor of Host Groups or Process Group Detection rules (next paragraph).

Note, that as long as you are able to modify the environments of monitored applications, you can than use the Process Group Detection rules, to split the PG based on the new environment variable.

Please note, that you might have to split the PG in order to achieve different naming schemas, as single PG will obviously have one name. To the best of my knowledge, we don't have advanced naming configuration for individual PGIs - the names are inherited from the PG. However, depending on why different PGI names are needed, it might be possible to achieve similar results without changing the PGI names. If this is for purpose of charting or filtering, you can explore tagging rules (which may be applied to individual PGIs) and than filter based on that - https://www.dynatrace.com/support/help/how-to-use-dynatrace/tags-and-metadata/ .

Hello @Lukasz W.

Thank you for your opinion. Just before answering your comments, I wanted to share that these are SUN Solaris hosts and there are also a few limittions for this platform including the host grouping, etc.

IIf you have successfully split the PG using host groups, you can specify the name for the new groups directly in PG settings. Same will be available if you split the PG using DT_CLUSTER_ID, though I would recommend avoiding that approach in favor of Host Groups or Process Group Detection rules (next paragraph).

  • Yes. I did the logical host grouping through tagging e.g. External Hosts and Internal Hosts.

Note, that as long as you are able to modify the environments of monitored applications, you can than use the Process Group Detection rules, to split the PG based on the new environment variable.

  • There is nothing to distinguish between the External and Internal processes group using the detection rules.

Please note, that you might have to split the PG in order to achieve different naming schemas, as single PG will obviously have one name. To the best of my knowledge, we don't have advanced naming configuration for individual PGIs - the names are inherited from the PG. However, depending on why different PGI names are needed, it might be possible to achieve similar results without changing the PGI names. If this is for purpose of charting or filtering, you can explore tagging rules (which may be applied to individual PGIs) and than filter based on that - https://www.dynatrace.com/support/help/how-to-use-dynatrace/tags-and-metadata/ .

  • The ultimate goal is to represent the External and Internal process groups differently with the proper naming rules. Later on the same can be used for alerting purposes and charting etc as well.

Regards,

Babar

Focusing on Solaris moves us a bit out of my area, but lets continue from general Dynatrace knowledge.

First, please let me make sure, that we understand the difference between Process Group (PG) and process group instance (PGI). Process Group is a cross-host entity, grouping processes based on multiple criteria - technological, functional, user-configured, etc. Process Group Instance (PGI) is - as a simplification - instance of PG on given host. To the best of my understanding, the screen pasted in opening post is part of PG screen, that lists PGIs in that PG.

Now, a PGI name is constructed based on PG name and some technology specific suffixes. In most cases - most likely including yours - the PGI name will be equal to PG name. This is why in order to achieve different PGI names, the recommendations from Paco, Julius and me were to have them in different PGs, which can be achieved in many ways.

Now, if you are using standalone agents (since this is Solaris), the host group functionality is not available. "logical host grouping through tagging" will not lead to creation of separate PGs. Therefore we must go back to the env-variable based solution. But that requires changing the environment of application, so if you are able to modify the environment of applications, you might as well add something that will allow Process Group Detection rules to split the PG.

Moreover, while I can't guarantee it will work here, technically the PGI name I have described earlier is PG name extended with Node name. This means, that setting only the DT_NODE_ID (without DT_CLUSTER_ID) might allow to have different PGI names without splitting the PG. If not, than please use DT_CLUSTER_ID to split the PG.

Hello @Lukasz W.

Once again thank you for your comments. Yes, in the end, we are going to check the below methodology.

  • DT_HOME=/opt/dynatrace/oneagent
  • export DT_HOME
  • LD_PRELOAD_64=$DT_HOME/agent/lib64/liboneagentproc.so
  • export LD_PRELOAD_64
  • LD_PRELOAD=$DT_HOME/agent/lib/liboneagentproc.so
  • export LD_PRELOAD
  • export DT_CLUSTER_ID=Ext_Web_Servers
  • export DT_NODE_ID=process_no01

Regards,

Babar