cancel
Showing results for 
Search instead for 
Did you mean: 

PI users authetication statistics

javier_alcubilla
Contributor
0 Kudos

Hi colleagues

I'm trying to extract the PI users connecting to a web service exposed and I can't find any option to do that.

Through "Session Management" or "System Performance Statistics" in NWA only can see the user "Guest" requesting the services, not the PI users created for the external requests.

Do you now any way to extract this kind of information?

Thanks in advance

Kind regards

Javi

Accepted Solutions (0)

Answers (1)

Answers (1)

iaki_vila
Active Contributor
0 Kudos

Hi Javier,

What is your PI version?

In PI 7.4 i can see it in this option:

Regards.

javier_alcubilla
Contributor
0 Kudos

Hi Iñaki,

Our version is PI 7.31 SP09. I can see that option but any of our custom interfaces are included in the list to be configured.

We have a scenario SOAP- PI -RFC where different users can connect and we want to know the volume of incoming calls for each user (one user per external consumer)

Thanks for your support

iaki_vila
Active Contributor
0 Kudos

Hi Javier,

You are right. I think that will be an interesting option. The way that i get this requirement is using parties, but i think this is a workaround that it is not interesting for you.

I've just researched and it seems all the monitoring facilities, including the Directory API and AdapterMessageMonitoringVi don't include a user filter, may be because when the PI log authentication is done the user inside the adapter is a PI user.

May be any SCN member had worked with requirement, in my opinion it would be very helpful.

Regards.

former_member184720
Active Contributor
0 Kudos

just a thought -

go to http:// host: port /nwa/logs

Under view->open view -> authentication logs or system logs and traces

show advanced filter

You should be able to apply the filter based on a user ID and date -time. This can be exported and analyzed to get your stats.

I know this is not a straight forward approach and depends on your logging settings.

javier_alcubilla
Contributor
0 Kudos

Thanks Iñaki

I agree with you, some authenticated users monitoring could help in different ways.

Best regards!

iaki_vila
Active Contributor
0 Kudos

Hi Hareesh,

I've just tried your suggestion only for curiosity and i think the main problem is to identify this data with one scenario or communication channel configuration. At least it is a good starting point.

Regards.

former_member184720
Active Contributor
0 Kudos

if i understand Javier's question, he has got one webservice which is being invoked by multiple parties and each of them got a separate user to call it.

If so simply by applying the filter on that username should give enough information.

>>>

If the same user is being used by other interfaces, then i believe this log also captures message ID's.

and then we can extract the interface specific message ID's  from pimon or rwb.

May be we can do a match using excel vlookup  to get exact interface specific stats

As i said, it's not a simple approach but the work around option that i can think of.

javier_alcubilla
Contributor
0 Kudos

Hi Hareesh

Thanks for your sharing, it's a good approach if you need this kind of information in a short time interval.

We are looking for something like a report with users, requests made, etc by month, week, day...

Kind regards!

former_member184720
Active Contributor
0 Kudos

>>>We are looking for something like a report with users, requests made, etc by month, week, day...

If this is regular activity then you might like this

Just add another inbound interface -> flat file with append mode and choose variable substitution for setting the file name.

during the graphical mapping, extract the username using below dynamic configuration UDF

DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "SRemoteUser");

String username = conf.get(key);

return username;

pass this any target field to use it later for variable substitution.

This way you'll have separate file for each user and inside the file you can write whatever the information you want such as date time, message ID, some key value etc.