none
Several questions about .pdb files, advisor config and configuring web service monitoring

    Question

  • Hi,

    Recently we started with Avicode (just some baby steps). We want to use a centralized SCOM environment to monitor applications outside the network and domain. Although we have the agents installed and Avicode working we face some "problems.

    We want to work with the pdb symbol files. We tried many combinations but we are not able to upload succesfully a pdb file and assembly. For example uploading the system.web dll and system.web pdb result in a failure, also our application dll's and pdb's fail to upload.

    Also we have an issue with accessing the Advisor via the browser. The alert is: Please specify Advisor Console address to use this link. Advisor Console address can be set in Options Data tab. But where is this tab located...?

    We want to add a new monitor on a web service, the web server where this web service is located is not part of the network and/or domain and thus is located elsewhere on the internet. When entering the add monitoring wizard there are some options. One of them is to add the asmx file and path for the web service. The only option is a file path to the virtual dir. But we have a server which is located on the internet so we are not able to fill in the directory :-( Or do we do something wrong? Or don't we understand the working of this particular item?

    Furthermore I want to know if it's possible to monitor SOAP web services with Avicode (or SCOM) on valid XML?

    Any help would be appreciated!

     

     

     

    Friday, April 08, 2011 7:05 AM

Answers

  • Snaap,

      could you check if your assembly is viewable in ILDASM/Reflector? 

      With the SOAP, first of all, you won't see XML details in the SEViewer. You will see web service parameters(already extracted from the xml), but not the XML itself.

      If something fails because of the schema, you will see an error message in the SEViewer. Still, that does not mean you will see the XML:

    "System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document.."

      You may be able to extract XML using AVIcode. For instance, AVIcode allows you to implement custom instrumentation. However.. it's not a trivial task.. That functionality is described in the manuals, but, as Graham has pointed out in another thread, the manuals can be somewhat confusing.  


    Alex Shlega, GotchaHunter.Net
    • Marked as answer by Snaap Thursday, April 21, 2011 2:03 PM
    Tuesday, April 12, 2011 1:32 PM

All replies

  • Hi,

     

      I am not sure about the PDB issue. If you are using SEViewer to upload PDB-s and you see an error of some sort, could you post error message here?

     To specify Advisor address, open SEViewer in the Internet Explorer, and choose "tools" SEViewer menu(not browser menu). Go to"Options" there, switch to "data" tab. That's where you can specify "Advisor console address".

      I am not completely clear on the web service question. Which screen are you talking about? If it is a "transactions" screen (Where you can add a web page, a web service, or a function), then you have two options:

    a) You can skip that screen (all web service methods will be monitored according to the settings you specify for the service)

    b) You can still provide a virtual path(that's not a file path, and the virtual path is relative to the IIS server where your service is hosted)

      As to the SOAP. You can monitor any .NET web service. If something fails inside the service, you should be able to see an exception. I'm not sure you'll see SOAP data  in the out of the box configuration - I don't think so, but I'll check it.

     

     

     

     


    Alex Shlega, GotchaHunter.Net
    Friday, April 08, 2011 11:07 AM
  • Thanks Alex!

    The error message regarding the pdb and dll management (done indeed by SEViewer) is: The assembly file C:\blablablabla\blablabla.dll is invalid.

    Regarding the settings for advisor... I missed this dropdown menu completely...

    Regarding the web service question, you're totally in the right direction. I'll try this settings, thanks for that one!

    What I want to establish with SOAP monitoring is monitoring from a developer perspective. I want to do a SOAP request and check if it returns XML (and validate it against a schema). We have developed a tool for this but now we want to include this kind of monitoring into SCOM/Avicode so the tool can be removed. In case there is no OOTB configuration, do you have any idea how we can accomplish this SOAP thingy?

    Thanks for your answers!

     

    Monday, April 11, 2011 11:31 AM
  • Snaap,

      could you check if your assembly is viewable in ILDASM/Reflector? 

      With the SOAP, first of all, you won't see XML details in the SEViewer. You will see web service parameters(already extracted from the xml), but not the XML itself.

      If something fails because of the schema, you will see an error message in the SEViewer. Still, that does not mean you will see the XML:

    "System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document.."

      You may be able to extract XML using AVIcode. For instance, AVIcode allows you to implement custom instrumentation. However.. it's not a trivial task.. That functionality is described in the manuals, but, as Graham has pointed out in another thread, the manuals can be somewhat confusing.  


    Alex Shlega, GotchaHunter.Net
    • Marked as answer by Snaap Thursday, April 21, 2011 2:03 PM
    Tuesday, April 12, 2011 1:32 PM
  • Thanks Alex!

     

    The assembly is viewable with ILDASM (all assemblies are). For example, I tried system.web.dll in C:\Windows\Microsoft.NET\Framework\v4.0.30319 and I tried a custom build dll which is used in an application. All of them generate the error.

    That custom instrumentation thing, is that the custom action /custom producer API?

     Thanks again for your answers.

    Friday, April 15, 2011 6:37 AM
  • I think I know what's the problem with PDB.. SEViewer app pool is configured to run under .NET 2.0 by default; however, I just got the same failure trying to upload an assembly built for 4.0. I guess 2.0 does not understand 4.0 assemblies. 

    The problem is that I could not make SEViewer run under 4.0 immediately, so I'll look into that a bit later.

    In the meantime, you might try to put those PDB files on the application servers next to the corresponding dll-s. Actually, that was the only solution in the earlier versions, and SEVIewer got its PDB storage in one of the 5.X versions only. It should still work on the agent side, though, since there will be no FW incompatibility.

    PS. Yes, I meant custom producer API.

     

     


    Alex Shlega, GotchaHunter.Net
    Friday, April 15, 2011 4:21 PM
  • Hi Alex,

     

    Thanks for you reaction!

     

    I tried to put one PDB file (custom code dll) onto the app. server next to the corresponding (custom code) dll. The SEViewer still says I have to upload/install pdb's.  Also we checked the uploads, although the error message which says the assembly file is invalid still shows up, there is a GUID created after uploading in the following folder: C:\Program Files (x86)\AVIcode\Intercept\SEViewer\Database\PDBStorage\ with GUID: 2b640890-5214-42c9-b9f4-6adead616e1d

    I'm willing to put more PDB's onto the app. server, but I'm wondering if I have to put the system.web.pdb for example into the GAC (C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll, 4.0.0.0)

    Jaap

     

    Thursday, April 21, 2011 2:03 PM
  • Hi,

      as to the GUID, I think SEViewer uploads the assembly before trying to verify it (that would the easiest solution.. it has to have the assembly stored locally before it can open that assembly). That's why you see it in the PDB Storage.

      I tried server-side pdb-s with FW 4.0, though, and it definitely works. Could you recompile your dll and pdb and put those files to the server again? This functionality is really sensitive to even the tiniest difference between build dates, version numbers, etc. You have to build your dll and pdb simultaneously to make sure they correspond to each other.

    PS. Try it with your own assemblies first. Because of those timestamp/version number differences, I think it may be even worse with system.web.pdb.

     


    Alex Shlega, GotchaHunter.Net
    Thursday, April 21, 2011 2:31 PM
  • Was this issue resolved? I am having same problem. When I try to upload dll and PDB, I get message stating "Assembly file xxxxx.dll is invalid". Please note that the assemblies are gaced. i am running AVICODE 5.7. I have an upcomimg demo for adoption hence it is important that I am can show the power of avicode.

    Thank you,

    Joyjeet 

    Friday, March 02, 2012 12:29 AM