DETAILED FEATURE REVIEW - BIZTALK 360 BIZTALK MONITORING PRODUCT AN EFFICIENT WAY TO MONITOR YOUR BIZTALK ENVIRONMENTS
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
BizTalk 360 BizTalk Monitoring Product An efficient way to monitor your BizTalk Environments Detailed Feature Review (C) Paul Somers Page 1
Contents Introduction ............................................................................................................................... 4 Author ........................................................................................................................................ 4 Security & Audit ......................................................................................................................... 5 User Access Policies................................................................................................................ 5 Reality: ................................................................................................................................ 5 Operational Governance & Auditing ...................................................................................... 5 Reality: ................................................................................................................................ 5 Avoid direct RDP access to Servers ........................................................................................ 6 Reality: ................................................................................................................................ 6 Avoid direct access to Databases ........................................................................................... 6 Reality: ................................................................................................................................ 6 Operations ................................................................................................................................. 7 Productivity Tools ................................................................................................................... 7 Advance Event Viewer ........................................................................................................... 7 Reality: ................................................................................................................................ 7 Integrated Knowledge base ................................................................................................... 7 Reality: ................................................................................................................................ 7 Search Design time artifacts................................................................................................... 8 Reality: ................................................................................................................................ 8 See what's running inside your Host ...................................................................................... 8 Reality: ................................................................................................................................ 8 Graphical Message Flow Viewer ............................................................................................ 9 Reality: ................................................................................................................................ 9 Message Box Viewer (Integration) ......................................................................................... 9 Reality: ................................................................................................................................ 9 Backup/DR Visualizer ............................................................................................................. 9 Reality: ................................................................................................................................ 9 Throttling Analyser ............................................................................................................... 10 Reality: .............................................................................................................................. 10 Tracking Manager................................................................................................................. 10 Reality ............................................................................................................................... 10 Data in One place ..................................................................................................................... 11 (C) Paul Somers Page 2
Message Box & Tracking Data .............................................................................................. 11 Reality: .............................................................................................................................. 11 BAM Portal ........................................................................................................................... 11 Reality: .............................................................................................................................. 11 ESB Portal ............................................................................................................................. 11 Reality: .............................................................................................................................. 11 Any SQL Data ........................................................................................................................ 12 Reality: .............................................................................................................................. 12 Business Rules ...................................................................................................................... 12 Reality: .............................................................................................................................. 12 Monitoring ............................................................................................................................... 13 BizTalk Applications Monitoring .......................................................................................... 13 BizTalk/SQL Servers Monitoring ........................................................................................... 13 Reality: .............................................................................................................................. 14 Health Roll Up for BizTalk Deployment ............................................................................ 15 Valid Scenarios ......................................................................................................................... 16 Summary .................................................................................................................................. 17 (C) Paul Somers Page 3
Introduction This is a review, based on the features, listed on the BizTalk 360 website, and documentation about what BizTalk 360 actually does. We will go through each of the features and provide a Reality version of what it really means, does and delivers. Whilst we do know the author of BizTalk 360, and for all purposes he is a good guy, and has put a large degree of effort into BizTalk 360, as if you have no monitoring of BizTalk, we all know it’s not going to be a happy BizTalk installation in a very short amount of time. You need to monitor, you need to watch, and you need to be proactive. If you architect your BizTalk solution property many of the tried and failed methods will not catch you, it comes from this point that you can make the right decisions to make your deployment enterprise grade. Sadly not everyone does this, and many inherit what some 3rd party decided was a good thing to do, and turned out not to be the best practice or anything close to it. I do see this often. In BizTalk there are always 1000 different ways to implement your solution, given the scenario and requirements there are about 1-2 of these that will work for you. When you add the need to actually monitor this going forward, and see not just what is not working, but what is, and how much, how long it is taking and what transactions are flowing. At the end of the day you will need to formulate your own opinion and view of the product if it fits into your rollout of BizTalk. There are valid reasons to use this product, but make sure you don’t do things twice or cut corners. Author The author of this document is Paul Somers, a seasoned BizTalk Specialist with over 14 years experience of BizTalk. Deep ties to the product development of BizTalk as an enterprise product as well as the new BizTalk services in Azure, more to come soon.... Having been involved in some of the largest and most complex BizTalk implementations across the world, if there is anything you need to do with BizTalk, the foundation, basis and architecture behind this, may have already been done by Paul. The main rules of thumb with BizTalk, there are 1000 different ways to do anything in BizTalk, there are only a few that fit both your scenario and objectives. If you have done it wrong the first few times you learn, if you have worked many, many, many BizTalk implementations you learn what works and more importantly what doesn’t. It’s this knowledge you can’t just place an order for, it’s this knowledge that gets you a successful BizTalk implementation first time round. If you have any feedback or follow up questions about BizTalk: paul@somers.com or paulsomers.blogspot.com (C) Paul Somers Page 4
Security & Audit User Access Policies Define your own rules; you are not restricted just to the standard "BizTalk Administrator" or "BizTalk Operators" groups. Reality: Yes you can define your own rules/access, based on an BizTalk Application specific architecture. This is good; it does depend on your solution/architecture. If you made shared, service bus applications, that other applications can call, or your application structure was more of a shared global structure, where function themes made up the applications, rather than end point systems. It is dependent on you setting up the application structure to suite, but if you did anything shared, one user would have access to other applications transactions, not necessarily the ones they are supposed to be looking at. I don’t know a single environment where there was not shared application(s) that others didn’t use/send requests to and get responses from. The transactions on share applications have no ability to limit what they can see, and it’s next to near impossible to do this in this context. Operational Governance & Auditing Track all your support people activities, "Sam restarted Receive Location at 10:45 am". Reality: Yes, this is fantastic; it’s really good to see, I wish the admin tool had this, in a test or staging environment where many people will be getting on the box and messing around it’s a real problem. The reality is, they would most likely also have access to the admin console here, even RDP to the box, I don’t like it, and really am against people RDP’ing and making changes, but you can make changes in BizTalk, and have them tracked, but if they change a config file or other setting on the actual box, this is not recorded. There is the event log, who logged in, what bad things happened after this, and it’s all audited, you will be found out, but rather than who did what, don’t do it, or fix it right away. In production, no one will be messing around only one or two people would even have access to do this, as BizTalk administrators are usually a very limited group. This does not track a config file change, again the event log, will track a log on to the machine, and if really needed, and you can pull this up. To audit here is valuable but when it’s only one or two people is it necessary/useful? (C) Paul Somers Page 5
Avoid direct RDP access to Servers Support team has access to all the resources directly via BizTalk360 web console, eliminating physical access to servers. Reality: Yes, it does. You should not RDP to the box in any event. The BizTalk administration console can, and is often run from the operations people’s machine, and points to the various environments, and they do not RDP, they can do everything from here. There is also the BizTalk Operators Group, which provides limited access to BizTalk, again users in this group would not even have RDP access, but can see what’s happening, and have limited abilities. Avoid direct access to Databases Your DBA's will love this feature! BizTalk360 allows support team to store and execute queries directly from its web console in a secure way. Reality: It does do this. The ability, or even querying the BizTalk databases, should never be done, these databases run BizTalk, and all the crucial stuff is exposed via the performance counters, such as spool size. Every single BizTalk host is querying the message box every 500 ms for work, you do not just run a adhoc query here. DBA’s will hate this, as they don’t want users and they don’t want anything that’s not supported querying the databases, BizTalk 360, allows someone to create adhoc Queries, which a DBA has no say in, and could do not great things.... do you want to have to deal with the fallout from this? In any event direct access to the database is NEVER required, NEVER granted, and NEVER done. BizTalk manages itself. (C) Paul Somers Page 6
Operations Productivity Tools Advance Event Viewer The standard windows event viewer is not good for diagnosing BizTalk problems, especially when you have environments with 2 or more BizTalk servers. Correlating events between servers is tiring work. BizTalk360 comes with advanced event viewer designed to make your diagnosing capabilities super productive. Reality: Very true, your BizTalk environment usually has several machines, with events firing all over the place, it’s a total pain if you have to go look through all of these manually. So it does this quite well. Any operations product you have will also do this, such as Microsoft System Center Operations Manager, which are usually there already monitoring the very system you are probably using BizTalk to interface with. If you do not have such a system, then you will need one, BizTalk 360 is a cheaper option, and will do the job. However not to state the obvious, what is monitoring those other systems that BizTalk is probably talking to? You are going to need an enterprise grade monitoring system; BizTalk 360 is not this system. When you do move to such a system, there are countless WMI events BizTalk exposes and raises, countless performance counters, and all of those many event logs, they will all get sucked up into this. See further on about this under monitoring. Integrated Knowledge base There will always be some known problems during your day-to-day support. Example: Contoso Inc occasionally sends email with some junk ASCII characters that breaks. BizTalk360 helps to associate KB articles with error codes, when the same issue happens next time you'll see the associated KB avoiding to diagnose the problem from scratch. Reality: This is crucial, you need to have common repository, other than Google, to help you help yourself. If you don’t happen to have a documents portal like SharePoint, or office 365 which can do this as well, then BizTalk 360 is what will help you do this. Saying that a L:\ drive on the network will also work. (C) Paul Somers Page 7
Search Design time artifacts Do you have 100's of applications, send ports, receive locations, orchestrations etc and managing them gets challenging? BizTalk360 rich design time artifact search can help to discover and take action on them instantly. Reality: This is a real thing that occurs, you end up with 100’s of these, in several applications, all doing their thing, generally they don’t change unless you have a deployment occurring, but it would be good to document these, and know what’s what, and also be able to search who is using a certain port. Which host runs which orchestrations, etc. The great person (Jason B) who originally made the BizTalk Documenter (https://biztalk2013documenter.codeplex.com) and the people who have maintained it over the years already thought of this, and with each deployment, a fresh profile can be generated, stored in your KB repository, and enabled you to create a .CHM file with hyper links, to click on a port, host, orchestration and see what’s what, even view the actual orchestration, map, schema in full detail, stepping into the code within these. Much more than BizTalk 360 provides, but this is very valuable information either way. See what's running inside your Host Host is a logical container. Great! But do you know what's configured to run inside the host, it will take couple of hours for you to figure out using BizTalk administration console. BizTalk360 host container view makes it piece of cake. Reality: This is really neat, and works, the BizTalk Admin console does not allow you to filter on what’s configured, just what’s running in a host, this can be very useful. You don’t get to view what configured to run in your host anywhere other than the BizTalk Documenter, which you would have run as part of a deployment/KB creation. You can of course use the BizTalk Management console to run many more queries even more complex queries against what’s really happening in your environment, by host, application, service, status… etc. (C) Paul Somers Page 8
Graphical Message Flow Viewer How does a message travel from "A" to "B" inside our BizTalk environment? Well you need to ask Mr.Joe who is our BizTalk expert. You don't need Mr.Joe to tell you that information, BizTalk360 graphical message flow viewer will visualize your message flow in your environment without any custom coding. Reality: Personally this is one of the best features of BizTalk 360, its great, to graphically go into the tracking database, see what called what, where did the message go, and get to the level of detail it provides, hats off to the developers of that. We do have this via message flow of any message, and you can follow it, but nothing like what’s available here. It’s a really good feature and a pretty Picture... Message Box Viewer (Integration) MBV comes with 400+ rules that validates various things in your BizTalk environment and reports whether your environment is in a healthy state or needs some attention. MBV is fully integrated into BizTalk360, you can schedule to run MBV on a periodic way and see the reports directly in the UI, in addition you can also set alerts based on MBV reports.. Reality: Yes it does, much the same as the BizTalk best practices analyser, you can’t click on them to tell you want to do yet... it’s neat, it gives you a lot of detail..... In reality no environment would “NOT” have some detail here. Every environment is different, and you can strive for best practices, but sometimes it’s not needed. It would be good to ignore some of these. It’s neat, the only problem is this run’s against the message box database, a whole bunch of queries, and it does this on schedule, as frequently as you configure it. This is not a database you want to be running this level of detailed queries against in a production environment. Backup/DR Visualizer The only supported way of doing backup and DR in BizTalk server environment is by using the standard SQL jobs and log shipping capabilities. BizTalk360 provides a single page visualizer to check the health of your backup/DR configuration. Reality: This looks at the SQL Agent jobs, when they were last run, and what the outcome was. It’s very important to set this up, and configure it. This does provide you the ability to monitor this. Any operations monitoring product worth its money will also be able to do this, if you don’t have one yet, you WILL need one, and BizTalk 360 will do this for BizTalk events. What about every other event? (C) Paul Somers Page 9
Throttling Analyser No one understands Throttling!! you need a super BizTalk expert to understand various throttling counters and make sense of the values it displays. BizTalk360 comes with a simple dashboard to understand your environment throttling conditions. You don't need to be an expert. Reality: This didn’t work for me, I had throttling, but the dashboard didn’t display them correctly, I had to drill down to the host, and then it didn’t display it very well.... Throttling is something that VERY difficult to see, diagnose, and fix, you will need a BizTalk expert somewhere here to do this. Personally I create BAM profiles, to record timing, what’s taking a long time, which parts of the process, usually a 300 second delay is a throttle, and throttling is not a bad thing, it’s more where its making your request response request take 610 seconds because 600 of those seconds was a throttling delay. The more you drill into what really happening in your environment, the more you will see BAM is the master of this kind of report, and much much more..... Tracking Manager You track information at various places - pipelines, orchestrations, schemas, global tracking etc. Tracking manager from BizTalk360 helps to visualize all these data in a single page at application level, making you super productive. Reality Yes it does this on an application by application basis, however not on the whole. Whereas the BizTalk admin console already does all of this, and more. Filter for tracked message events, and tracked service events. Where host name is x, or service name is y, none of this is possible in BizTalk 360, and kind of redundant. You can see much much more inside the BizTalk admin console, you cannot see much in here at all. (C) Paul Somers Page 10
Data in One place Message Box & Tracking Data Access your runtime and tracked data directly from BizTalk360 web console with rich query builder. You can also save and open queries centrally. Reality: You can query the message box, and you can kind of... see the tracking data, these queries run directly against the message box, the support of running queries like this, is questionable, consult Microsoft if they support this occurring. Ask you DBA if they are comfortable with queries being run directly against the BizTalk Databases? There is a supported method, the BizTalk Administration console which can do this. There is the BizTalk Operator role/Group which provides restricted access to be able to do this as well. BAM Portal Your support team can view data stored in BAM activities and views directly via BizTalk360. Reality: It provides the BAM views; it removes and bypasses all security of these. Enabling ANYONE the ability to view any BAM view. You typically create a bunch of views, they are then limited to certain user groups, and some can contain confidential information, security here is crucial. There are also views with aggregations. I admit a separate product, of the better BAM portal is needed, as the one in the box is very outdated. However when you realize, maybe reporting services and SharePoint can also display the same data/view in more of a dashboard context, then you can see the real power behind BAM. People generally use the BAM data to create that customer facing branded view of what’s happening, customized to their requirements, drive reporting to customers/clients of their view of the world. BizTalk 360 is not great here. ESB Portal If you are using ESB Toolkit exception capabilities, you can access the ESB exception data directly via BizTalk360. Reality: Whilst the ESB Portal has been removed from BizTalk, it’s not a direct install, you can get it going but it’s a pain. This does SOME of this, and not as nice as the ESB Portal, so if you are using the ESB framework, MAKE SURE you are using it for the right reason, and know the pain you are about to endure, it better be worth it. This is one way of seeing that valuable exception data that can get logged as a fault to the ESB databases. (C) Paul Somers Page 11
Any SQL Data Any custom SQL query can be saved and executed via BizTalk360 directly. No need to have access to SQL management studio. Reality: Yes you can do this it works, some of the out of the box queries are nice, some of them are already available via the Performance counters, and a query is perhaps not the best of ideas. If you need to get to the point of running custom queries, your DBA better be VERY aware of these, and perhaps a more reporting nature of recording these queries, such as reporting services or SharePoint would be a better option than adhoc queries…. Business Rules Access all your BRE policies, Rules, Conditions and Actions all within BizTalk360 web interface. Reality: If you are using business rules, it’s important to know what rules you have deployed, what rules are in operation, and no one should be going into rules composer to check this in production. It’s a useful feature to see this. However these rules are not changing often, as in every hour? Maybe on each deployment they change, but it’s a change event. Part of the BizTalk Documenter (https://biztalk2013documenter.codeplex.com), is to document all of the Rules in the rules engine. (C) Paul Somers Page 12
Monitoring BizTalk Applications Monitoring Receive Locations Monitor Receive locations states (enabled, disabled). Send Ports Monitor send port states (started, stopped, enlisted etc). Orchestrations Monitor Orchestration states (started, Stopped, Enlised, etc). Service Instances Monitor Service Instances state (Suspended, Active, Dehydrated etc). BizTalk/SQL Servers Monitoring Disks Make sure your disks are healthy (% free space). Event Logs Keep an eye on various event log alerts. NT Services Make sure NT services are in correct state (started, stopped etc). CPU/Memory Keep an eye on CPU (Max utilization) and Memory ( % free). BizTalk Host Instances Monitor BizTalk Host Instances including clusters. Web End-Points Monitor HTTP/SOAP/REST end points for expected return codes. Message Box Viewer Statistics Ensure Message Box Viewer reports are healthy. Get alerted if there are too many critical errors reported by MBV. Database Queries SQL queries that return scalar values can be monitored. Ex: Depth of the spool table, count > 100 : warning, count> 500 : error. SQL Jobs State Monitor state of SQL Jobs a for healthy BizTalk environments. SQL Jobs Errors BizTalk360 alerts when configured jobs doesn't execute as expected and results in errors. (C) Paul Somers Page 13
Reality: If you think you can get away with not monitoring all of this, then you are not thinking correctly. You need to monitor all of this. BizTalk 360 can do this. Any operations product you have will also do this, such as Microsoft System Center Operations Manager, which is usually there already monitoring the very systems you are probably using BizTalk to interface with. If you do not have such a system, then you will need one, BizTalk 360 is a cheaper option, and will do the job. However not to state the obvious, what is monitoring those other systems that BizTalk is perhaps accessing? You are going to need an enterprise grade monitoring system; BizTalk 360 is not this system. That will also monitor BizTalk to provide the ONE view. As a window into other products about what they monitor, pretty much everything that BizTalk 360 does, and more. Microsoft System Center Operations Manager 2007 R2 or 2012 R2 The BizTalk Server Management Pack discovers the object types described in the following table. (http://www.microsoft.com/en-au/download/details.aspx?id=39617) Name Category Object Type BizTalkGroup Logical entity Application view objects BizTalkHost Logical entity Application view objects BizTalkApplication Logical entity Application view objects ApplicationArtifact Logical entity Application view objects HostedApplicationArtifact Logical entity Application view objects ReceivePort Application artifact Application view objects ReceiveLocation Application artifact Application view objects Orchestration Application artifact Application view objects SendPort Application artifact Application view objects SendPortGroup Application artifact Application view objects BizTalkGroupDeployment System.Service Deployment View objects BizTalkInstallation Windows.SoftwareInstallation Deployment View objects (C) Paul Somers Page 14
Name Category Object Type ServerRole Windows.ComputerRole Deployment View objects BiztalkRuntimeRole ServerRole Deployment View objects RulesEngineRole BizTalkServerRole Deployment View objects BAMRole Logical entity Deployment View objects BAMRuntime Logical entity Deployment View objects BAMAnalysis Logical entity Deployment View objects BAMAlerts Logical entity Deployment View objects BAMPortal Web site Deployment View objects BizTalkApplicationService Windows.ApplicationComponent Deployment View objects BizTalkHostDeployment Logical entity Deployment View objects Health Roll Up for BizTalk Deployment The following diagram shows how the health states of BizTalk Server deployment rolls up in this management pack. (C) Paul Somers Page 15
Valid Scenarios There are some valid scenarios for using parts of BizTalk 360 and an enterprise monitoring solution. 1. The monitoring side should ideally be handled by an enterprise monitoring solution/product, if you do not have one of these, this can provide the stop gap until you get one and are up and running, so as you don’t delay the deployment of BizTalk to production. 2. If you production environment is totally isolated, in that your support staff do not have access from their machines to access the environment via a one way domain trust even, this would prevent them from being able to run any local management consoles pointing at the BizTalk servers. In this scenario, the management abilities of applications hosts, orchestrations and ports would come in handy. The BizTalk 360 website would need to be exposed however, along with the BAM Portal website. It is a website, and via the magic of firewall rules, you could expose this. However if they are willing to expose a website they might via the same firewall rules, be able to expose more, it does depend on the location of your environment, if it is over the web, there is also ssl vpn that would also enable you to get a secure link to your prod environment. While you are working all of this out, as your lay administrator person might struggle with this, this again becomes a viable option. 3. You have too much money, and/or are too lazy. If you absolutely need to have it, and can’t be bothered trying to figure out how to configure your operations management/monitoring tool, spend the money, I don’t control your budget you do. At the end of the day you need to be monitoring BizTalk, and this does do that. If you are not monitoring BizTalk.... you are running an environment at your own risk, add that to the risk register of your project, development 100% complete, go Live, 100% risk factor of ultimate failure... not a great situation to be in. Please sort it out. (C) Paul Somers Page 16
Summary BizTalk 360 does work, it does provide a viable interface to BizTalk, it looks pretty has some nice features. If you are NOT monitoring BizTalk, then you need to, and this will do that. There is a whole bunch of other functionality that comes with the product, that there are already existing parts of BizTalk that perform these tasks, and in many ways are better. Some of the functionality is not such a good thing for a production BizTalk Environment, such as adhoc SQL queries against the databases in production. This is never a good idea. There is a wealth of detail and information you can gather from simply architecting your solution in BizTalk correctly, and utilizing BAM to gather all of this very valuable information. If you are NOT using BAM, then you need to, I will not pull any punches, if you are not using it, you really have no idea, quite literally, of your own environment, transactions, volumes response times, individual process detail and throughput. Once you have all of this in place, you will need to monitor the solution for health; the monitoring part of BizTalk 360 does this. However the question is always asked what are you using to monitor all of your other systems? If you don’t have one then you will need one. But that, as any operations monitoring product WILL/MUST/SHOULD be able to monitor BizTalk, given the countless performance counters, and WMI methods that BizTalk exposes out of the Box, of which things like the free MOM/SCOM pack expose, however just pointing at a BizTalk environment will enable these operations tools to self discover. You ALWAYS need to configure this, even in BizTalk 360. If you have the Budget, and not much sense, buy both of these products, however the one to rule them all does come into play, when it comes to operations monitoring if it all filters and spills out from the single point, it’s a single infrastructure and a single point of management, and a single set of skills. At the end of the day you need to monitor BizTalk, if you have a low budget and no enterprise monitoring tool, then BizTalk 360 is for you. However read the whole document and make an informed decision, BizTalk may be something you have never seen before, don’t under-estimate it. (C) Paul Somers Page 17
You can also read