<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5590049888603730046</id><updated>2011-11-27T18:18:02.051-06:00</updated><category term='Root Cause Analysis'/><category term='ENMS'/><category term='SNMP'/><category term='virtualization'/><category term='US Air Force'/><category term='Architecture'/><category term='workflow'/><category term='Tinker AFB'/><category term='OpenNMS'/><category term='Business Service Management'/><category term='strategy'/><category term='competition'/><category term='graphs'/><category term='POE'/><category term='analytics'/><category term='IPFIX'/><category term='Business Intelligence'/><category term='Proviso'/><category term='Cyberspace'/><category term='OSS'/><category term='CMDB'/><category term='software development'/><category term='3rd Herd'/><category term='Incident Management'/><category term='Managed Services'/><category term='Finite State Machines'/><category term='Leadership'/><category term='NetPromoter Score'/><category term='Agents'/><category term='Waffle House'/><category term='Data warehouse'/><category term='intelligent polling'/><category term='TMF'/><category term='Services'/><category term='visualization'/><category term='knowledge management'/><category term='Implicit Status Determination'/><category term='Cloud Computing'/><category term='Network Management'/><category term='Alarm Management'/><category term='Enterprise Management'/><category term='trouble ticketing'/><category term='BSM'/><category term='speed of Cloud'/><category term='data interpolation'/><category term='NMS'/><category term='Engineering'/><category term='Rules'/><category term='Perl'/><category term='CEP'/><category term='Event management'/><category term='Net-SNMP'/><category term='Situation Awareness'/><category term='Decision Support Systems'/><category term='SLA'/><category term='ITIL'/><category term='reputation management'/><category term='Service Management'/><category term='Office politics'/><category term='Maps'/><category term='sub-agents'/><category term='User Interfaces'/><category term='Performance management'/><category term='memcached'/><category term='Complex Event Processing'/><category term='routing'/><category term='topology'/><category term='Product Evaluation'/><category term='Bayesian Belief Networks'/><category term='Data collection'/><category term='Netcool'/><category term='Databases'/><category term='virtual machines'/><category term='correlation'/><category term='SevOne'/><category term='Fault management'/><category term='Netcool Users Group'/><category term='management'/><category term='NerveCenter'/><category term='discovery'/><title type='text'>Dougie's Enterprise Management World</title><subtitle type='html'>Dougie Stevenson's thoughts, ramblings, and ideas concerning Enterprise Management technology and application.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-7942245109500385549</id><published>2011-10-10T08:21:00.000-05:00</published><updated>2011-10-10T08:21:27.651-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agents'/><category scheme='http://www.blogger.com/atom/ns#' term='Leadership'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='OSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='Office politics'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Dante's Inferno in IT...</title><content type='html'>We’ve all been through Dante’s Inferno.  I know I have.  &lt;br /&gt;&lt;br /&gt;I  was at one place where they developed an in house SNMP agent to be  deployed on all managed systems.   Because of the variety of operating  systems supported and the amount of bugs in the software, many customers  hated the agent and would request that the agent be taken off of their  systems.   But because the agent was “free”, it kept living in a  miserable existence. Turns out there were many different versions  supported and deployed. Additionally, the design of the agents’  sub-agents capabilities deviated significantly from industry standards  such that it hamstrung the open source openness of the base agent.&lt;br /&gt;&lt;br /&gt;Dante’s Inferno came in when you had to deal with the agent  capabilities as an Architect. Saying anything negative related to the  agent was&lt;span class="Apple-style-span" style="color: red;"&gt; Heresy&lt;/span&gt;. The Manager that owned the Agent would resort to  &lt;span class="Apple-style-span" style="color: red;"&gt;Anger&lt;/span&gt;, &lt;span class="Apple-style-span" style="color: red;"&gt;Fraud&lt;/span&gt;, and &lt;span class="Apple-style-span" style="color: red;"&gt;Treachery&lt;/span&gt; in order to divert any negative attention to  their baby.   Part of the reason for hanging on to this Agent was that  the ownership of more developed products promoted the Manager’s &lt;span class="Apple-style-span" style="color: red;"&gt;gluttony&lt;/span&gt;  and &lt;span class="Apple-style-span" style="color: red;"&gt;greed&lt;/span&gt;.  It was his silo of management technology.&lt;br /&gt;&lt;br /&gt;While I  was busy circumnavigating the Machiavellian Urinary Olympics, that  Manager was working hard to put me in &lt;span class="Apple-style-span" style="color: red;"&gt;Limbo&lt;/span&gt;. Any requirements that I put  forth were immediately in negotiation such that I could not finish  requirements.   Finally, in total frustration, I sent out a Final  version of the requirements. Doing this sent the Manager into a frenzy  of new Machiavellian Urinary Olympics such that my actions were elevated  all the way up to a Sr. VP.  Alas, I could not overcome the Marijuana  Principle of Management (Harder you suck ,the higher you get!)&lt;br /&gt;&lt;br /&gt;I  left shortly afterward. So did several of my coworkers. Some are still  there.  All with the common experience that we’ve all been through  Dante’s Inferno. &lt;br /&gt;&lt;br /&gt;Lessons for the Architect :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Be  careful in calling someone’s baby ugly. Given the “embeddedness” of a  given politician, there may be some things you cannot change.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Some Silos can only break down through years of pain and years of continued failure.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In moving toward Cloud computing models, some folks may have an  inclination to bring with them all of the bad habits they have  currently.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If a person has only ever seen one place, they may not understand that success looks totally different in other places.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There is a direct cost and an indirect cost to supporting internally  developed products.  If your internally developed product is holding  back progress and new business, it is a danger sign…&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As an Architect, be wary of consensus.        “Where there is no vision, the people perish. (Proverbs 29:18)”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-7942245109500385549?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/7942245109500385549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/10/dantes-inferno-in-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7942245109500385549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7942245109500385549'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/10/dantes-inferno-in-it.html' title='Dante&apos;s Inferno in IT...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-7199272348710780423</id><published>2011-09-05T06:40:00.000-05:00</published><updated>2011-09-05T06:40:53.608-05:00</updated><title type='text'>Topology based Correlation</title><content type='html'>Amazing how many products have attempted just this sort of thing and for one reason or another, ended up with something a bit more complex than it really should be.&lt;br /&gt;&lt;br /&gt;Consider this... In an IP Network, when to have a connectivity issue, basic network diagnosis mandates a connectivity test like a ping and if that doesn't work, run a traceroute to the end node to see how far you get.&lt;br /&gt;&lt;br /&gt;What a traceroute doesn't give you is the interface by interface, blow by blow or the layer 2. &amp;nbsp;If you turn on the verbose flag in ping or traceroute, you will see ICMP HOST_UNREACHABLE control messages. These come from the router that services the IP Subnet for the end device when an ARP request goes unnoticed.&lt;br /&gt;&lt;br /&gt;So, consider this. &amp;nbsp;when you have a connectivity problem to an end node:&lt;br /&gt;&lt;br /&gt;Can you ping the end Node?&lt;br /&gt;If not, can you ping the router for that subnet?&lt;br /&gt;If yes, you have a Layer 2 problem.&lt;br /&gt;If not, you have a layer 3 problem. &amp;nbsp;Perform a traceroute.&lt;br /&gt;&lt;br /&gt;Within the traceroute, it should bottom out &amp;nbsp;where it cannot go further giving you some level of indication where the problem is.&lt;br /&gt;&lt;br /&gt;On a layer 2 problem, you need to check the path from the end node, through the switch or switches, on to the Router.&lt;br /&gt;&lt;br /&gt;Hows that for simplicity? &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-7199272348710780423?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/7199272348710780423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/09/topology-based-correlation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7199272348710780423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7199272348710780423'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/09/topology-based-correlation.html' title='Topology based Correlation'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-5209528086199508957</id><published>2011-06-12T20:58:00.000-05:00</published><updated>2011-06-12T20:58:16.789-05:00</updated><title type='text'>Thinking Outside of the outside</title><content type='html'>Typical of any engineer, I like puzzles - problem sets. &amp;nbsp;And as with any puzzle, you have to decide what the puzzle looks like when solved. Want to test your resolve and hone your pattern matching skills? Purchase a 1000&amp;nbsp;piece&amp;nbsp;puzzle and solve it with picture down!&lt;br /&gt;&lt;br /&gt;I miss the scale and speed of working with problems sets in Global NetOps at AOL. &amp;nbsp;What if you could experience a live event stream that was composed of over 1 million events a minute? How would you deal with the rate? &amp;nbsp;Log turnover? Parsing and handling these as events? &amp;nbsp; Handling decisions at this rate? &amp;nbsp;I tell you, it gives you a whole new perspective.&lt;br /&gt;&lt;br /&gt;A couple of requirements we had with all of our applications were:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Must run 24 By Forever.&lt;br /&gt;&amp;nbsp; &amp;nbsp;Must Scale&lt;br /&gt;&lt;br /&gt;24 By Forever meant that you had control ports in your processes. &amp;nbsp;You could start, stop, change, failover, failback, reroute... Anything to keep from failing.&lt;br /&gt;&lt;br /&gt;Must scale meant that you could start small and get tall without intervention. &amp;nbsp;Without buffering too much. &amp;nbsp;Without rendering the information useless.&lt;br /&gt;&lt;br /&gt;I started off with a simple Netcool Syslog probe. It was filtered and only passed events every minute based upon a cron job that filtered the log and sumped to Netcool, only the pertinent events. &amp;nbsp;Why? It just wasn't keeping up. &amp;nbsp;Yet there were alot of syslog events that were not useful for Netcool. &amp;nbsp;And yet, it was always behind. &amp;nbsp;It was outdated before it even got to Netcool. &lt;br /&gt;&lt;br /&gt;Lesson 1 - Delaying Events from presentation can render your information useless.&lt;br /&gt;&lt;br /&gt;I built a little process called collatord that ran as a daemon, watched all of syslog logs, and pattern matched incoming lines for dispatch and formatting to Netcool. &amp;nbsp; I subsequently moved from the venerable Syslog probe over to TCP Port probes which we had implemented behind load balancers. all I had to do was output my events in a value=pair manner with a \n\n line termination. (I subsequently found out that win or lose, it always returned and OK!)&lt;br /&gt;&lt;br /&gt;Lesson 2 - Always check returns!&lt;br /&gt;&lt;br /&gt;Little collatord had an ACTIONS hash that was made up of a regex pattern as a key and a Code reference to a subroutine. &amp;nbsp;When a pattern "hit", it executed the subroutine passing in the line as an argument. Turns out, it ran pretty quickly. &amp;nbsp;I was running in a POE kernel and only a single session. &amp;nbsp;Even with 100K lines a minute, it still skimmed right along!&lt;br /&gt;&lt;br /&gt;One of the problems I had was that I would do a subroutine that parsed and handled a specific pattern for a given event and the syslog message would change over time. Maybe it was a field that moved from one position to another. &amp;nbsp;Maybe it was a slightly different format. &amp;nbsp;I found that if I took a sample line and put it in the subroutine as a comment, my whole subroutine became&amp;nbsp;innately&amp;nbsp;simpler in that I could see what the pattern was before and adapt the new pattern within the subroutine.&lt;br /&gt;&lt;br /&gt;Lesson 3 - Take care to make your app reentrant. The better you are at this, the less rewriting code you'll do trying to figure out how to change things.&lt;br /&gt;&lt;br /&gt;Now, with these samples, I got the bright idea that I could take any event in the sample, change the time and hostname to protect the innocent, and reinsert it as a Unit test.&lt;br /&gt;&lt;br /&gt;Lesson 4 - Having a repeatable Unit test. PRICELESS!&lt;br /&gt;&lt;br /&gt;Then I figured out the if I appended the word TRACEMESSAGE on any incoming event, I could profile each and every sample line. &amp;nbsp;All I had to do was to recognize /TRACEMESSAGE$/ and log a microsecond timestamp along with what the function was doing.&lt;br /&gt;&lt;br /&gt;Lesson 5 - Being able to profile a specific function is INVALUABLE in a live system where you suspect something weird or intermittent and you don't have to restart it.&lt;br /&gt;&lt;br /&gt;After I ran into a couple of pattern / parser problems where I had to schedule downtime, I went and talked to my cohorts in crime. I got to looking at their stuff and found that they could change code on the fly. &amp;nbsp;They didn't need downtime. (24 by Forever!) I went back to my desk and started putting together a control port.&lt;br /&gt;&lt;br /&gt;In the control port, I'd connect to the collatord process via a TCP socket, authenticate, and run commands. In Perl, you can even handle subroutines through an eval. &amp;nbsp;So, I would pass in a new subroutine, eval it, and put the pattern and Code Reference in the %ACTIONS Hash.&lt;br /&gt;&lt;br /&gt;Lesson 6 - Being able to adapt on the fly without downtime. BRILLIANT&lt;br /&gt;&lt;br /&gt;Not all languages can be adapted to do this so your mileage may vary!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-5209528086199508957?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/5209528086199508957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/06/thinking-outside-of-outside.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5209528086199508957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5209528086199508957'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/06/thinking-outside-of-outside.html' title='Thinking Outside of the outside'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-4984232254510110887</id><published>2011-04-17T13:22:00.003-05:00</published><updated>2011-04-17T13:44:37.713-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data warehouse'/><category scheme='http://www.blogger.com/atom/ns#' term='correlation'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance management'/><category scheme='http://www.blogger.com/atom/ns#' term='Data collection'/><category scheme='http://www.blogger.com/atom/ns#' term='data interpolation'/><title type='text'>Data Analytics and Decision Support - Continued</title><content type='html'>&lt;b&gt;Data&amp;nbsp;Interpolation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In some performance management systems, the fact that you may have nulls or failed polls in your data series draws consternation in some products. If you are missing data polls, the software doesn't seem to know what to do.&lt;br /&gt;&lt;br /&gt;I think the important thing is to catch counter rollovers in instances where your data elements are counters. &amp;nbsp;You want to catch a rollover in such a way as when you calculate the delta, you add up until the maximum counter value, then start adding again up to the new value. &amp;nbsp;In effect you get a good delta in between two values. &amp;nbsp;What you do not want is tainted counters that span more than one counter rollover.&lt;br /&gt;&lt;br /&gt;If you take the delta value between a missed poll as in:&lt;br /&gt;&lt;br /&gt;P1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 500&lt;br /&gt;P2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Missed&lt;br /&gt;P3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1000&lt;br /&gt;&lt;br /&gt;In smoothing, you can take the difference between P3 and P1 and divide that by half as a delta. &amp;nbsp;Simply add this to P1 to produce P2 which produces a derived time series of:&lt;br /&gt;&lt;br /&gt;P1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500&lt;br /&gt;P2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;750&lt;br /&gt;P3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1000&lt;br /&gt;&lt;br /&gt;In&amp;nbsp;gauges, you may have to sample the elements around the missed data element and use an average to smooth over the missed data element. &amp;nbsp;Truth be known, I don't see why a graphing engine cannot connect from P1 to P4 without the interpolation! &amp;nbsp;It would make graphs much simpler and more rich - If you don't see a data point on the time slot, guess it didn't happen! &amp;nbsp;In the smoothing scenario, you cannot tell where the smoothing is.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Availability&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In my own thoughts, I view availability as a discreet event in time or a state over a time period. &amp;nbsp;Both have valid uses but need to presented in the context that they are borne so that users do not get confused. For example, an ICMP ping that occurs every 5 minutes is a discreet event in time. Here is an example time series of pings:&lt;br /&gt;&lt;br /&gt;P1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fail&lt;br /&gt;P4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fail&lt;br /&gt;P6 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P7 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P9 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;P10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Good&lt;br /&gt;&lt;br /&gt;This time series denotes ping failures at P3 and P5 intervals. &amp;nbsp;In theory, a line graph is not appropriate for this instance because it is boolean and it is discreet and not representative of the entire time period. &amp;nbsp;If P0 is equal to 1303088400 on the local poller and the sysUptime value at P0 is 2500000, then the following SNMP polls yield:&lt;br /&gt;&lt;br /&gt;Period &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Poller uTime &amp;nbsp; &amp;nbsp; &amp;nbsp; SysUptime&lt;br /&gt;P0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1303088400 &amp;nbsp; &amp;nbsp; &amp;nbsp;2500000&lt;br /&gt;P1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1303088700 &amp;nbsp; &amp;nbsp; &amp;nbsp;2503000&lt;br /&gt;P2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1303089000 &amp;nbsp; &amp;nbsp; &amp;nbsp;2506000&lt;br /&gt;P3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1303089300 &amp;nbsp; &amp;nbsp; &amp;nbsp;2509000&lt;br /&gt;P4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1303089600 &amp;nbsp; &amp;nbsp; &amp;nbsp;2512000&lt;br /&gt;P5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1303089900 &amp;nbsp; &amp;nbsp; &amp;nbsp;20000&lt;br /&gt;P6 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1303090200 &amp;nbsp; &amp;nbsp; &amp;nbsp;50000&lt;br /&gt;P7 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1303090500 &amp;nbsp; &amp;nbsp; &amp;nbsp;80000&lt;br /&gt;P8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1303090800 &amp;nbsp; &amp;nbsp; &amp;nbsp;110000&lt;br /&gt;P9 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1303091100 &amp;nbsp; &amp;nbsp; &amp;nbsp;5000&lt;br /&gt;P10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1303091400 &amp;nbsp; &amp;nbsp; &amp;nbsp;35000&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;utime is the number of seconds since January 1, 1970 and as such, it increments every second. &amp;nbsp;SysUptime is the number of Clock ticks since the management system reinitialized. &amp;nbsp;When you look hard at the TimeTicks data type, it is a modulo-s counter of the number of 1/100ths of a second for a given time epoch period. This integer will roll over at the value of &amp;nbsp;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;4294967296 or approximately every 49.7 days.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;In looking for availability in the time series, if you derive the delta between the utime timestamps and multiply that times 100 (given that timeTicks is 1/100th of a second), you can see that if the sysUpTime value is less than the previous value plus the serived delta timeticks, you can clearly see where you have an &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;availability&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; issues. As compared to the previous time series using ICMP ping, P3 was meaningless and only P5 managed to ascertain some level of availability discrepancy. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;You can also derive from the irrant time series periods that P5 lost 10000 timeTicks from the minimum delta value of 30000 (300 seconds * 100).  So, for period P5 we were not &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;available&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; for 10000 timeticks and not the full period.  Also note that if you completely miss a poll or don't get a response, the delta of the last poll chould tell you where availability was affected or not even though the successful poll did not go as planned.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;From a pure time series data kind of conversion, one could translate sysUpTime to an accumulated number of available seconds over the time period. &amp;nbsp;From a statistics perspective, this makes sense in that it becomes a count or integer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Discreet to time Series Interpolation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Let's say you have an event management system. &amp;nbsp;And within this system, you receive a significant number of events &amp;nbsp; If can categorize and number your events into instances counted per interval, you can convert this into a counter for a time period. &amp;nbsp;for example, you received 4 CPU threshold events in 5 minutes for a given node.&lt;br /&gt;&lt;br /&gt;In other instances, you may have to covert discreet events into more of a stateful.approach toward conversions. For example, you have a link down and 10 seconds later, you get a link up. You have to translate this to a non-availability of the link for 10 seconds of a 5 minute interval. &amp;nbsp;What is really interesting about this is that you have very finite time stamps. &amp;nbsp;When you do, you can use this to compare to other elements &amp;nbsp;that may have changed around the same period of time. &amp;nbsp;Kind of a cause and effect analysis.&lt;br /&gt;&lt;br /&gt;This is especially pertinent when you analyze data from devices, event data, and workflow and business related elements. For example, what if you did a comparison between HTTP response times to Internet network IO rates, and Apache click rates on your web servers? What if you threw in trouble tickets and Change orders over this same period? &amp;nbsp; What about query rates on your Oracle databases?&lt;br /&gt;&lt;br /&gt;Now, you can start translating real metrics with business metrics and even cause and effect elements because they are all done using a common denominator - Time. While many management platforms concentrate on the pure technical - like IO rates of Router interfaces, it may not mean as much to a business person. &amp;nbsp; What if your web servers seem to run best when IO rates are between 10-15 percent. &amp;nbsp;If that range is where the company performs best, I'd tune to that range. &amp;nbsp;If you change your apps to increase efficiency, you can go back and look at these same metrics after you make changes and validate handily.&lt;br /&gt;&lt;br /&gt;This gets even more interesting when you get Netflow data for the intervals as well. &amp;nbsp;But I'll cover that in a later post!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-4984232254510110887?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/4984232254510110887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/04/data-analytics-and-decision-support_17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4984232254510110887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4984232254510110887'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/04/data-analytics-and-decision-support_17.html' title='Data Analytics and Decision Support - Continued'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-8278108052407155881</id><published>2011-04-10T11:16:00.002-05:00</published><updated>2011-04-10T11:19:17.485-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business Intelligence'/><category scheme='http://www.blogger.com/atom/ns#' term='Databases'/><category scheme='http://www.blogger.com/atom/ns#' term='Decision Support Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance management'/><category scheme='http://www.blogger.com/atom/ns#' term='analytics'/><title type='text'>Data Analytics and Decision Support</title><content type='html'>.OK, &amp;nbsp;The problem is that given a significant amount of raw performance data, I want to be able to determine some indication and potentially predictions, related to whether the metrics are growing or declining and what will potentially happen beyond the data we currently have, given the existing data trending.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Sounds pretty easy, doesn't it.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;When you look at the overall problem, what you're trying to do is to take raw data and turn it into information. In effect, it looks like a Business Intelligence system. &amp;nbsp;Forrester Research defines Business Intelligence as&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #e06666; color: white;"&gt;"&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;i&gt;Forrester often defines BI in one of two ways. Typically, we use the following broad definition: Business intelligence is a set of methodologies, processes, architectures, and technologies that transform raw data into meaningful and useful information used to enable more effective strategic, tactical, and operational insights and decision-making. But when using this definition, BI also has to include technologies such as data integration, data quality, data warehousing, master data management, text, and content analytics, and many others that the market sometimes lumps into the information management segment. Therefore, we also refer to data preparation and data usage as two separate, but closely linked, segments of the BI architectural stack. We define the narrower BI market as: A set of methodologies, processes, architectures, and technologies that leverage the output of information management processes for analysis, reporting, performance management, and information delivery.&lt;/i&gt;"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.forrester.com/ER/Glossary/Item/1,2425,834,00.html?Alpha=B"&gt;Here&lt;/a&gt; is the link to their glossary for reference.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;When you look at this definition versus what you get in todays performance management systems, you see somewhat of a dichotomy. &amp;nbsp;Most of the performance management systems are graph and report producing products. &amp;nbsp; You get what you get and so its up to you to evolve towards a Decision Support System versus a Graphical Report builder.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Many of the performance management applications lack the ability to produce and use derivative data sets. &amp;nbsp;They do produce graphs and reports on canned data sets. It is left up to the user to sort through the graphs to determine what is going on in the environment.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;It should be noted that many products are hesitant to support extremely large data sets with OLTP oriented Relational Databases. &amp;nbsp;When the database table sizes go up, you start seeing degradation or slowness in the response of &lt;a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete"&gt;CRUD&lt;/a&gt; type transactions. Some vendors resort to batch loading. &amp;nbsp;Others use complex table space schemes.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Part of the problem with Row oriented databases is that it must conform to the &lt;a href="http://en.wikipedia.org/wiki/ACID"&gt;ACID&lt;/a&gt; model. Within the ACID model, a transaction must go or not go. &amp;nbsp;Also, you cannot read at the same time as a write is occurring or your consistency is suspect. In performance management systems, there is typically a lot more writes than there a reads. Also, as the data set gets bigger and bigger, the indexes have to grow as well.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Bottom line - If you want to build a Decision Support System around Enterprise Management and the corresponding Operational data, you have to have a database that can scale to the multiplication of data through new derivatives.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Consider this - a Terabyte of raw data may be able to produce more than 4 times that when performing analysis. You could end up with a&amp;nbsp;significant&amp;nbsp;number of derivative data sets and storing them in a database enables you to use them repeatedly. (Keep in mind, some OLAP databases are very good at data compression.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Time - The Common Denominator&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In most graphs and in the data, the one common&amp;nbsp;denominator&amp;nbsp;about performance data is that it is&amp;nbsp;intrinsically&amp;nbsp;time series oriented. &amp;nbsp;This provides a good foundation for comparisons. &amp;nbsp;So now, what we need to do is to select samples in a context or SICs. &amp;nbsp;For example, we may need to derive a sample of an hour over the context of a month.&lt;br /&gt;&lt;br /&gt;In instances&amp;nbsp;where&amp;nbsp;a time series is not directly implied, it can be&amp;nbsp;derived. &amp;nbsp;For example, the number of state changes for a given object can be counted for the time series interval. &amp;nbsp;Another instance may be a derivate of the state for a given time interval or the state when the interval&amp;nbsp;occurred. &amp;nbsp;In this example, you use what ever state the object is in at the time stamp.&lt;br /&gt;&lt;br /&gt;Given that raw data may be collected at intervals much smaller than the sample period, we must look for a way to&amp;nbsp;summarize&amp;nbsp;the individual raw elements sufficiently enough to characterize the whole sample period. &amp;nbsp;This gets one to contemplating about what would be interesting to look at. &amp;nbsp;For example, probably the simplest way to characterize a counter is to Sum all of the raw data values into a sample (Simple Addition). For example, if you retrieved counts on 5 minute intervals, you could simply ad up the deltas over the course of the 1 hour sample into a derivative data element producing a total count for the sample. &amp;nbsp; In some instances, you could look at the counter at the start and look at the end, if there are no resets or counter rollovers during the sample.&lt;br /&gt;&lt;br /&gt;In other instances, you may see the need to take in the deltas of the raw data for the sample to produce and average. &amp;nbsp;This average is useful by itself in many cases. &amp;nbsp;But in others, you could go back through the raw data and compare the delta to the average to produce an offset or deviation from the average. &amp;nbsp;What this offset or deviation really does is to produce a metric to recognize activity within the sample. &amp;nbsp;The more up and down off of the average, the greater the deviations will be.&lt;br /&gt;&lt;br /&gt;Another thing you need to be aware of is data set tainting. &amp;nbsp;For example, lets say you have a period within your context where data is not collected, not available, or you suspect bad data. &amp;nbsp;This sample could be considered tainted but in many cases, it can still be used. &amp;nbsp; It is important sometimes to compare data collection to different elements like availability, change management windows, counter resets, or collection "holes" in the data.&lt;br /&gt;&lt;br /&gt;What these techniques provide is a tool bag of functions that you can use to characterize and compare time series data sets. &amp;nbsp;What if you wanted to understand if there were any cause and effect correlation of any metric on a given device. &amp;nbsp;There are elements you may find that are alike. &amp;nbsp;Yet there are others that may be opposite from each other. &amp;nbsp;For example, when one metric increases, the other decreases. The characterization enables you to&amp;nbsp;programmatically&amp;nbsp;determine&amp;nbsp;relationships between metrics.&lt;br /&gt;&lt;br /&gt;The result of normalizing samples is to produce&amp;nbsp;derivative data sets so that those can be used in different contexts and correlations. &amp;nbsp;when you think about it, one should even be able to characterize and compare multiple SICs (Samples in Contexts). &amp;nbsp;For example, one could compare day in month to week in month SICs.&lt;br /&gt;&lt;br /&gt;Back to our samples in context paradigm. What we need samples for is to look at the contexts over time and &amp;nbsp;look for growth or decline behaviors. &amp;nbsp;The interesting part is the samples in that samples are needed when&amp;nbsp;performing&amp;nbsp;Bayesian Belief Networks. &amp;nbsp;BBNs take a series of samples and produce a ratio of occurrences and anti-occurrences, translated as a simple + 1 to -1.&lt;br /&gt;&lt;br /&gt;When you look at Operations as a whole, activity and work is accomplished around business hours. &amp;nbsp;Weekdays become important as does shifts. So, it makes sense to align your Samples to Operational time domains.&lt;br /&gt;&lt;br /&gt;The first&amp;nbsp;exercise&amp;nbsp;we can do is to &amp;nbsp;take a complex SIC like weekday by week by Month. For each weekday, we need to total up our metric for the weekday. For each weekday in week in month sample, is the metric growing or declining? &amp;nbsp;If you create a derivative data set that captures the percent different of the previous value, you can start to visualize the change over the samples.&lt;br /&gt;&lt;br /&gt;When you start down the road of building the data sets, you need to be able to visualize the data in different ways. &amp;nbsp;Graphs, charts, scatterplots, bubble charts, pie charts, and a plethora of other mechanisms provide ways you can see and use the data. &amp;nbsp;One of the most common tools that BI professionals use is a Spreadsheet. You can access the data sources via ODBC and use the tools and functions within the spreadsheet to work through the analysis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-8278108052407155881?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/8278108052407155881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/04/data-analytics-and-decision-support.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8278108052407155881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8278108052407155881'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2011/04/data-analytics-and-decision-support.html' title='Data Analytics and Decision Support'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-7197456425427661748</id><published>2010-11-27T03:25:00.000-06:00</published><updated>2010-11-27T03:25:31.463-06:00</updated><title type='text'>EM7 Dynamic App Development</title><content type='html'>Dynamic Application development in EM7 is easy and a lot of fun.&lt;br /&gt;&lt;br /&gt;A Dynamic Application in EM7 is used to gather statistics, configuration data, performance data, set thresholds, and setup alerts and events.&lt;br /&gt;&lt;br /&gt;In the past, I've done alot of SNMP based applications where I would have to take SNMP Walks, the MIBs, and put together polling, thresholds, and triggers for events.  I'd download the MIB, suck it into Excel, and start analyzing the data. A lot of time would be spent parsing MIBs, verifying tables, and looking at counters.&lt;br /&gt;&lt;br /&gt;Enter EM7.&lt;br /&gt;&lt;br /&gt;Login and go to System-&amp;gt;Tools-&amp;gt;MIB Compiler&lt;br /&gt;&lt;br /&gt;It provides a list of all MIBs it knows about.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPC9pt1ChGI/AAAAAAAAABU/T8Q63LuQmTk/s1600/EM7MIBCompiler.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPC9pt1ChGI/AAAAAAAAABU/T8Q63LuQmTk/s400/EM7MIBCompiler.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;From this, you can see if the MIB you're looking for is there and compiled. If its not, you can hit the import button up on the top right portion of the window and it will prompt you to upload a new MIB file. (Pretty friggin straight forward if I do say so myself!)&lt;br /&gt;&lt;br /&gt;To compile the MIB, hit the lightning icon on the MIB entry. Simple as that.&lt;br /&gt;&lt;br /&gt;So, lets say you want to create a dynamic application around some configuration items associated with a couple of MIB tables in a MIB. For our example, we will use the CISCO-CCME-MIB applicable for the cisco Call Manager Express systems. &amp;nbsp;You can view the MIB using the I icon, download or export hte MIB via the green disk icon on the right side of the entry, or compile it using the lightning bolt. &amp;nbsp;I'm going to view the MIB so I select the I icon for the row for the MIB I want.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_-5t7lgw8Qoc/TPDCMCM7AbI/AAAAAAAAABY/98M4FnseGbs/s1600/EM7viewCCMEMIB.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_-5t7lgw8Qoc/TPDCMCM7AbI/AAAAAAAAABY/98M4FnseGbs/s320/EM7viewCCMEMIB.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I hit the icon and it pulls up a file edit window. &amp;nbsp;I scroll through to find an object I'd like to work with as an application. &amp;nbsp;I highlight the object and copy it to my clipboard.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I go to System-&amp;gt;Tools-&amp;gt;OID Browser, select Where name is like in the search function and I paste the object I was looking at in the MIB. &amp;nbsp;This pulls up a hierarchy of the OIDs and MIB objects below the object I input. All in all, we're into the second minute if you're a bit slow on the keyboard like me!&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_-5t7lgw8Qoc/TPDEXs68vmI/AAAAAAAAABc/I6lqrL3qFZ8/s1600/EM7OIDBrowserCCME.jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_-5t7lgw8Qoc/TPDEXs68vmI/AAAAAAAAABc/I6lqrL3qFZ8/s320/EM7OIDBrowserCCME.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;Notice on the top of the selection box is the MIB object path. &amp;nbsp;This is handy to visualize where you are as you start to work with MIB objects.&lt;br /&gt;&lt;br /&gt;So, the first application I want to put together is a configuration type of application centered around parameters that are part of the Music on Hold system function. &amp;nbsp;I select the MIB elements I want to work with in my configuration application by clicking on the box for each parameter.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_-5t7lgw8Qoc/TPDHlw9oxfI/AAAAAAAAABg/Ms9La3sEt1s/s1600/EM7CCMEMOH.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_-5t7lgw8Qoc/TPDHlw9oxfI/AAAAAAAAABg/Ms9La3sEt1s/s320/EM7CCMEMOH.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;On the bottom right corner of this window is a selection box with a default value of [Select Action]. Pull down the menu and select Add to a new Configuration Application. &amp;nbsp;Select the go button directly to its right.&lt;br /&gt;&lt;br /&gt;You are then prompted if this is really what you want to do. Select Yes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What this does is to &amp;nbsp;take the MIB objects and create a dynamic application with your collection objects setup already. &amp;nbsp;Here is what it looks like.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPDJvc-SqcI/AAAAAAAAABk/KDcf4ZC3SYE/s1600/EM7CCMEMOHapp.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPDJvc-SqcI/AAAAAAAAABk/KDcf4ZC3SYE/s320/EM7CCMEMOHapp.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you do nothing else, go to the the Properties tab, input an application Name, then save it. You have just created your first dynamic application in its basic sense of form and function.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is what the Properties screen looks like:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPDMxZA0UCI/AAAAAAAAABo/EBou4kts_ww/s1600/EM7CMME_MOHAppsave.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPDMxZA0UCI/AAAAAAAAABo/EBou4kts_ww/s320/EM7CMME_MOHAppsave.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Overall, you have a lot of work to do in that you probably need to cleanup the names of the Objects so that they show up better on reports. Setup polling intervals. &amp;nbsp;And setup any thresholds, alerts, or events as needed. &amp;nbsp;But you have an application in a few minutes. And it can cross multiple tables if you like! CLICK CLICK BOOM!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-7197456425427661748?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/7197456425427661748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/11/em7-dynamic-app-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7197456425427661748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7197456425427661748'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/11/em7-dynamic-app-development.html' title='EM7 Dynamic App Development'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-5t7lgw8Qoc/TPC9pt1ChGI/AAAAAAAAABU/T8Q63LuQmTk/s72-c/EM7MIBCompiler.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-2345973002083408134</id><published>2010-11-27T01:54:00.000-06:00</published><updated>2010-11-27T01:54:38.440-06:00</updated><title type='text'>ENMS Projects</title><content type='html'>I have been looking over why a significant number of enterprise management implementations fail. And not only do they fail in implementation, they continue to live in a failed state year over year.  Someone once said that 90% or greater of all enterprise management implementations fail. &lt;br /&gt;&lt;br /&gt;I cannot help but to think that part of this may be something to do with big projects and evolution during implementation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another consideration I have seen is that lower level managers tend to manage to the green and are afraid of having to defend issues in their department or their products. When they manage to the Green, management above them loses awareness of how things are really working beneath them in the infrastructure.&lt;br /&gt;&lt;br /&gt;One article I really liked was by Frank Hayes called "Big Projects, Done Small" in a recent Computerworld issue.  &lt;a href="http://www.computerworld.com/s/article/352786/Big_Projects_Done_Small"&gt;Here&lt;/a&gt; is the link to it. I like his way of thinking in that big projects need to be sliced and diced into smaller pieces in order to facilitate success more readily.&lt;br /&gt;&lt;br /&gt;Those of us in technical roles tend to operate and function in a 90 days are less role. We know from experience that if you have a project exceed 90 days, the "Dodge Syndrome" will rear its ugly head. (The rules have changed!) In all actuality, requirements tend to change and evolve around an implementation if the implementation takes over 90 days.&lt;br /&gt;&lt;br /&gt;The second part you realize is that in projects that need to span over 90 days, mid-level Managers tend to get nervous and lose faith on the project.  Once this happens, you start seeing the Manager retract support and resources for the project.  The representatives don't show up to meetings.&lt;br /&gt;&lt;br /&gt;But Tier 1 managers like the big, high cost projects as it is a way of keeping score. They like the big price tag and they like the enormous scope of global projects.&lt;br /&gt;&lt;br /&gt;It is the job of Architects to align projects into more manageable, chunks for implementation and integration. They need to know and plan the budget for these projects so that you get what needs to be done, in the proper sequence, with the proper hooks, and with the proper resources. If this is done by Project Managers, Contractors, or Development staff, you risk the project becoming tactical in nature and lose sight of strategic goals.&lt;br /&gt;&lt;br /&gt;When a project becomes tactical, the tasks become a cut list that has to happen every week.  When something changes or impacts the schedule, tactical decisions are made to recover. For example, a decision to modify a configuration may be made today that kills or hampers an integration that needs to be done in a few months. These tactical decisions may save some time and resources today but yield a much larger need later on.&lt;br /&gt;&lt;br /&gt;It is the equivalent to painting yourself in a corner.&lt;br /&gt;&lt;br /&gt;Here in lies the situations that are oh so common:&lt;br /&gt;&lt;br /&gt;1) Tier 1 Management wants to show the shareholders and Board of Directors that they are leading the company in a new direction.&lt;br /&gt;&lt;br /&gt;2) Mid-level tiers of management can chose to use this project to promote their own enpires if possible.&lt;br /&gt;&lt;br /&gt;3) Mid-Level managers can chose just to accept the big project and support it as needed.&lt;br /&gt;&lt;br /&gt;4) Architects need to be keenly aware and on top of the project as a whole.  They need to set, establish, and control direction.&lt;br /&gt;&lt;br /&gt;5) End users need to be empowered to use the product to solve problems and work with Architecture to get their requirements in.&lt;br /&gt;&lt;br /&gt;Conclusion&lt;br /&gt;&lt;br /&gt;A big project can be accomplished and can succeed. But the strategic direction needs to be set with a vision for both tactical and strategic goals alignment. Things need to be broken up by goals and objectives and costed accordingly. Simplify - simplify - simplify.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-2345973002083408134?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/2345973002083408134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/11/enms-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2345973002083408134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2345973002083408134'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/11/enms-projects.html' title='ENMS Projects'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-1742716016530514297</id><published>2010-10-12T09:50:00.000-05:00</published><updated>2010-10-12T09:50:44.936-05:00</updated><title type='text'>The Case for EM7</title><content type='html'>I have been monitoring alot of activity around various products that I have had my head wrapped around for years.  See, I have been a Consultant, Engineer, end user, OSS Developer/Architect and even Chief Technologist. I've developed apps and I've done a TON of integration across the years and problem sets.  I have worked with, implemented, and supported a ton of different products and functions.&lt;br /&gt;&lt;br /&gt;I think about all of the engagements I worked on where we spent 4-6 weeks just getting together the requirements doc and start down the road of doing a BOM. Then, after somebody approved the design, we get down to ordering hardware and software.&lt;br /&gt;&lt;br /&gt;Then, we'd go about bringing up the systems, loading the software, and tuning the systems.&lt;br /&gt;&lt;br /&gt;Before you knew it, we were 6 months on site.&lt;br /&gt;&lt;br /&gt;This has been standard operations for EONS. For as long as I remember.&lt;br /&gt;&lt;br /&gt;While the boom was on, this was acceptable. Business needed capabilities and that came from tools and technology. But now, money is tight and times are hard.  However, companies still need IT capabilities that are managed and reliable.&lt;br /&gt;&lt;br /&gt;Now days, customers want results. Not in 6 months.  Not even next month.  NOW!  When you look at the prospects of Cloud, what attracts business and IT alike is that in a cloud, you can deploy applications quickly!&lt;br /&gt;&lt;br /&gt;Enter EM7. What if I told you I could bring a couple of appliances (well, depends on the size of your environment...), rack and stack, and have you seeing results right away? Events.  Performance. Ticketing. Discovery. Reports.&lt;br /&gt;&lt;br /&gt;EM7 lives in this Rapid Deployment, lots of capabilities up front sort of scenario.  Literally, in a few hours, you have a management platform.&lt;br /&gt;&lt;br /&gt;Question: How long does it take for you to get changes into your network management platform?  Days? Weeks? &lt;br /&gt;&lt;br /&gt;Question: How long does it take for you to get a new report in place on your existing system?&lt;br /&gt;&lt;br /&gt;Question: Are you dependent upon receiving traps and events only as your interface into receiving problem triggers? Do you even perform polls?&lt;br /&gt;&lt;br /&gt;Question:  How many FTEs are used just to maintain the monitoring system? How many Consultants with that?&lt;br /&gt;&lt;br /&gt;Now, the question is WHY should you check out EM7?&lt;br /&gt;&lt;br /&gt;First and foremost, you want whats best for your environment.  The term "Best" changes over time.  And while many companies will tell you best of breed is dead and that you need a single throat to choke, its because they KNOW they are not Best of Breed and they HATE competition.  But competition is good for customers.  It keeps value in perspective.&lt;br /&gt;&lt;br /&gt;Without a bit of competition, you don't know best.  Your environment has been evolving and so have the management capabilities and platforms (well some have!)&lt;br /&gt;&lt;br /&gt;In some environments, politics keep new products and capabilities at bay.  You can't find capital or you know you'll step on toes if you propose new products.  So, you need to have some lab time.  With EM7, you spend more time working with devices and capabilities in your lab than you do installing, administering, and integrating the management platform.  EM7 is significantly faster to USE than others.&lt;br /&gt;&lt;br /&gt;EM7 has a lot of the management applications you need to manage an IT / Network Infrastructure, in an APPLIANCE model.  All of the sizing, OS tuning, Database architecture, etc. is done up front in defineable methods.  We do this part and you get to spend your time adding value to your environment instead of the management platform.&lt;br /&gt;&lt;br /&gt;In a politically charged environment, EM7 can be installed, up and running, and adding SIGNIFICANT value before the fifedom owners even know.  Em7 becomes the stndard quickly in  buy vs. build scenario as there are alot of capabilities up front. But there feature rich ways to extend management and reporting beyond the stock product.  Dynamic applications enable the same developers to build upon the EM7 foundation rather than attempting to redevelop foundation, then the advanced capabilities.&lt;br /&gt;&lt;br /&gt;If you're adapting and integrating Cloud capabilities, EM7 makes sense early on. Lots of both agent and agentless capabilities, service polling, mapping and dashboards, run book automation, ticketing, dynamic applications... the list goes on and on.  Cloud and virtualization software and APIs can change very quickly. Standards are not always first.  So, you have to be able to adapt and overcome challenges quickly.&lt;br /&gt;&lt;br /&gt;If you're in the managed services world, you need to be vigilant in your quest for capabilites that turn into revenue. If you can generate revenue with a solution, it is entirely possible to make more than it costs.  Do you know how much revenue is generated by your management platform?  Now compare that to what it costs in maintenance and support.&lt;br /&gt;&lt;br /&gt;Now, go back and look at things you've done to generate and instance new product. How long did it take from concept to offering?  How much did it cost resource wise?&lt;br /&gt;&lt;br /&gt;In these times, when margins are lean and business is very competitive, if you aren't moving forward to compete, you're probably facing losing market share.&lt;br /&gt;&lt;br /&gt;With EM7, you get to COMPETE. You get a solid foundation with which to discriminate and differentiate your services from your competition. Quickly. Efficiently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-1742716016530514297?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/1742716016530514297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/10/case-for-em7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/1742716016530514297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/1742716016530514297'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/10/case-for-em7.html' title='The Case for EM7'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-4881619185990338579</id><published>2010-08-15T21:53:00.000-05:00</published><updated>2010-08-15T21:53:17.731-05:00</updated><title type='text'>Save the Village ID ten T</title><content type='html'>Ever been in one of these situations?&lt;br /&gt;&lt;br /&gt;So, you have this Manager you work with. Seems that every time you have to interact with them, it becomes a painful ordeal.  See, they are the Political type.  You know, the type that destroys the creativity of organizations.&lt;br /&gt;&lt;br /&gt;When you deal with them, all of a sudden your world is in Black and white... Not color.  It's a 6th Sense moment.  "I see Stupid People.  And they don't even know they're stupid!".&lt;br /&gt;&lt;br /&gt;You ask a technical question and get the trout look.  You know - Fresh off the plate! This person no more understands what the F you're talking about than the man in the moon.  Nor do they want to understand.  They have tuned you out.  In an effort to shut you up, they proceed up the food chain to suck up to every manager in an attempt to put more red tape and BS in front of you.&lt;br /&gt;&lt;br /&gt;Well, you figure that because you are obviously not getting your technical points across, you do memos and white papers explaining the technical challenges.  Then, you're too condescending and academic.&lt;br /&gt;&lt;br /&gt;You do requirements and everything becomes a new negotiation. You can get nothing done. To this person, it doesn't matter if you have valid requirements or not.  What matters most is their own personal interest and growing their own empire. &lt;br /&gt;&lt;br /&gt;Its Managers like this that hold back Corporations.  They kill productivity and teamwork and they can single-handedly poison your Development and integration teams.  They have no idea the destruction they cause.  The negative effects they have on folks.  The creativity they squash.  &lt;br /&gt;&lt;br /&gt;They foster Analysis Paralysis, lack of evolution and the tragic killing of products and solutions.  These types of folks tend to latch on to products or functions and never release control. Such that it kills functionality and the evolution beyond the basic.  Everything is about the bare minimums as you don't have to work at it much.  You can float, do what you can, and go on.  So what if you never ever deliver new capabilities UNLESS it is POLITICALLY ADVANCING to do so.&lt;br /&gt;&lt;br /&gt;How do you save someone like this from themselves?  They refuse to listen.  They are already Lunar Lander personalities - "Tranquility Base here! The EGO has landed!".  They don't even have an inkling of what they don't know or understand. Yet they continue to drive out innovation.&lt;br /&gt;&lt;br /&gt;As a Manager of one of these personality types, it becomes dangerous for you. You either subscribe to the lineage of politics or they start politically going around you. So the deceit, lies, and ignorance perpetuates.  And the company continues to suffer.  It takes strong leadership to either control the politics or make a decision to oust the impediments to progress.  Both take intestinal fortitude, leadership, and a lot of paperwork.&lt;br /&gt;&lt;br /&gt;In summary, I wish I could reach these folks.  Have them understand the creativity and peoples careers they kill.  All in the name of self preservation.  Have them understand that a little common sense would open their whole world.&lt;br /&gt;&lt;br /&gt;In my career, I have been in this situation 4-5 times. A Situation where the only way to be successful is to compromise your principals and ethics and start sucking up.  My heart goes out to my friends that endure the torture of mindless decisions , the lack of experience and unwillingness to understand, and the unending political positioning and rambling rather than doing the right thing.&lt;br /&gt;&lt;br /&gt;I'm soo elated to be away from this.  Words cannot do justice to how elated and ecstatic I am to be able from the mindlessness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-4881619185990338579?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/4881619185990338579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/08/save-village-id-ten-t.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4881619185990338579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4881619185990338579'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/08/save-village-id-ten-t.html' title='Save the Village ID ten T'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-6026664978741676103</id><published>2010-08-15T21:17:00.000-05:00</published><updated>2010-08-15T21:17:12.837-05:00</updated><title type='text'>Event Management and Java programmers</title><content type='html'>Question:  Why is it a good idea to hire a Java programmer over someone with direct Netcool experience for a Netcool specific job?&lt;br /&gt;&lt;br /&gt;I recently heard about an open position for a Netcool specialist where they opened up the position to be more of a Java programmer slot.  In part, I think its a lack of understanding regarding supporting Netcool and understanding what it takes, domain knowledge wise, to be successful at it.&lt;br /&gt;&lt;br /&gt;Most Java programmers either want to do some SOA sort of thing, Jakarta and struts, Spring Framework, Tomcat / Jboss or some portal rehash sort of thing.  Most of these technologies have little to do with Netcool and rules.  In fact, the lack of domain knowledge around the behavior of Network and systems devices in specific failure induced conditions, may limit a true Java programmers ability to be successful without significant training and exposure over time.&lt;br /&gt;&lt;br /&gt;Here is the ugly truth:&lt;br /&gt;&lt;br /&gt;1. Not every problem can be adequately or most effectively solved with Object Oriented Programming. Some things are done much more efficiently in Turing machines or Finite State automata.&lt;br /&gt;&lt;br /&gt;2. You give away resources in OO to empower some level of portability and reuse. If your problem is linear and pretty static, why give away resources?&lt;br /&gt;&lt;br /&gt;3. With Oracle suing Google of copywrite enfringement over the use of Java, Java may be career limiting.  I mean, if Oracle is willing to initiate a lawsuit with Google which has the resources to handle such a lawsuit, how much more will it be willing to sue companies of significantly less legal resources?&lt;br /&gt;&lt;br /&gt;So, unless you plan on rewriting Netcool in Java, I'd say this repositioning is a pretty limiting move. And if you were foolish enough to think this is even close to being cost effective, I'd pretty much  say that as a Manager, you are dangerous to your company and share holders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-6026664978741676103?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/6026664978741676103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/08/event-management-and-java-programmers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6026664978741676103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6026664978741676103'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/08/event-management-and-java-programmers.html' title='Event Management and Java programmers'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-8312047050392941830</id><published>2010-07-11T22:58:00.001-05:00</published><updated>2010-07-14T14:49:17.430-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='ITIL'/><category scheme='http://www.blogger.com/atom/ns#' term='Event management'/><category scheme='http://www.blogger.com/atom/ns#' term='User Interfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='topology'/><category scheme='http://www.blogger.com/atom/ns#' term='Situation Awareness'/><category scheme='http://www.blogger.com/atom/ns#' term='Root Cause Analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='NMS'/><category scheme='http://www.blogger.com/atom/ns#' term='ENMS'/><title type='text'>ENMS User Interfaces...</title><content type='html'>Ever watch folks and how they use various applications?  When you do some research around the science of &lt;a href="http://en.wikipedia.org/wiki/Situation_awareness"&gt;Situation Awareness&lt;/a&gt;, you realize that human behavior in user interfaces is vital to understanding how to put information in front of users in ways that empowers the users inline with what they need.&lt;br /&gt;&lt;br /&gt;In ENMS related systems, it is imperative that you present information in ways that empower users to understand situations and conditions beyond just a single node. While all of the wares vendors have been focused on delivering some sort of &lt;a href="http://en.wikipedia.org/wiki/Root_cause_analysis"&gt;Root Cause Analysis&lt;/a&gt;, this may not be what is REALLY needed by the users.  And dependent upon whether you are a Service Provider or an Enterprise, the rules may be different.&lt;br /&gt;&lt;br /&gt;What I look for in applications and User Interfaces are ways to streamline the interaction versus being disruptive. If you are swapping a lot of screens, inherently look at your user.  If they have to readjust their vision or posture, the UI is disrupting their flow.  &lt;br /&gt;&lt;br /&gt;For example, if the user is looking at an events display and they execute a function as part of the menu.  This function produces a screen that overcomes the existing events display. If you watch your user, you will see them have to readjust to the screen change.&lt;br /&gt;&lt;br /&gt;I feel like this is one of the primary reasons ticketing systems do not capture more real time data.  It becomes too disruptive to keep changing screens so the user waits until later to update the ticket.  Inherently, data is filtered and lost.&lt;br /&gt;&lt;br /&gt;This has an effect on other processes.  One is that if you are attempting to do BSM scorecards, ticket loading and resource management in near real time, you don’t have all of the data to complete your picture.  In effect, situation awareness for management levels is skewed until the data is input.&lt;br /&gt;&lt;br /&gt;The second effect to this is that if you’re doing continuous process improvement, especially with the incident and problem management aspects of ITIL, you miss critical data and time elements necessary to measure and improve upon. &lt;br /&gt;&lt;br /&gt;Some folks have attempted to work around this by managing from ticket queues. So, you end up with one display of events and incoming situation elements and a second interface as the ticket interface.  In order to try to make this even close to being effective, the tendency is to automatically generate tickets for every incoming event. Without doing a lot of intelligent correlation up front, automatic ticket generation can be very dangerous.  Due diligence must be applied to each and every event that gets propagated or you may end up with false ticket generation or missed ticket opportunities.&lt;br /&gt;&lt;br /&gt;Consider this as well.  An Event Management system is capable of handling a couple thousand events pretty handily.  A Ticketing system that handles 2000 ongoing tickets at one time changes the parameters of many ticketing systems.  &lt;br /&gt;&lt;br /&gt;Also, consider that in Remedy 7.5, the potential exists that each ticket may utilize 1GB or more of Database space. 2000 active tickets means you’re actively working across 2TB of drive / database space.&lt;br /&gt;&lt;br /&gt;I like simple update utilities or popups that solicit information needed and move that information element back into the working Situation Awareness screen. For example, generating a ticket should be a simple screen to solicit data that is needed for the ticket that cannot be looked up directly or indirectly. Elements like ticket synopsis or symptom. Assignment to a queue or department. Changing status of a ticket.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Maps&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Maps can be handy.  But if you cannot overlay tools and status effectively or the map isn’t dynamic, it becomes more of a marketing display rather than a tool that you can use. This is even more prevalent when maps are not organized into hierarchies. &lt;br /&gt;&lt;br /&gt;One of the main obstacles is the canvas.  You can only place a certain amount of objects on a given screen. Some applications use scroll bars to enable you to get around.  Others use a zoom in - zoom out capability where they scale the size of the icons and text according to the zoom.  Others enable dragging the canvas.  Another approach is to use a Hyperbolic display where analysis of detail is accomplished by establishing a moveable region under a higher level map akin to a magnifying glass over a desktop document.&lt;br /&gt;&lt;br /&gt;3D displays get around the limitations of a small canvas a bit by using depth to position things in front or behind. However, 3D displays have to use techniques like LOD or Level of Details, or Fog to enable only more local objects are attended to, otherwise it has to render every object local and remote.  This can be computationally intensive.&lt;br /&gt;&lt;br /&gt;A couple of techniques I like in the 3D world are CAVE / Immersion displays and the concept of HUDs and Avatars.  CAVE displays display your environment from several perspectives including top, bottom, front, left, right, and even behind. Movement is accomplished interacting with one screen and the other screens are synchronized to the main, frontal screen.  This gives the user the effect of an immersive visual environment.&lt;br /&gt;&lt;br /&gt;A HUD or heads up display enables you to present real time information directly in front of a user regardless of position or view.&lt;br /&gt;&lt;br /&gt;The concept of an avatar is important in that if you have an avatar or user symbol, you can use that symbol to enable collaboration.  In fact, your proximity to a given object may be used to help others collaborate and team up to solve problems.&lt;br /&gt;&lt;br /&gt;Next week, I’ll discuss network layouts, transitioning, state and condition management, and morphing displays. Hopefully, in the coming weeks, I’ll take a shot at designing a hybrid, immersive 2D display that is true multiuser, and can be used as a solid tools and analysis visualization system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-8312047050392941830?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/8312047050392941830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/07/enms-user-interfaces.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8312047050392941830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8312047050392941830'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/07/enms-user-interfaces.html' title='ENMS User Interfaces...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-5293295509872100446</id><published>2010-07-11T12:03:00.002-05:00</published><updated>2010-07-14T14:47:05.293-05:00</updated><title type='text'>ENMS Architecture notes...</title><content type='html'>From the Architect…&lt;br /&gt;&lt;br /&gt;OK.  You’ve got a huge task before you.  You walk into an organization where you have an Event Management tool, a Network Management application, a Help Desk application, performance management applications, databases ad nauseum… And each becomes its own silo of a Beast.  Each with its own competing management infrastructure, own budget, and own support staff.&lt;br /&gt;&lt;br /&gt;I get emails every week from friends and colleagues facing this, as well as recruiters looking for an Architect that can come in for their customer, round up the wagons, and get everything in line going forward.&lt;br /&gt;&lt;br /&gt;Sounds rather daunting, doesn’t it.  Let’s look at what its going to take to get on track towards success.&lt;br /&gt;&lt;br /&gt;1. You need to identify and map out the Functional Empires. Who’s running what product and what is the current roadmap for each Functional Empire.&lt;br /&gt;2. You need to be aware of any upcoming product “deals”.&lt;br /&gt;3. You need to understand the organizational capabilities and the budget.&lt;br /&gt;4. In some instances, you’ll need to be strong enough technically to defend your architecture.  Not just to internal customers but to product vendors.  If you’re not strong enough technically, you need to find someone that is to cover you.&lt;br /&gt;5. You need to understand who the Executive is, what the goals are, and the timelines needed by the Corporation.&lt;br /&gt;ITIL is about processes.  I tend to label ITIL as Functional Process Areas.  These are the process areas needed in an effective IT Service.  FCAPS is about Functional Management Areas.  It is about the Functional Areas in which you need to organize and apply technology and workflow. eTOM adds Service Delivery and provisioning in a service environment into the mix as well.&lt;br /&gt;&lt;br /&gt;The standards are the easy part.&lt;br /&gt;&lt;br /&gt;The really hard part is merging the siloes you already have and doing so without selling the organization down the river. And the ultimate goal – Getting the users using the systems.&lt;br /&gt;&lt;br /&gt;The big 4 Wares vendors are counting on you not being able to consolidate the silos on your own.  I’ve heard the term “Best of Breed” is dead and “A single Throat to Choke” as being important to customers.  These are planted seeds that they want you to believe. The only way to even come close to merging in their eyes is to use only one vendor’s wares.&lt;br /&gt;&lt;br /&gt;When you deviate from addressing requirements and functionality in your implementation, you end up with whatever the vendor you picked says you’re gonna get. &lt;br /&gt;You need to put together a strategy that spans 2 major release cycles, and delineate the functionality needed across your design. Go back to the basics, incorporate the standards, and put EVERYTHING on the table. Your strategy needs to evolve into a vision of where the Enterprise Management system should be in the 2 major release time cycle.  The moment you let your guard down on focus, the chances that something thwart movement forward, will present itself.&lt;br /&gt;&lt;br /&gt;Be advised.  Regardless of how hard you work and what products and capabilities you implement, sometimes an organization becomes so narcissistic that it cannot change.  No matter what you do, nothing gets put into production because the people in the silos block your every move.  There are some that are totally resistant to change, evolution, and continuous improvement.&lt;br /&gt;&lt;br /&gt;And you’re up against a lot of propaganda. Every vendor will tell you they are the leader or market best.  And they will show you charts and statistics from analysis firms that show you that they are leaders or visionaries in the market space. It is all superfluous propaganda. Keep to requirements, capabilities, and proving/reproving these functions and their usability. &lt;br /&gt;&lt;br /&gt;And listen to your end users most carefully. If the function adds to their arsenal and adds value, it will be accepted. If the function gets in the way or creates confusion or distraction, it will not be used.&lt;br /&gt;&lt;br /&gt;--------------&lt;br /&gt;Cross posted at : &lt;a href="http://blog.sciencelogic.com/enterprise-network-management-systems-notes-from-the-architect/07/2010"&gt;http://blog.sciencelogic.com/enterprise-network-management-systems-notes-from-the-architect/07/2010&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-5293295509872100446?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/5293295509872100446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/07/enms-architecture-notes.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5293295509872100446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5293295509872100446'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/07/enms-architecture-notes.html' title='ENMS Architecture notes...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-3063755877360871276</id><published>2010-06-13T10:42:00.000-05:00</published><updated>2010-06-13T10:42:03.473-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3rd Herd'/><category scheme='http://www.blogger.com/atom/ns#' term='US Air Force'/><category scheme='http://www.blogger.com/atom/ns#' term='Tinker AFB'/><title type='text'>Appreciate our Military...</title><content type='html'>Saturday, I was flying back from Reston.  On my leg from O'Hare to Oklahoma City, I ran into some Airmen coming back from a deployment.  As we talked, I realized they were stationed at Tinker.  &lt;br /&gt;&lt;br /&gt;I told the Airman that I remember when my unit was the only unit on Tinker wearing Camos.  He told me I must have been in the 3rd Herd. We talked some about unit history.  How the original patch was an Owl and the motto was "World Wise Communications".  I also told him about the transition to the War Frog under Col. Lurie and the transition to the 3rd Herd under Col. Witt.&lt;br /&gt;&lt;br /&gt;On my building there used to be a sign painted on the roof:&lt;br /&gt;&lt;br /&gt;Дом третьей группы борьбе связь&lt;br /&gt;Всегда готов&lt;br /&gt;&lt;br /&gt;It means "Home of the 3rd Combat Communications Group. Always Prepared" in Russian. Col. Lurie was a bit hard core but it motivated us to be ready at all times.&lt;br /&gt;&lt;br /&gt;In the 80's - when I was stationed at Tinker - I was assigned to the 3rd Combat Communications Group.  From an Air Force perspective, it wasn't considered a "choice" assignment but I wanted it anyway.  Originally, out of Tech School, I had an assignment to Clark AB, Phillipines.  I swapped assignments to get to Tinker.&lt;br /&gt;&lt;br /&gt;I spent 6 1/2 years at the 3rd.  65 Tactical Air Base expercises. 35 Real world and JCS exercise deployments. 2 ORIs. Over 2 years in a tent. I earned my Combat Readiness Medal.&lt;br /&gt;&lt;br /&gt;Combat Comm can be hard duty.  Field conditions alot of times. You deploy on a moments notice anywhere in the world and you had to stay ready.  My deployment bag stayed packed.  And I had uniforms for jungle, desert, arctic, and chemical warefare that I maintained at all times.  You don't know when and how long you'll be gone.  &lt;br /&gt;&lt;br /&gt;Our equipment had to be ready to rock at all times as well. It was amazing how fast and how much equipment we moved when it become time to "Rock and Roll".&lt;br /&gt;&lt;br /&gt;What you do learn in a Unit like the 3rd:&lt;br /&gt;&lt;br /&gt;-  How to face difficult conditions and work through challenges&lt;br /&gt;-  Ability to survive and operate&lt;br /&gt;-  Mental and physical preparedness&lt;br /&gt;-  Adapting to the Mission&lt;br /&gt;-  Urgency of need&lt;br /&gt;-  Teamwork&lt;br /&gt;-  Perserverance, persistence, and focus. &lt;br /&gt;-  Never settle for anything less than your best.&lt;br /&gt;-  Leadership&lt;br /&gt;-  Strength of Character&lt;br /&gt;&lt;br /&gt;Many colleges have classes and discussions about these things but in the 3rd, you lived it.  You were immersed in it.&lt;br /&gt;&lt;br /&gt;In garrison, you trained and prepared.  On deployment, you delivered.&lt;br /&gt;&lt;br /&gt;I can't help but to thank alot of the folks I worked with and for. Col. Lurie. MSgt Olival. MSgt Reinhardt. CMSgt Kremer. Capt. Kovacs. 1LT Faughn. TSgt Tommy Brown. SSgt Jeff Brock. SSgt Tim Palmer. Sgt. Elmer Shipman. SSGt Nyberg. SSgt Roy David.  A1C David Cubit. A1C Vince Simmons. A1C Rod Pitts. SSgt Darren Newell. The list goes on and on.  We worked together.  Prepared and helped each other.&lt;br /&gt;&lt;br /&gt;The Airman I was talking to represented the United States of America, the Air Force, my old Unit, and those stripes very well. He is a testament to the dedication to duty, service, and country. And this got me to thinking.  I'm am a shadow Warrior from the Air Force's finest Combat Communications Group.  Behind Airman Whittington and his team are thousands of us Shadow Warriors (those that have served before him) who pray for those that are actively serving.  And we all hope and pray that the things we did while we were Active Duty helped in some small way, the ability of those that serve now to do better than we did.&lt;br /&gt;&lt;br /&gt;So - to Airman Whittington and Team. Thank you for what you do. Thank you for representing well.  God Bless ya'll! Welcome home!&lt;br /&gt;&lt;br /&gt;And to Airman Whittington personally - Congratulations on your upcoming promotion. Nice talking with you, Sir!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-3063755877360871276?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/3063755877360871276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/06/appreciate-our-military.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/3063755877360871276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/3063755877360871276'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/06/appreciate-our-military.html' title='Appreciate our Military...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-8700792077745683835</id><published>2010-05-26T21:24:00.000-05:00</published><updated>2010-05-26T21:24:17.835-05:00</updated><title type='text'>Tactical Integration Decisions...</title><content type='html'>Inherently, I am a pre-cognitive Engineer.  I think about and operate in a future realm.  It is they way I work best and achieve success.&lt;br /&gt;&lt;br /&gt;Recently I became aware of a situation where a commercial product replaced an older, in house developed product.   This new product has functionality and capabilities well beyond that of the "function" it replaced.&lt;br /&gt;&lt;br /&gt;During the integration effort, it was realized that a bit of event / threshold customization was needed on the SNMP Traps front in order to get Fault Management capabilities into the integration.&lt;br /&gt;&lt;br /&gt;In an effort to take a short cut, it was determined that they would adapt the new commercial product to the functionality and limitations of the previous "function".  This is bad for several reasons:&lt;br /&gt;&lt;br /&gt;1.  You limit the capabilities of the new product going forward to those functions that were in the previous function. No new capabilities.&lt;br /&gt;&lt;br /&gt;2.  You taint the event model of the commercial product to that of the legacy function.  Now all event customizations have to deal with old OIDs, and varbinds.&lt;br /&gt;&lt;br /&gt;3.  You limit the supportability and upgrade-ability of the new product.  Now, every patch, upgrade, and enhancement must be transitioned back to the legacy methodology. &lt;br /&gt;&lt;br /&gt;4. It defies common sense.  How can you "let go" of the past when when you readily limit yourself to the past?&lt;br /&gt;&lt;br /&gt;5. You assume that this product cannot provide any new value to the customer or infrastructure.&lt;br /&gt;&lt;br /&gt;You can either do things right the first time or you can create a whole new level of work that has to be done over and over. People that walk around backwards are resigned to the past. They make better historians than Engineers or Developers. How do you know where to go if you can't see anything but your feet or the end of your nose?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-8700792077745683835?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/8700792077745683835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/tactical-integration-decisions.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8700792077745683835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8700792077745683835'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/tactical-integration-decisions.html' title='Tactical Integration Decisions...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-2986012369564433195</id><published>2010-05-22T20:38:00.002-05:00</published><updated>2010-05-23T12:29:37.367-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ITIL'/><category scheme='http://www.blogger.com/atom/ns#' term='Managed Services'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='Office politics'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><category scheme='http://www.blogger.com/atom/ns#' term='ENMS'/><title type='text'>Support Model Woes</title><content type='html'>I find it ironic that folks claim to understand ITIL Management processes yet do not understand the levels of support model.&lt;br /&gt;&lt;br /&gt;Most support organizations have multiple ters of support. For example, there is usually a Level 1 which is the initial interface toward the customer.  Level 2 is usually a traige or technical feet on the street.  Level 3 is usually Engineering or Development.  In some cases, Level 4 is used to denote on site vendor support or third party support.&lt;br /&gt;&lt;br /&gt;In organizations where Level 1 does dispatch only or doesn't follow through problems with the customer, the customer ends up owning and following through the problem to solution. What does this say to customers?&lt;br /&gt;&lt;br /&gt;- There are technically equal to or better than level 1&lt;br /&gt;- they become accustomed to automatic escalation.&lt;br /&gt;- They lack confidence in the service provider&lt;br /&gt;- They look for specific Engineers versus following process&lt;br /&gt;- They build organizations specifically to follow and track problems through to resolution.&lt;br /&gt;&lt;br /&gt;If your desks do dispatch only, event management systems are only used to present the initial event leading up to a problem. What a way to render Netcool useless! Netcool is designed to display the active things that are happening in your environment. If all you ever do is dispatch, why do you need Netcool? Just generate a ticket straight away.  No need to display it.&lt;br /&gt;&lt;br /&gt;What? Afraid of rendering your multi-million dollar investment useless? Why leave it in a disfunctional state of semi-uselessness when you could save a significant amount of money getting rid of it?  Just think, every trap can become an object that gets processed like a "traplet" of sorts.  &lt;br /&gt;&lt;br /&gt;One of the first things that crops up is that events have a tendency to be dumb. Somewhere along the way, somebody had the bright idea that to put an agent  into production that is "lightweight" - meaning no intelligence or correlation built in. Its so easy to do little or nothing, isn't it? Besides, its someone elses problem to deal with the intelligence. In the &lt;br /&gt;vendors case, many times agent functionality is an afterthought.&lt;br /&gt;&lt;br /&gt;Your model is all wrong. And until the model is corrected, you will never realize the potential ROI of what the systems can provide. You cannot evolve because you have to attempt to retrofit everything back to the same broken model.  And when you automate, you automate the broken as well.&lt;br /&gt;&lt;br /&gt;Heres the way it works normally. You have 3 or 4 levels of support.&lt;br /&gt;&lt;br /&gt;Level 1 is considered first line and they perform the initial customer engagement, diagnostics and triage, and initiate workflow. Level 1 initiates and engages additional levels of support trackingt thingts through to completion.  In effect, level 1 owns the incident / problem management process but also provides customer engagement and fulfillment.&lt;br /&gt;&lt;br /&gt;Level 2 is specialized support for various areas like network, hosting, or application support.  They are engaged through Level 1 personnel and are matrixed to report to level 1, problem by problem such that they empower level 1 to keep the customer informed of status and timelines, set expectations, and answer questions.&lt;br /&gt;&lt;br /&gt;Level 3 is engaged when the problem becomes beyond the technical capabilities of levels 1 and 2, requires project, capital expenditure, architecture, and planning support.&lt;br /&gt;&lt;br /&gt;Level 4 is reserved for Vendor support or consulting support and engagement.&lt;br /&gt;&lt;br /&gt;A Level 0 ia used to describe automation and correlation performed before workflow is enacted.&lt;br /&gt;&lt;br /&gt;When you breakdown your workflow into these levels, you can start to optimize and realize ROI by reducing the cost of maintenance actions across the board. By establishing goals to solve 60-70% of all incidents at LEvel 1, Level 2-4 involvement helps to drive knowledge and understanding downward to level 1 folks why better utilizing level 2 - 4 folks.&lt;br /&gt;&lt;br /&gt;In order to implement these levels of support, you have organize and define your support organization accordingly.  Define its rolls and responsibilities, set expectations, and work towards success.  Netcool, as an Event Management platform, need to be aligned to the support model.  Things that ingress and egress tickets need to be updated in Netcool. Workflow that occurs, needs to update Netcool so that personnel have awareness of what is going on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-2986012369564433195?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/2986012369564433195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/support-model-woes.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2986012369564433195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2986012369564433195'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/support-model-woes.html' title='Support Model Woes'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-552711574785295383</id><published>2010-05-22T20:25:00.002-05:00</published><updated>2010-05-23T12:26:16.356-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ITIL'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><category scheme='http://www.blogger.com/atom/ns#' term='Office politics'/><category scheme='http://www.blogger.com/atom/ns#' term='ENMS'/><title type='text'>Politically based Engineering Organizations</title><content type='html'>When an organization is resistant to change and evolution, it can in many cases be attributed to weak technical leadership. Now this weakness can be because of the politicalization of Engineering and Development organizations. &lt;br /&gt;&lt;br /&gt;Some of the warning signs include:&lt;br /&gt;&lt;br /&gt;- Political assasinations to protect the current system&lt;br /&gt;- Senior personnel and very experienced people intimidate the management structure and are discounted&lt;br /&gt;- Inability to deliver&lt;br /&gt;- An unwillingness to question existing process or function.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;People that function at a very technical level find places where politics prevalent, a difficult place to work. &lt;br /&gt;&lt;br /&gt;- Management doesn't want to know whats wrong with their product.&lt;br /&gt;- They don't want to change.&lt;br /&gt;- They shun and avoid senior technical folks and experience is shunned.&lt;br /&gt;&lt;br /&gt;Political tips and tricks&lt;br /&gt;&lt;br /&gt;- Put up processes and negotiations to stop progress.&lt;br /&gt;- Random changing processes.&lt;br /&gt;- Sandbagging of information.&lt;br /&gt;- When something is brought to the attention of the Manager, the technical &lt;br /&gt;person's motivations are called into question.  What VALUE does the person bring to the Company?&lt;br /&gt;- The person's looks or mannerisms are called into question.&lt;br /&gt;- The persons heritage or background is called into question.&lt;br /&gt;- The person's ability to be part of a team is called into question.&lt;br /&gt;- Diversions are put in place to stop progress at any cost.&lt;br /&gt;&lt;br /&gt;General Rules of Thumb&lt;br /&gt;&lt;br /&gt;+ Politically oriented Supervisors kill technical organizations.&lt;br /&gt;+ Image becomes more important than capability.&lt;br /&gt;+ Politicians cannot fail or admit failure.  Therefore, risks are avoided.&lt;br /&gt;+ Plausible deniability is prevalent in politics.&lt;br /&gt;+ Blame-metrics is prevalent.  "You said..."&lt;br /&gt;&lt;br /&gt;Given strong ENGINEERING leadership, technical folks will grow very quickly. Consequently, their product will become better and better as you learn new techniques and share them, everyone gets smarter. True Engineers have a willingness to help others, solve problems, and do great things. A little autonomy and simple recognitions and you're off to the races.&lt;br /&gt;&lt;br /&gt;Politicians are more suited to Sales jobs. Sales is about making the numbers at whatever cost. In fact, Sales people will do just about anything to close a deal. They are more apt to help themselves than to help others unless it also helps themselves. Engineers need to know that their managers have their backs. Sales folks have allegiance to the sale and themselves... A bad combination for Engineers.&lt;br /&gt;&lt;br /&gt;One of the best and most visionary Vice Presidents I've ever worked under, John Schanz once told us in a Group meeting that he wanted us to fail. Failure is the ability to discover what doesn't work. So, Fail only once.  And be willing to share your lessons, good and bad. And dialog is good.  Keep asking new questions.   &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In Operations, Sales people can be very dangerous.  They have the "instant gratification" mentality in many cases. Sign the PO, stand up the product, and the problem is solved in their minds.  They lack the understanding that true integration comes at a personal level with each and every user. This level of integration is hard to achieve. And when things don't work or are not accepted, folks are quick to blame someone or some vendor.&lt;br /&gt;&lt;br /&gt;The best Engineers, Developers, and Architects are the ones that have come up through the ranks.  They have worked in a NOC or Operations Center.  They have fielded customer calls and problems.  They understand how to span from the known to and unknown even when the customer is right there.  And they learn to think on their feet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-552711574785295383?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/552711574785295383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/politically-based-engineering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/552711574785295383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/552711574785295383'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/politically-based-engineering.html' title='Politically based Engineering Organizations'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-6722438526878134833</id><published>2010-05-20T23:31:00.001-05:00</published><updated>2010-05-23T12:27:43.823-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Alarm Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Leadership'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Office politics'/><category scheme='http://www.blogger.com/atom/ns#' term='ENMS'/><title type='text'>Architecture and Vision</title><content type='html'>One of the key aspects of OSS/ENMS Architecture is that you need to build a model that is realizable in 2 major product release cycles, of where you'd like to be, systems, applications, and process wise.  This equates usually to an 18-24 month "what it needs to look like" sort of vision.&lt;br /&gt;&lt;br /&gt;Why? &lt;br /&gt;&lt;br /&gt;- It provides a reference model to set goals and objectives.&lt;br /&gt;- It aligns development and integration teams toward a common roadmap&lt;br /&gt;- It empowers risk assessment and mitigation in context.&lt;br /&gt;- It empowers planning as well as execution.&lt;br /&gt;&lt;br /&gt;What happens if you don't?&lt;br /&gt;&lt;br /&gt;- You have a lot of "cowboy" and rogue development efforts.&lt;br /&gt;- Capabilities are built in one organization that kill capabilities and performance in other products.&lt;br /&gt;- Movement forward is next to impossible in that when something doesn't directly agree with the stakeholder's localized vision, process pops up to block progress.&lt;br /&gt;- You create an environment where you HAVE to manage to the Green.&lt;br /&gt;- Any flaws or shortcomings in localized capabilities results in fierce political maneuvering.&lt;br /&gt;&lt;br /&gt;What are the warning signs?&lt;br /&gt;&lt;br /&gt;- Self directed design and development&lt;br /&gt;- Products that are deployed in multiple versions.&lt;br /&gt;- You have COTS products in production that are EOLed or are no longer supported.&lt;br /&gt;- Seemingly simple changes turn out to require significant development efforts.&lt;br /&gt;- You are developing commodity product using in house staff.&lt;br /&gt;- You have teams with an Us vs. Them mentality.&lt;br /&gt;&lt;br /&gt;Benefits?&lt;br /&gt;&lt;br /&gt;- Products start to become "Blockified".  Things become easier to change, adapt, and modify.&lt;br /&gt;- Development to Product to Support to Sales becomes aligned.  Same goals.&lt;br /&gt;- Elimination of a lot of the weird permutations. No more weird products that are marsupials and have duck bills.&lt;br /&gt;- The collective organizational intelligence goes up. Better teamwork.&lt;br /&gt;- Migration away from "Manage to the Green" towards a Teamwork driven model.&lt;br /&gt;- Better communication throughout.  No more "Secret Squirrel" groups.&lt;br /&gt;&lt;br /&gt;OSS ought to own a Product Catalog, data warehouse, and CMS. Not a hundred different applications.  OSS Support should own the apps the the users should own the configurations and the data as these users need to be empowered to use the tools and systems as they see fit.&lt;br /&gt;&lt;br /&gt;Every release of capability should present changes to the product catalog. New capabilities, new functions, and even the loss of functionality, needs to be kept in synch with the product teams.  If I ran product development, I'd want to be a lurker on the Change Advisory Board and I'd want my list published and kept up to date at all times. Add a new capability.  OSS had BETTER inform product teams.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-6722438526878134833?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/6722438526878134833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/architecture-and-vision.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6722438526878134833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6722438526878134833'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/architecture-and-vision.html' title='Architecture and Vision'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-7875657013081703369</id><published>2010-05-20T22:46:00.001-05:00</published><updated>2010-05-23T12:31:58.467-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Netcool Users Group'/><category scheme='http://www.blogger.com/atom/ns#' term='Netcool'/><title type='text'>INUG Activities...</title><content type='html'>Over the past few weeks, I've made a couple of observations regarding INUG traffic...&lt;br /&gt;&lt;br /&gt;Jim Popovitch A Stalwart in the Netcool community, left IBM and the Netcool product behind to go to Monolith! What the hell does that say?&lt;br /&gt;&lt;br /&gt;There was some discussion of architectural problems with Netcool and after that - CRICKETS.  Interaction on the list by guys like Rob Cowart, Victor Havard, Jim - Silence.  Even Heath Newburn's posts are very short.&lt;br /&gt;&lt;br /&gt;There is a storm brewing.  Somebody SBDed the party. And you can smell I mean tell.  The SBD was licensing models. EVERYONE is checking their shoes and double checking their implementations.  While Wares vendors push license "true ups" as a way to drive adoption and have them pay later, on the user side it is seen as Career Limiting as it is very difficult to justify your existence when you have to go back to the well for an unplanned budget item at the end of the year.&lt;br /&gt;&lt;br /&gt;Something is brewing because talk is very limited.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-7875657013081703369?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/7875657013081703369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/inug-activities.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7875657013081703369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7875657013081703369'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/inug-activities.html' title='INUG Activities...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-5774923260502276640</id><published>2010-05-20T04:07:00.001-05:00</published><updated>2010-05-23T12:31:26.673-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='competition'/><category scheme='http://www.blogger.com/atom/ns#' term='Product Evaluation'/><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><title type='text'>Product Evaluations...</title><content type='html'>I consider product competition as a good thing.  It keeps everyone working to be the best in breed, deliver the best and most cost effective solution to the customer, and drives the value proposition. &lt;br /&gt;&lt;br /&gt;In fact, in product evaluations I like to pit vendors products against each other so that my end customer gets the best solution and the most cost effective. For example, I use capabilities that may not have been in the original requirements to further the customer capability refinement.  If they run across something that makes their life better, why not leverage that in my product evaluations? In the end, I get a much more effective solution and my customer gets the best product for them.&lt;br /&gt;&lt;br /&gt;When faced with using internal resources to develop a capability and using an outside, best of breed solution, danger exists in that if you grade on a curve for internally developed product, you take away competition and ultimately the competitive leadership associated with a Best of Breed product implementation.&lt;br /&gt;&lt;br /&gt;It is too easy to start to minimize requirements to the bare necessities and to further segregate these requirements into phases.  When you do, you lose the benefit of competition and you lose the edge you get when you tell the vendors to bring the best they have.&lt;br /&gt;&lt;br /&gt;Its akin to looking at the problem space and asking what is th bare minimum needed to do this.  Or asking what is the best solution for this problem set?  Two completely different approaches. &lt;br /&gt;&lt;br /&gt;If you evaluate on bare minimums, you get bare minimums. You will always be behind the technology curve in that you will never consider new approaches, capabilities, or technology in your evaluation. And your customer is always left wanting. &lt;br /&gt;&lt;br /&gt;It becomes even more dangerous when you evaluate internally developed product versus COTS in that, if you apply the minimum curve gradient to only the internally developed product, the end customer only gets bare minimum capabilities within the development window.  No new capabilities.  No new technology.  No new functionality.&lt;br /&gt;&lt;br /&gt;It is not a fair and balanced evaluation anyway if you only apply bare minimums to evaluations. I want the BEST solution for my customer. Bare minimums are not the BEST for my customer.  They are best for the development team because now, they don't have to be the best.  They can slow down innovation through development processes.  And the customer suffers.&lt;br /&gt;&lt;br /&gt;If you're using developer in house, it is an ABSOLUTE WASTE of company resources and money to develop commodity software that does not provide clear business discriminators. Free is not a business discriminator in that FREE doesn't deliver any new capabilities - capabilities that commodity software doesn't already have.&lt;br /&gt;&lt;br /&gt;Inherently, there are two mindsets that evolve.  You take away or you empower the customer. A Gatekeeper or a Provider.&lt;br /&gt;&lt;br /&gt;If you do bare minimums, you take away capabilities that the customer wants but because it may not be a bare minimum, the capability is taken away.&lt;br /&gt;&lt;br /&gt;If you evaluate on Best of Breed, you ultimately bring capabilities to them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-5774923260502276640?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/5774923260502276640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/product-evaluations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5774923260502276640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5774923260502276640'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/product-evaluations.html' title='Product Evaluations...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-4820769455897367626</id><published>2010-05-18T14:23:00.000-05:00</published><updated>2010-05-18T14:23:25.934-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Managed Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Service Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Waffle House'/><title type='text'>IT Managed Services and Waffle House</title><content type='html'>OK.&lt;br /&gt;&lt;br /&gt;So now you're thinking - What the hell does Waffle House have to do with IT Managed Services.  Give me a minute and let me 'splain it a bit!&lt;br /&gt;&lt;br /&gt;When you go into a Waffle House, immediately you get greeted at the door.  Good morning! Welcome to Waffle House!  If the place is full, you may have a door corps person to seat you in waiting chairs and fetch you coffee or juice while you're waiting.&lt;br /&gt;&lt;br /&gt;When you get to the table, the Waitress sets up your silverware and ensures you have something to drink.  Asks you if you have decided on what you'd like. &lt;br /&gt;&lt;br /&gt;When they get your order, they call in to the cook what you'd like to eat.&lt;br /&gt;&lt;br /&gt;A few minutes later, food arrives, drinks get refilled, and things are taken care of.&lt;br /&gt;&lt;br /&gt;Pretty straightforward, don't you think?  One needs to look at the behaviors and mannerisms od successful customer service representatives to see what behaviors are needed in IT Managed Services.&lt;br /&gt;&lt;br /&gt;1.  The Customer is acknowledged and engaged at the earliest possible moment.&lt;br /&gt;&lt;br /&gt;2.  Even if there are no  open tables, work begins to establish a connection and a level of trust.&lt;br /&gt;&lt;br /&gt;3. The CSR establishes a dialog and works to further the trust and connection. To the customer, they are made to feel like they are the most important customer in the place. (Focus, eye contact. Setting expectations. Assisting where necessary.)&lt;br /&gt;&lt;br /&gt;4. They call in the order to the cook.  First, meats are pulled as they take longer to cook. Next, if you watch closely, the cook lays out the order using a plate marking system.  The customer then prepares the food according to the plate markings.&lt;br /&gt;&lt;br /&gt;5.  Food is delivered.  Any open ends are closed. (drinks)&lt;br /&gt;&lt;br /&gt;6.  Customer finishes.  Customer is engaged again to address any additional needs.&lt;br /&gt;&lt;br /&gt;7.  Customer pays out. Satisfied.&lt;br /&gt;&lt;br /&gt;All too often, we get IT CSRs that don't readily engage customers. As soon as they assess the problem, they escalate to someone else.  This someone else then calls the customer back, reiterates the situation, then begins work.  When they cannot find the problem or something like a supply action of technician dispatch needs to occur, the customer gets terminated and re-initiated by the new person in the process.&lt;br /&gt;&lt;br /&gt;In Waffle House, if you got waited on by a couple of different waitresses and the cook, how inefficient would that be?  How confusing would that be as a customer? Can you imagine the labor costs to support 3 different wait staff even in slow periods?  How long would Waffle House stay in business? &lt;br /&gt;&lt;br /&gt;Regarding the system of calling and marking out product... This system is a process thats taught to EVERY COOK and Wait staff person in EVERY Waffle House EVERYWHERE. The process is tried, vetted, optimized, and implemented. And the follow through is taken care of by YOUR Wait person.  The one thats focused on YOU, the Customer.&lt;br /&gt;&lt;br /&gt;I wish I could take every Service provider person and manager and put them through 90 days of Waffle House Boot Camp. Learn how to be customer focused.  Learn urgency of need, customer engagement, trust, and services fulfillment. If you could thrive at Waffle House and take with you the customer lessons, customer service in an IT environment should be Cake.&lt;br /&gt;&lt;br /&gt;And it is living proof that workflow can be very effective even at a very rudimentary level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-4820769455897367626?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/4820769455897367626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/it-managed-services-and-waffle-house.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4820769455897367626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4820769455897367626'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/it-managed-services-and-waffle-house.html' title='IT Managed Services and Waffle House'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-6114007311751113153</id><published>2010-05-11T17:24:00.001-05:00</published><updated>2010-05-11T17:26:11.940-05:00</updated><title type='text'>Blocking Data</title><content type='html'>Do yourself a favor.&lt;br /&gt;&lt;br /&gt;Take a 10000 line list of names, etc. and put it in a Database.  Now, put that same list in a single file.&lt;br /&gt;&lt;br /&gt;Crank up a term window and a SQL client on one and command line on another. Pick a pattern that gets a few names from the list.&lt;br /&gt;&lt;br /&gt;Now in the SQL Window, do a SELECT * from Names WHERE name LIKE 'pattern'; &lt;br /&gt;&lt;br /&gt;In a second window, do a grep 'pattern' on the list file.&lt;br /&gt;&lt;br /&gt;Now hit return on each - simultaneously if possible. Which one did you see results first?&lt;br /&gt;&lt;br /&gt;The grep, right!!!!&lt;br /&gt;&lt;br /&gt;SQL is Blocking code.  The access blocks until it returns with data. If you front end an application with code that doesn't do callbacks right and doesn't handle the blocking, what happens to your UI?  IT BLOCKS!&lt;br /&gt;&lt;br /&gt;Blocking UIs are what?  Thats right! JUNK!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-6114007311751113153?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/6114007311751113153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/blocking-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6114007311751113153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6114007311751113153'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/blocking-data.html' title='Blocking Data'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-2296513714700584038</id><published>2010-05-09T16:54:00.000-05:00</published><updated>2010-05-09T16:54:47.724-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtual machines'/><category scheme='http://www.blogger.com/atom/ns#' term='speed of Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='memcached'/><category scheme='http://www.blogger.com/atom/ns#' term='ENMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>ENMS Products and Strategies</title><content type='html'>Cloud Computing is changing the rules of how IT and ENMS products are done. With Cloud Computing, resources being configurable and adaptable very quickly, applications are also changing to fit the paradigm of fitting in a virtual machine instance.  We may even see apps deployed with their own VMs as a package.&lt;br /&gt;&lt;br /&gt;This also changes the rules of how Service providers deliver.  In the past, you had weeks to get the order out, setup the hardware, and do the integration.  In the near future, all Service providers and application wares vendors will be pushed to Respond and Deliver at the speed of Cloud.&lt;br /&gt;&lt;br /&gt;It changes a couple of things real quickly:&lt;br /&gt;&lt;br /&gt;1. He who responds and delivers first will win.&lt;br /&gt;2. Relationships don't deliver anything. Best of Breed is back. No excuse for the blame game.&lt;br /&gt;3. If it takes longer for you to fix a problem than it does to replace, GAME OVER!&lt;br /&gt;4. If your application takes too long to install or doesn't fit in the Cloud paradigm, it may become obsolete SOON.&lt;br /&gt;5. In instances where hardware is required to be tuned to the application, appliances will sell before buying your own hardware.&lt;br /&gt;6. In a Cloud environment, your Java JRE uses resources.  Therefore it COSTS.  Lighter is better. Look for more Perl, Python, PHP and Ruby.  And Javascript seems to be a language now!&lt;br /&gt;&lt;br /&gt;Some of the differentiators in the Cloud:&lt;br /&gt;&lt;br /&gt;1. Integrated system and unit tests with the application.&lt;br /&gt;2. Inline knowledge base.&lt;br /&gt;3. Migration from tool to a workflow strategy.&lt;br /&gt;4. High agility. Configurability. Customizeability.&lt;br /&gt;5. Hyper-scaling technology like memcached and distributed databases incorporated.&lt;br /&gt;6. Integrated products on an appliance or VM instance.&lt;br /&gt;7. Lightweight and Agile Web 2.0/3.0 UIs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-2296513714700584038?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/2296513714700584038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/enms-products-and-strategies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2296513714700584038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2296513714700584038'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/enms-products-and-strategies.html' title='ENMS Products and Strategies'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-6778954699855578805</id><published>2010-05-09T07:26:00.000-05:00</published><updated>2010-05-09T07:26:07.716-05:00</updated><title type='text'>SNMP MIBs and Data and Information Models</title><content type='html'>Recently, I was having a discussion about SNMP MIB data and organization and its application into a Federated CMDB and thought it might provoke a bit of thought going forward.&lt;br /&gt;&lt;br /&gt;When you compile a MIB for a management application, what you do is to organize the definitions and the objects according to name a OID, in a way thats searchable and applicable to  performing polling, OID to text interpretation, variable interpretation, and definitions.  In effect, you compiled MIB turns out to be every possible SNMP object you could poll from in your enterprise.&lt;br /&gt;&lt;br /&gt;This "Global Tree" has to be broken down logically with each device / agent.  When you do this, you build an information model related to each managed object. In breaking this down further, there are branches that are persistent for every node of that type and there are branches that are only populated / instanced if that capability is present. &lt;br /&gt;&lt;br /&gt;For example, on a Router that has only LAN type interfaces, you'd see MIB branches for Ethernet like interfaces but not DSX or ATM.  These transitional branches are dependent upon configuration and presence of CIs underneath the Node CI - associated with the CIs corresponding to these functions.&lt;br /&gt;&lt;br /&gt;From a CMDB Federation standpoint, a CI element has a source of truth from the node itself, using the instance provided via the MIB, and the methods via the MIB branch and attributes.  But a MIB goes even further to identify keys on rows in tables, enumerations, data types, and descriptive definitions.  A MIB element can even link together multiple MIB Objects based on relationships or inheritance.&lt;br /&gt;&lt;br /&gt;In essence, I like the organization of NerveCenter Property Groups and Properties:&lt;br /&gt;&lt;br /&gt;Property Groups are initially organized by MIB and they include every branch in that MIB. And these initial Property Groups are assigned to individual Nodes via a mapping of the system.sysObjectID to Property Group.  The significance of the Property Group is that is contains a list of the MIB branches applicable to a given node. &lt;br /&gt;&lt;br /&gt;These Property Groups are very powerful in that it is how Polls, traps, and other trigger generators are contained and applied according to the end node behavior. For example, you could have a model that uses two different MIB branches via poll definitions, but depending the node and its property group assignment, only the polls applicable to the node's property group, are applied. Yet it is done with a single model definition.&lt;br /&gt;&lt;br /&gt;The power behind property groups was that you could add custom properties to property groups and apply these new Property Groups on the fly. So, you could use a custom property to group a specific set of nodes together.  &lt;br /&gt;&lt;br /&gt;I have setup 3 distinct property groups in NerveCenter corresponding to 3 different polling interval SLAs and used a common model to poll at three different rates dependent upon the custom properties for Cisco_basic, Cisco_advanced, and Cisco_premium to poll at 2 minutes, 1 minute, or 20 seconds respectively.&lt;br /&gt;&lt;br /&gt;I used the same trigger name for all three poll definitions but set the property to only be applicable to Cisco_basic, Cisco_advanced, or Cisco_premium respectively.&lt;br /&gt;&lt;br /&gt;What Property Groups do is to enable you to setup and maintain a specific MIB tree for a given node type. Taking this a bit further, in reality, every node has its own MIB tree.  Some of the tree is standard for every node of the same type while other branches are option or capability specific.  This tree actually corresponds to the information model for any given node.&lt;br /&gt;&lt;br /&gt;Seems kinda superfluous at this point. If you have an information model, you have a model of data elements and the method to retrieve that data.  You also have associative data elements and relational data elements. Whats missing?&lt;br /&gt;&lt;br /&gt;Associated with these CIs related to capabilities like a DSX interface or an ATM interface or even something as mundane as an ATA Disk drive, are elements of information like technical specifications and documentation, process information, warranty and maintenance information.. even mundane elements like configuration notes.  &lt;br /&gt; &lt;br /&gt;So, when you're building your information model, the CMDB is only a small portion of the overall information system. But it can be used to Meta or cross reference other data elements and help to turn these into a cohesive information model.&lt;br /&gt;&lt;br /&gt;This information model ties well into fault management, performance management, and even ITIL Incident, Problem and change management. But you have to think of the whole as an Information model to make things work effectively.&lt;br /&gt;&lt;br /&gt;Wouldn't it be awesome if to could manage and respond by service versus just a node?  When you get an event on a node, do you enrich the event to provide the service or do you wait until a ticket is open? If the problem was presented as a service issue, you could work it as a service issue. For example, if you know the service lineage or pathing, you can start to overlay elements of information that empower you to start to put together a more cohesive awareness of your service.&lt;br /&gt;&lt;br /&gt;Lets say you have a simple 3 tier Web enabled application that consists of a Web Server, and application Server, and a Database.  On the periphery, you have network components, firewalls, switches, etc. How valuable is just the lineage?  Now, if I can overlay information elements on this ontology, it comes alive. For example, show me a graph of CPU performance on everything in the lineage. Add in memory and IO utilization. If I can overlay response times for application transactions, the picture becomes indispensable as an aid to situation awareness.&lt;br /&gt;&lt;br /&gt;Looking at things from a different perspective, what if I could overlay network errors.  Or disk errors. What about other, seemingly irrelevant elements of information like ticket activities or the amount of support time spent on each component in the service lineage, takes data and empowers you to present it in a service context.&lt;br /&gt;&lt;br /&gt;On a BSM front, what if I could overlay the transaction rate with CPU, IO, Disk, or even application memory size or CPU usage?  Scorecards start becoming a bit more relevant it would seem.&lt;br /&gt;&lt;br /&gt;In Summary&lt;br /&gt;&lt;br /&gt;SNMP MIB data is vital toward not only the technical aspects of polling and traps but conversion and linkage to technical information. SNMP ius a source of truth for a significant number of CIs and the MIB definitions tell you how the information is presented.&lt;br /&gt;&lt;br /&gt;But all this needs to be part of an Information plan.  How do I take this data, derive new data and information, and present it to folks when they need it the most?&lt;br /&gt;&lt;br /&gt;BSM assumes that you have the data you need organized in a database that can enable you to present scorecards and service trees.   Many applications go through very complex gyrations on SQL queries in an attempt to pull the data out. When the data isn't there or it isn't fully baked, BSM vendors may tend to stub up the data to show that the application works.  This gets the sale but the customer ends up finding that the BSM application isn't as much out of the box as the vendor said it was.&lt;br /&gt;&lt;br /&gt;These systems depend on Data and information.  Work needs to be done to align and index data sources toward being usable. For example, if you commonly use inner and outer joins in queries, you haven't addressed making your data accessible.  If it takes elements from 2 tables to do selects on others, you need to work on your data model.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-6778954699855578805?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/6778954699855578805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/snmp-mibs-and-data-and-information.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6778954699855578805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6778954699855578805'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/snmp-mibs-and-data-and-information.html' title='SNMP MIBs and Data and Information Models'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-3353285510970368631</id><published>2010-05-03T05:29:00.002-05:00</published><updated>2010-05-03T10:15:37.879-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CEP'/><category scheme='http://www.blogger.com/atom/ns#' term='Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='Complex Event Processing'/><category scheme='http://www.blogger.com/atom/ns#' term='Bayesian Belief Networks'/><title type='text'>Event Processing...</title><content type='html'>I ran across this blog post by &lt;a href="http://sg.linkedin.com/in/timbass"&gt;Tim Bass&lt;/a&gt; on Complex Event Processing dubbed "&lt;a href="http://www.thecepblog.com/2010/02/28/orwellian-event-processing/"&gt;Orwellian Event Processing&lt;/a&gt;" and it struck a nerve.&lt;br /&gt;&lt;br /&gt;The rules we build into products like Netcool Omnibus, HP Openview, and others are all based on simple if-then-else logic.  Yet, through fear that somebody may do something bad with an event loop, recursive processing is shunned.&lt;br /&gt;&lt;br /&gt;In his blog, he describes his use of &lt;a href="http://en.wikipedia.org/wiki/Bayesian_network"&gt;Bayesian Belief Networks&lt;/a&gt; to learn versus the static if-then-else logic. &lt;br /&gt;&lt;br /&gt;Because BBNs learn patterns through evidence and though cause and effect, the application of BBNs in common event classification and correlation systems makes total sense. And the better you get at classification, the better you get at dealing with uncertainty.&lt;br /&gt;&lt;br /&gt;In its simplest form, BBNs output a ratio of occurrences ranging from 1 to -1 where 1 is 100 percent that an element in a pattern occurs and -1 or 100% that an element in a pattern never occurs.&lt;br /&gt;&lt;br /&gt;The interesting part is that statistically, a BBN will recognize patterns that a human cannot.  We naturally filter out things that are obfuscated or don't appear relevant.&lt;br /&gt;&lt;br /&gt;What if I could have a BBN build my rules files for Netcool based upon statistical analysis of the raw event data?   What would it look like as compared to current rule sets? Could I setup and establish patterns that lead up to an event horizon?  Could I also understand the cause an effect of an event?  What would that do to the event presentation?&lt;br /&gt;&lt;br /&gt;Does this not open up the thought that events are presented in patterns?  How could I use that to drive up the accuracy of event presentation?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-3353285510970368631?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/3353285510970368631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/event-processing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/3353285510970368631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/3353285510970368631'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/event-processing.html' title='Event Processing...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-7618101638641438903</id><published>2010-05-02T12:50:00.001-05:00</published><updated>2010-05-03T10:17:08.409-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Management'/><category scheme='http://www.blogger.com/atom/ns#' term='CMDB'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Cloud Computing - Notes from a guy behind the curtain</title><content type='html'>The latest buzz is Cloud computing.  When I attended a CloudCamp hosted here in St. Louis, it became rather obvious that the term Cloud computing has an almost unlimited supply of definitions depending upon which Marketing Dweeb you talk to.  It can range from everything from hosted MS Exchange to hosted VMs to applications and even hosted services.  I'm really not in a position to say what Cloud is or isn't and in fact, I don't believe theres any way to win that argument.  Cloud computing is a marketing perception that is rapidly morphing into whatever marketing types deem necessary to sell something.  right or wrong - the spin doctors own the term and it is whatever they think will sell.&lt;br /&gt;&lt;br /&gt;In my own perception, Cloud Computing is a process by which applications, services, and infrastructure are delivered to a customer in a rapid manner and empowers the customer to pay for what they use in small, finite increments.  Cloud Computing incorporates a lot of technologies and process to make this happen.  Technology like Virtualization, configuration management databases, hardware, and software.&lt;br /&gt;&lt;br /&gt;What used to take days or weeks to deliver now takes minutes. MINUTES.  What does this mean? It takes longer to secure an S Corp and setup a corresponding Tax ID than it does to setup and deliver a new companies web access to customers.  And not just local, down home Main street customers but you are in business, competing at a GLOBAL LEVEL in MINUTES. And you pay as you go!&lt;br /&gt;&lt;br /&gt;Sounds tasty, huh. Now heres a kink. How the heck do you manage this?  I know the big Four Management companies say a relationship is more important than Best of Breed. I've heard in in numerous presentations and conversations. If you are in a position to sit still in business, this may be OK for you. Are you so secure in your market space that you do not fear competition to the point where you would sit idly?&lt;br /&gt;&lt;br /&gt;Their products reflect this same lack of concern in that it is the same old stuff.  It hasn't evolved much - it takes forever to get up and running and it takes months to be productive. For example, IBM Tivoli ITNM/IP. Takes at least a week of planning just to get ready to install it - IF you have hardware. Next, you need another week and consulting to get things cranking on a discovery for the first time. Takes weeks to integrate in your environment dealing with community string issues, network access, and even dealing with discovery elements.&lt;br /&gt;&lt;br /&gt;Dealing with LDAP and network views is another nightmare altogether.&lt;br /&gt;&lt;br /&gt;The UI is clunky, slow, and non-interactive. Way too slow to be used interactively as a diagnostic tool. At least you could work with NNM in earlier versions to get some sort of speed. (Well, with the Web UI, you had HP - slower than molasses -  and then when you needed something that worked you bought Edge Technologies or Onion Peel.) In the ITNM/IP design, somebody in their infinite wisdom decided to store the map objects and map instances in a binary glob field in MySQL.  At least if you had the coordinates you could FIX the topoviz maps or even display them in something a bit faster and more Web 2.0 - Like Flash / Flex.  (Hardware is CHEAP!)&lt;br /&gt;&lt;br /&gt;And how do you apply this product to a cloud infrastructure?  If you can only discover once every few days, I think you're gonna miss a few customers setting up new infrastructures and not to mention any corresponding VMotion events that occur when things fail or load balance. How do you even discover and display the virtual network infrastructure with the real network infrastructure?&lt;br /&gt;&lt;br /&gt;Even if you wanted to use it like TADDM, Tideway, or DDMi, the underlying database is not architected right.  It doesn't allow you to map out the relationships between entities enough to make it viable. Even if you did a custom Discovery agent and plugged in NMap - (Hey! Everybody uses it!) you cannot fit the data correctly.  And it isn't even close to the CIM schema.&lt;br /&gt;&lt;br /&gt;And every time you want some additional functionality like performance data integration, its a new check and a new ball game.  They sort of attempt to address this by enabling short term polling via the UI.  Huge Fail.  How do you look at data from yesterday?  DOH!&lt;br /&gt;&lt;br /&gt;ITNM/IP + Cloud == Shelfware.&lt;br /&gt;&lt;br /&gt;If we are expected to respond at the speed of Cloud, there is a HUGE Pile of Compost consisting of management technology of the past that just isn't going to make it.  These products take too much support, take too much resources to maintain, and they hold back innovation. The cost just doesn't justify the integration.  Even the products we considered as untouchables. Many have been architected in a way that paints them in a corner.  Once you evolve a tool kit into a solution, you have to take care not to close up integration capabilities along the way.  &lt;br /&gt;&lt;br /&gt;They take too long to install, take a huge level of effort to keep running, and the yearly maintenance costs can be rather daunting. The Cloud methodology kind of changes the rules a bit.    In the cloud, its SaaS. You sign up for management. You pay for what you get.  If you don't like it or want something else, presto changeo - an hour later, you're on a new plan! AND you pay as you go. No more HUGE budget outlays, planning, and negotiation cycles.  No more "True-Ups" at the end of the year that kill your upward mobility and career.&lt;br /&gt;&lt;br /&gt;BMC - Bring More Cash&lt;br /&gt;EMC - EXtreme Monetary Concerns&lt;br /&gt;IBM - I've Been Mugged!&lt;br /&gt;HP  - Huge PriceTag!&lt;br /&gt;CA  - Cash Advanced!&lt;br /&gt;&lt;br /&gt;Think about Remedy.  Huge Cash outlay up front.  Takes a long time to get up and running.  Takes even longer to get into production. Hard to change over time. And everything custom becomes an ordeal at upgrade time.&lt;br /&gt;&lt;br /&gt;They are counting on you to not be able to move.  That you have become so political and process bound, you couldn't replace it if you wanted to.  In fact, in the late 80s and early 90s, there was the notion that the applications that ran on mainframes could never be moved off of those huge platforms. I remember working on the transition from Space Station Freedom to International Space Station Information systems.  The old MacDac folks kept telling up there was no way we could move to open systems.  Especially on time and under budget. 9 months later, 2 ES9000 Duals and a bunch of Vaxes repurposed. 28 Applications migrated. Reduced support head count from over 300 to 70. And it was done with less than half of the cost of software maintenance for a year.  New software costs ~15% of what they were before. And we had alot more users. And it was faster too! NASA. ESA. CSA. NASDA. RSA. All customers.&lt;br /&gt;&lt;br /&gt;Bert Beals, Mark Spooner, and Tim Forrester are among my list of folks that had a profound effect on my career in that they taught me through example to keep it simple and that NOTHING is impossible. And to keep asking "And then what?"&lt;br /&gt;&lt;br /&gt;And while not every app fits in a VM, there is a growing catalog of appliance based applications that make total sense.  You get to optimize the hardware according to the application and its data. That first couple of months of planning, sizing, and procurement - DONE.&lt;br /&gt;&lt;br /&gt;And some apps thrive on the Cloud virtualization. If you need a data warehouse or are looking to make sense of your data footprint, check out Greenplum. Distributed Database BASED on VMs!  You plug in resources as VMs as you grow and change!&lt;br /&gt;&lt;br /&gt;And the line between the network and the systems and the applications and the users - disappearing quickly. Presents an ever increasing data challenge to be able to discover and use all these relationships to deliver better services to customers.&lt;br /&gt;&lt;br /&gt;Cloud Computing is bringing that revolution and reinvention cycle back into focus in the IT industry. It  is a culling event as it will cull out the non-producers and change the customer engagement rules.  Best of Breed is back! And with a Vengeance!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-7618101638641438903?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/7618101638641438903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/cloud-computing-notes-from-guy-behind.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7618101638641438903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/7618101638641438903'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/05/cloud-computing-notes-from-guy-behind.html' title='Cloud Computing - Notes from a guy behind the curtain'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-5428167068969489008</id><published>2010-04-25T17:24:00.001-05:00</published><updated>2010-04-25T17:29:39.178-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='graphs'/><category scheme='http://www.blogger.com/atom/ns#' term='IPFIX'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Management'/><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='SevOne'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance management'/><category scheme='http://www.blogger.com/atom/ns#' term='Proviso'/><title type='text'>Performance Management Architecture</title><content type='html'>Performance Management systems in IT infrastructures do a few common things.  These are:&lt;br /&gt;&lt;br /&gt;Gather performance data&lt;br /&gt;Enable processing of the data to produce:&lt;br /&gt;Events and thresholds&lt;br /&gt;New data and information&lt;br /&gt;Baseline and average information&lt;br /&gt;Present data through a UI or via scheduled reports.&lt;br /&gt;Provide for ad hoc and data mining exercises&lt;br /&gt;&lt;br /&gt;Common themes for broken systems include:&lt;br /&gt;&lt;br /&gt;If you have to redevelop your application to add new metrics&lt;br /&gt;If you have more than one or two data access points.&lt;br /&gt;If data is not consistent&lt;br /&gt;If reporting mechanisms have to be redeveloped for changes to occur&lt;br /&gt;If a development staff owns access to the data&lt;br /&gt;If a Development staff controls what data gets gathered and stored.&lt;br /&gt;If multiple systems are in place and they overlap (Significantly) in coverage. &lt;br /&gt;If you cannot graph any data newer than 5 minutes.&lt;br /&gt;If theres no such thing as a live graph or the live graph is done via Metarefresh.&lt;br /&gt;&lt;br /&gt;I dig &lt;a href="http://www.sevone.com"&gt;SevOne&lt;/a&gt;. Easy to setup.  Easy to use. Baselines. New graphs. New reports.  And schedules.  But they also do drill down from SNMP into IPFIX DIRECTLY.  No popping out of one system and popping into another.  SEAMLESSLY.&lt;br /&gt;&lt;br /&gt;It took me 30 minutes or so to rack and stack the appliance. I went back to my desk, verified I could access the appliance, then called the SE.  He setup a WebEx and it was 7 minutes and a few odd seconds later I got my first reports.  Quite a significant difference from the previous Proviso install which took more than a single day to install.&lt;br /&gt;&lt;br /&gt;The real deal is that with SevOne, your network engineers can get and setup the data collection they need.  And the hosting engineers can follow suite. Need a new metric.  Engineering sets it up. NO DEVELOPMENT EFFORT. &lt;br /&gt;&lt;br /&gt;And it can be done today. Not 3 months from now. When something like a performance management system cannot be used as part of the diagnostics and triage of near real time, it significantly detracts from usability in both the near real time and the longer term trending functions as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-5428167068969489008?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/5428167068969489008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/performance-management-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5428167068969489008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/5428167068969489008'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/performance-management-architecture.html' title='Performance Management Architecture'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-2994278434377045435</id><published>2010-04-25T00:34:00.001-05:00</published><updated>2010-04-25T08:05:36.903-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='Data warehouse'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Service Management'/><category scheme='http://www.blogger.com/atom/ns#' term='BSM'/><category scheme='http://www.blogger.com/atom/ns#' term='Situation Awareness'/><title type='text'>BSM - Sounds EXCELLENT. YMMV</title><content type='html'>Business Service Management&lt;br /&gt;&lt;br /&gt;OK.  Here goes.  First and foremost, I went hunting for a definition. Heres &lt;a href="http://www.bitpipe.com/tlist/Business-Service-Management.html "&gt;one from bitpipe&lt;/a&gt; that I thought sounded good.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ALSO CALLED: BSM &lt;br /&gt;DEFINITION: A strategy and an approach for linking key IT components to the goals of the business. It enables you to understand and predict how technology impacts the business and how business impacts the IT infrastructure.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Sounds good, right?&lt;br /&gt;&lt;br /&gt;When I analyze this definition, it looks very much like the definition for Situation Awareness.  Check out the &lt;a href="http://en.wikipedia.org/wiki/Situation_awareness"&gt;article on Wikipedia.&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Situation awareness, or SA, is the perception of environmental elements within a volume of time and space, the comprehension of their meaning, and the projection of their status in the near future&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So, I see where BSM as a strategy, creates a system where Situation Awareness for business as a function of IT services, can be achieved.  In effect, BSM creates SA for business users through IT service practices.&lt;br /&gt;&lt;br /&gt;Sounds all fine, good, and well in theory.  But in practice, there are a ton of data sources.  Some are database enabled. Some are Web services. Some are simple web content elements. How do you assemble, index, and align all this data from multiple sources, in a way that enables a business user to achieve situation awareness?  How do you handle the data sources being timed wrong or failing? &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Road to Success&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;First of all, if you have a BSM strategy and you're buying or considering a purchase of a BSM framework, you need to seriously consider BI and a Data Architecture as well. All three technologies are interdependent. You have to organize your data, use it to create information, them make it suitable enough to be presented in a consistent way.&lt;br /&gt;&lt;br /&gt;As you develop your data, you also develop your data model.  With the data model will come information derivation and working through query and explain plans.  In some instances, you need to look at a Data warehouse of sorts.  You need to be able to organize and index your data to be presented in a timely and expeditious fashion so that the information helps to drive SA by business users.&lt;br /&gt;&lt;br /&gt;A recent data warehouse sort od product has come to my attention.  It is &lt;a href="http://www.greenplum.com/"&gt;Greenplum&lt;/a&gt;. Love the technology. Scalable. But based on mature technology.  My thoughts are about taking data from disparate sources, organizing that data, deriving new information, and indexing the data so that the reports you provide, can happen in a timely fashion.&lt;br /&gt;&lt;br /&gt;Organizing your data around a data warehouse allows you to get around having to deal with multiple databases, multiple access mechanisms, and latency issues. And how easier it is to analyze cause and effect, derivatives, and patterns given you can search across these data sources from a single access. Makes true Business intelligence easier.&lt;br /&gt;&lt;br /&gt;BSM products tend to be around creative SQL queries and dashboard/scorecard generation.  You may not need to buy the  entire cake to get a taste.  Look for web generation utilities that can be used to augment your implementation and strategy. &lt;br /&gt;&lt;br /&gt;And if you're implementing a BSM product, wouldn't it make sense to setup SLAs on performance, availability, and response time for the app and its data sources? This is the ONE App that could be used to set a standard and a precedence.&lt;br /&gt;&lt;br /&gt;I tend to develop the requirements, then storyboard the dashboards and drill throughs.  This gives you a way of visualizing holes in the dashboards and layouts but it also enables you to drive to completion. Developing dashboards can really drive scope creep if you don't manage it.&lt;br /&gt;Storyboarding allows you to manage expectations and drive delivery.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-2994278434377045435?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/2994278434377045435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/bsm-sounds-excellent-ymmv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2994278434377045435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/2994278434377045435'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/bsm-sounds-excellent-ymmv.html' title='BSM - Sounds EXCELLENT. YMMV'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-8434715136278057203</id><published>2010-04-24T14:46:00.000-05:00</published><updated>2010-04-24T14:46:09.316-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Management'/><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Data collection'/><category scheme='http://www.blogger.com/atom/ns#' term='Net-SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='intelligent polling'/><title type='text'>SNMP + Polling Techniques</title><content type='html'>Over the course of many years, it seems that I see the same lack of evolution regarding SNMP polling, how its accomplished, and the underlying ramifications.  To give credit where credit is due, I learned alot from Ari Hirschman, Eric Wall, Will Pearce, and Alex Keifer. And of the things we learned - Bill Frank, Scott Rife, and Mike O'Brien.&lt;br /&gt;&lt;br /&gt;Building an SNMP poller isn't bad.  Provided you understand the data structures, understand what happens on the end node, and understand how it performs in its client server model.&lt;br /&gt;&lt;br /&gt;First off, there are 5 basic operations one can perform.  These are:&lt;br /&gt;&lt;br /&gt;GET&lt;br /&gt;GET-NEXT&lt;br /&gt;SET&lt;br /&gt;GET-RESPONSE&lt;br /&gt;GET-BULK&lt;br /&gt;&lt;br /&gt;Here is a reference link to &lt;a href="http://www.faqs.org/rfcs/rfc1157.html"&gt;RFC-1157&lt;/a&gt; where SNMP v1 is defined.&lt;br /&gt;&lt;br /&gt;The GET-BULK operator was introduced when SNMP V2 was proposed and it carried into SNMP V3. While SNMP V2 was never a standard, its defacto implementations followed the Community based model referenced in RFCs 1901-1908.&lt;br /&gt;&lt;br /&gt;SNMP V3 is the current standard for SNMP (STD0062) and version 1 and 2 SNMP are considered obsolete or historical.&lt;br /&gt;&lt;br /&gt;SNMP TRAPs and NOTIFICATIONs are event type messages sent from the Managed object back to the Manager.  In the case of NOTIFICATIONs, the Manager returns the trap as an acknowledgement.&lt;br /&gt;&lt;br /&gt;From a polling perspective, lets start with a basic SNMP Get Request.  I will illustrate this via the Net::SNMP perl module directly. (URL is http://search.cpan.org/dist/Net-SNMP/lib/Net/SNMP.pm)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;get_request() - send a SNMP get-request to the remote agent&lt;br /&gt;&lt;br /&gt;$result = $session-&gt;get_request(&lt;br /&gt;[-callback        =&gt; sub {},]     # non-blocking&lt;br /&gt;[-delay           =&gt; $seconds,]   # non-blocking &lt;br /&gt;[-contextengineid =&gt; $engine_id,] # v3 &lt;br /&gt;[-contextname     =&gt; $name,]      # v3&lt;br /&gt;-varbindlist      =&gt; \@oids,&lt;br /&gt;);&lt;br /&gt;This method performs a SNMP get-request query to gather data from the remote agent on the host associated with the Net::SNMP object. The message is built using the list of OBJECT IDENTIFIERs in dotted notation passed to the method as an array reference using the -varbindlist argument. Each OBJECT IDENTIFIER is placed into a single SNMP GetRequest-PDU in the same order that it held in the original list.&lt;br /&gt;&lt;br /&gt;A reference to a hash is returned in blocking mode which contains the contents of the VarBindList. In non-blocking mode, a true value is returned when no error has occurred. In either mode, the undefined value is returned when an error has occurred. The error() method may be used to determine the cause of the failure.&lt;/blockquote&gt;&lt;br /&gt;This can be either blocking - meaning the request will block until data is returned or non-blocking - the session will return right away but will initiate a callback subroutine upon finishing or timing out.&lt;br /&gt;&lt;br /&gt;For the args:&lt;br /&gt;&lt;br /&gt;-callback is used to attach a handler subroutine for non-blocking calls &lt;br /&gt;-delay is used to delay the SNMP Porotocol exchange for the given number of seconds.&lt;br /&gt;-contextengineid is used to pass the contextengineid needed for SNMP V3.&lt;br /&gt;-contextname is used to pass the SNMP V3 contextname.&lt;br /&gt;-varbindlist is an array of OIDs to get.&lt;br /&gt;&lt;br /&gt;What this does is to setup a Session object for a given node and run through the gets in the varbindlist one PDU at a time. If you have set it up to be non-blocking, the PDUs are assembled and sent one right after another.  If you are using blocking mode, the first PDU is sent and a response is received before the second one is sent.&lt;br /&gt;&lt;br /&gt;GET requests require you to know the instance of the attribute ahead of time.  Some tables are zero instanced while others may be instanced by one or even multiple indexes.  For example, MIB-2.system is a zero instanced table in that there is only one row in the table. Other tables like MIB-2.interfaces.ifTable.ifEntry have multiple rows indexed by ifIndex. Here is a reference to the &lt;a href="http://www.faqs.org/rfcs/rfc1213.html"&gt;MIB-2 RFC-1213&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A GET-NEXT request is like a GET request except that it does not require the instance up front.  For example, if you start with a table like ifEntry and you do not know what the first instance is, you would query the table without an instance. &lt;br /&gt;&lt;br /&gt;Now here is the GET-NEXT:&lt;br /&gt;&lt;br /&gt;$result = $session-&gt;get_next_request(&lt;br /&gt;[-callback        =&gt; sub {},]     # non-blocking&lt;br /&gt;[-delay           =&gt; $seconds,]   # non-blocking &lt;br /&gt;[-contextengineid =&gt; $engine_id,] # v3 &lt;br /&gt;[-contextname     =&gt; $name,]      # v3&lt;br /&gt;-varbindlist      =&gt; \@oids,&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;In the Net::SNMP module, each OID in th \@oids array reference is passed as a single PDU instance.  And like the GET, it can also be performed in blocking mode or non-blocking mode.&lt;br /&gt;&lt;br /&gt;An snmpwalk is simply a macro of multiple recursive GET-NEXTs for a given starting OID.&lt;br /&gt;&lt;br /&gt;As polling started to evolve, folks started looking for ways to make things a bit more scalable and faster. One of the ways they proposed was the GET-BULK operator.  This enabled an SNMP Manager to pull whole portions of an SNMP MIB Table with a single request.&lt;br /&gt;&lt;br /&gt;A GETBULK request is like a getnext but tells the agent to return as much as it can from the table.  And yes, it can return partial results.&lt;br /&gt; $result = $session-&gt;get_bulk_request(&lt;br /&gt;                          [-callback        =&gt; sub {},]     # non-blocking&lt;br /&gt;                          [-delay           =&gt; $seconds,]   # non-blocking &lt;br /&gt;                          [-contextengineid =&gt; $engine_id,] # v3 &lt;br /&gt;                          [-contextname     =&gt; $name,]      # v3&lt;br /&gt;                          [-nonrepeaters    =&gt; $non_reps,]&lt;br /&gt;                          [-maxrepetitions  =&gt; $max_reps,]&lt;br /&gt;                          -varbindlist      =&gt; \@oids,&lt;br /&gt;                       );&lt;br /&gt;&lt;br /&gt;In SNMP V2, the GET BULK operator came into being. This was done to enable a large amount of table data to be retrieved from a single request. It does introduce two new parameters:&lt;br /&gt;&lt;br /&gt;   nonrepeaters partial information.&lt;br /&gt;   maxrepetitions&lt;br /&gt;&lt;br /&gt;Nonrepeaters tells the get-bulk command that the first N objects can be retrieved with a simple get-next operation or single successor MIB objects.&lt;br /&gt;&lt;br /&gt;Max-repetitions tells the get-bulk command to attempt up to M get-next operations to retrieve the remaining objects or how many times to repeat the get process.&lt;br /&gt;&lt;br /&gt;The difficult part of GET BULK is you have to guess how many rows and there and you have to deal with partial returns.&lt;br /&gt;&lt;br /&gt;As things evolved, folks started realizing that  multiple OIDs were possible in SNMP GET NEXT operations through a concept of PDU Packing.   However, not all agents are created equal. Some will support a few operations in a single PDU while some could support upwards of 512 in a single SNMP PDU.&lt;br /&gt;&lt;br /&gt;In effect, by packing PDUs, you can overcome certain annoyances in data like time skew between two attributes given that they can be polled simultaneously.&lt;br /&gt;&lt;br /&gt;When you look at the SNMP::Multi module, it not only allows multiple OIDs in a PDU by packing, it enables you to poll alot of hosts at one time.  Follwing is a "synopsis" quote from the &lt;a href="http://search.cpan.org/~tpg/SNMP-Multi-2.1/Multi.pm"&gt;SNMP::Multi module&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;use SNMP::Multi;&lt;br /&gt;&lt;br /&gt;    my $req = SNMP::Multi::VarReq-&gt;new (&lt;br /&gt;        nonrepeaters =&gt; 1,&lt;br /&gt;        hosts =&gt; [ qw/ router1.my.com router2.my.com / ],&lt;br /&gt;        vars  =&gt; [ [ 'sysUpTime' ], [ 'ifInOctets' ], [ 'ifOutOctets' ] ],&lt;br /&gt;    );&lt;br /&gt;    die "VarReq: $SNMP::Multi::VarReq::error\n" unless $req;&lt;br /&gt;&lt;br /&gt;    my $sm = SNMP::Multi-&gt;new (&lt;br /&gt;        Method      =&gt; 'bulkwalk',&lt;br /&gt;        MaxSessions =&gt; 32,&lt;br /&gt;        PduPacking  =&gt; 16,&lt;br /&gt;        Community   =&gt; 'public',&lt;br /&gt;        Version     =&gt; '2c',&lt;br /&gt;        Timeout     =&gt; 5,&lt;br /&gt;        Retries     =&gt; 3,&lt;br /&gt;        UseNumeric  =&gt; 1,&lt;br /&gt;        # Any additional options for SNMP::Session::new() ...&lt;br /&gt;    )&lt;br /&gt;    or die "$SNMP::Multi::error\n";&lt;br /&gt;&lt;br /&gt;    $sm-&gt;request($req) or die $sm-&gt;error;&lt;br /&gt;    my $resp = $sm-&gt;execute() or die "Execute: $SNMP::Multi::error\n";&lt;br /&gt;&lt;br /&gt;    print "Got response for ", (join ' ', $resp-&gt;hostnames()), "\n";&lt;br /&gt;    for my $host ($resp-&gt;hosts()) {&lt;br /&gt;&lt;br /&gt;        print "Results for $host: \n";&lt;br /&gt;        for my $result ($host-&gt;results()) {&lt;br /&gt;            if ($result-&gt;error()) {&lt;br /&gt;                print "Error with $host: ", $result-&gt;error(), "\n";&lt;br /&gt;                next;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            print "Values for $host: ", (join ' ', $result-&gt;values());&lt;br /&gt;            for my $varlist ($result-&gt;varlists()) {&lt;br /&gt;                print map { "\t" . $_-&gt;fmt() . "\n" } @$varlist;&lt;br /&gt;            }&lt;br /&gt;            print "\n";&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Using the Net::SNMP libraries underneath means that you're still constrained by port as it only uses one UDP port to poll and through requestIDs, handles the callbacks. In  higher end pollers, the SNMP Collector can poll from multiple ports simultaneously.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Alot of evolution and technique has went into making SNMP data collection efficient over the years. It would be nice to see SNMP implementations that used these enhancements and evolve a bit as well.  The evolution of these techniques came about for a reason.  When I see places that haven't evolved in their SNMP Polling techniques, I tend to believe that they haven't evolved enough as an IT service to experience the pain that necessitated the lessons learned of the code evolution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-8434715136278057203?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/8434715136278057203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/snmp-polling-techniques.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8434715136278057203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8434715136278057203'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/snmp-polling-techniques.html' title='SNMP + Polling Techniques'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-4213085226650201344</id><published>2010-04-18T17:51:00.000-05:00</published><updated>2010-04-18T17:51:08.231-05:00</updated><title type='text'>Web Visualization...</title><content type='html'>I have been trying to get my head around visualization for several months.  Web presentation presents a few challenges that some of the product vendors seem to overlook.&lt;br /&gt;&lt;br /&gt;First off, there is an ever increasing propensity for each vendor to develop and produce their own portal.  It must be a common Java class in a lot of schools because it is so prevalent.  And not all portals are created equal or even open in some cases.  I think that while they are redeveloping the wheel, they are missing the point in that they need to develop CONTENT first.&lt;br /&gt;&lt;br /&gt;So, what are the essential parts of a portal?&lt;br /&gt;&lt;br /&gt;Security Model&lt;br /&gt;Content Customization and Presentation&lt;br /&gt;Content organization&lt;br /&gt;&lt;br /&gt;In a security model, you need to understand that users belong to groups and are identified with content and brandings. A user can be part of a team (shared content), assigned access to tools and technologies (content distribution), and will need to be able to organize the data in ways that make it easy for them to work (content brandings).&lt;br /&gt;&lt;br /&gt;In some cases, multi-tenancy is a prime concern.  How do you take and segregate discreet content yet share the shareable content?&lt;br /&gt;&lt;br /&gt;A Web presence lends itself very well to project or incident based portal instances if you make it easy to put in place new instances pertinent to projects and situations.  This empowers the capture of knowledge within given conditions, projects, or team efforts.  The more relevant the cature is, the better the information is as an end result. (The longer you wait, the more daat and information you lose.)&lt;br /&gt;&lt;br /&gt;Single Sign On.&lt;br /&gt;&lt;br /&gt;While vendors say they do SSO, they typically only do so across their product line. Proxying, cookies and sessions, authentications and certificates are all ways to have someone have to authenticate to access systems.&lt;br /&gt; &lt;br /&gt;From the actor perspective, once you have to stop what you're doing to log into another application, subconsciously, you have to switch gears.  This switching becomes a hindrance because people will instinctively avoid disruptive processes. And in many cases, this also refocuses the screen on another window which also detracts from user focus.&lt;br /&gt;&lt;br /&gt;Every web presence has content, a layout, and a look and feel. Templates for content layout, branding,  organization, become the more common elements addressed in a portal. In some cases, language translation also plays a part.  In other cases, branding also plays a significant part.&lt;br /&gt;&lt;br /&gt;I happen to like Edge Technologies enPortal.  Let me explain.&lt;br /&gt;&lt;br /&gt;It is a general purpose Portal with Single sign On across product, it has a strong security model, and it lets you deploy web sites as needed.  You can synch with LDAP and you can bring in content from a variety of sources... Even sources that are not web enabled.  They do this with an interface module integrated with Sun Secure Global Desktop(The old Tarantella product...)&lt;br /&gt;&lt;br /&gt;The enPortal is solid and fault tolerant.  Can be deployed in redundant configurations. &lt;br /&gt;&lt;br /&gt;But web visualization in support organizations needs to go much further in the future. They need to enable collaboration, topology and GIS maps, fold in external data sources like weather and traffic data. And they need to incorporate reward mechanisms for users processing data faster and more efficient.&lt;br /&gt;&lt;br /&gt;Data and information must be melded across technologies. Fault to performance to security to applications to even functions like release management, need to be incorporated, content wise.&lt;br /&gt;&lt;br /&gt;Some Wares vendors in the BSM space claim that they support visualization.   They do.  In part... Alot of the BSM products out there cater specifically to CxO level and a couple of levels below that.  They lack firm grounding in the bottom layers of an organization.  In fact, many times the BSM products will get in the way of folks on the desks. &lt;br /&gt;&lt;br /&gt;A sure fire litmus test is to have the vendor install the product, give them a couple of data sources and have them show you a graphical view of the elements they found.  Many cannot even come close! They depend on you to put all the data and relationships together.&lt;br /&gt;&lt;br /&gt;Ever thought about the addictiveness of online games?  They have reward mechanisms that empower you to earn points, gold, or coins or gold starts - something.  These small reward mechanisms shape behavior by rewarding small things to accumulate better behavior over time.&lt;br /&gt;&lt;br /&gt;In many cases, the data underneath required to provide effective visualization is not there, is too difficult to access, or is not in a format that is usable for reporting.  When you start looking at data sources, you must examine explain plans, understand indexes as well as views, and be prepared to create information from raw data. &lt;br /&gt;&lt;br /&gt;If you can get the data organized, you can use a multitude of products to create good, usable content.   Be prepared to create data subsets, cubes of data, reference data elements, as well as provide tools that enable you to munge these data elements and sources, put it all together, and produce some preliminary results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-4213085226650201344?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/4213085226650201344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/web-visualization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4213085226650201344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4213085226650201344'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/web-visualization.html' title='Web Visualization...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-9027468435618823958</id><published>2010-04-18T09:23:00.000-05:00</published><updated>2010-04-18T09:23:09.030-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ITIL'/><category scheme='http://www.blogger.com/atom/ns#' term='Event management'/><category scheme='http://www.blogger.com/atom/ns#' term='correlation'/><category scheme='http://www.blogger.com/atom/ns#' term='TMF'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='Netcool'/><category scheme='http://www.blogger.com/atom/ns#' term='Fault management'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><title type='text'>Netcool and Evolution toward Situation Management</title><content type='html'>Virtually no new evolution in Fault Management and correlation has been done in the last ten years.  Seems we have a presumption that what we have today is as far as we can go. Truly sad.&lt;br /&gt;&lt;br /&gt;In recent discussions on the INUG Netcool Users Forum, we discussed shortfalls in the products in hopes that big Blue may see its way clear of the technical obstacles.   I don't think they are accepting or open to mine and other suggestions.  But thats OK. you plant a seed - water it - feed it. And hopefully, one day, it comes to life!&lt;br /&gt;&lt;br /&gt;Most of Netcool design is based somewhat loosely on TMF standards. They left out the hard stuff like object modelling but I understand why.  The problem is that most Enterprises and MSPs don't fit the TMF design pattern. Nor do they fit eTOM.  This plays specifically to my suggestion that "There's more than one way to do it!" - The Slogan behind Perl.&lt;br /&gt;&lt;br /&gt;The underlying premise behind Netcool is that it is a single pane of glass for viewing and recognizing what is going on in your environment.  It provides a way to achieve situation awareness and a platform which can be used to drive interactive work from. So what about ITIL and Netcool?&lt;br /&gt;&lt;br /&gt;From the aspect of product positioning, most ITIL based platforms have turned out to be rehashs of Trouble Ticketing systems. When you talk to someone about ITIL, they immediately think of &lt;a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;cp=1-11-85_4000_100__"&gt;HP ITSM&lt;/a&gt; or &lt;a href="http://www.bmc.com/products/product-listing/53035210-143801-2527.html"&gt;BMC Remedy&lt;/a&gt;.  Because of the complexity, these systems sometimes takes several months to implement. And nothing is cheap. Some folks resort to open source like &lt;a href="http://bestpractical.com/rt/"&gt;RT&lt;/a&gt; or &lt;a href="http://www.otrs.org/"&gt;OTRS&lt;/a&gt;. Others want to migrate towards a different, appliance based model like &lt;a href="http://www.service-now.com/"&gt;ServiceNow&lt;/a&gt; and &lt;a href="http://www.sciencelogic.com/"&gt;ScienceLogic EM7&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The problem is that once you transition out of Netcool, you lose your &lt;a href="http://en.wikipedia.org/wiki/Situation_awareness"&gt;situation awareness&lt;/a&gt;.  Its like having a notebook full of pages.  Once you flip to page 50, pages 1-49 are out of sight and therefore gone.  All hell could break lose and you'd never know.&lt;br /&gt;&lt;br /&gt;So, why not implement ITIL in Netcool?  May be a bit difficult. Here are a few things to consider:&lt;br /&gt;&lt;br /&gt;1. The paradigm that an event has only 2 states is bogus.&lt;br /&gt;2. The concept that there are events and these lead to incidents, problems, and changes.&lt;br /&gt;3. Introduces workflow to Netcool.&lt;br /&gt;4. Needs to be aware of CI references and relationships.&lt;br /&gt;5. Introduces the concept that the user is part of the system in lieu of being an external entity.&lt;br /&gt;6. May change the exclusion approach toward event processing. &lt;br /&gt;7. Requires data storage and retrieval capabilities.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;End Game&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;From a point of view where you'd like to end up, there are several use cases one could apply.  For example:&lt;br /&gt;&lt;br /&gt;One could see a situation develop and get solved in the Netcool display over time. As it is escalated and transitioned, you are able to see what has occurred, the workflow steps taken to solve this, and the people involved.&lt;br /&gt;&lt;br /&gt;One could take a given situation and search through all of the events to see which ones may be applicable to the situation.  Applying a ranking mechanism like a google search would help to position somewhat fuzzy information in proper contexts for the users.&lt;br /&gt;&lt;br /&gt;Be able to take the process as it occurred and diagnose the steps and elements of information to optimize processes in future encounters.&lt;br /&gt;&lt;br /&gt;Be able to automate, via the system, steps in the incident / problem process. Like escalations or notifications.  Or executing some action externally.&lt;br /&gt;&lt;br /&gt;Once you introduce workflow to Netcool, you need to introduce the concept of user awareness and collaboration. Who is online?  What situations are they actively working versus observing? How do you handle Management escalations?&lt;br /&gt;&lt;br /&gt;In ITIL definitions, an Incident has a defined workflow process from start to finish.  Netcool could help to make the users aware of the process along with its effectiveness. Even in a simple event display you can show last, current and next steps in fields.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Value Proposition&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;From the aspect of implementation, the implementation of ITIL based systems has been focused solely around trouble ticketing systems.  These systems have become huge behemoths of applications and with this comes two significant factors that hinder success - The loss of situation Awareness and the inability to realize and optimize processes in the near term.&lt;br /&gt;&lt;br /&gt;These behemoth systems become difficult to adapt and difficult to keep up with optimizations. As such, they slow down the optimization process making it painful to move forward.  If its hard to optimize, it will be hard to differentiate service because you cannot adapt to changes and measure the effectiveness fast enough to do any good.&lt;br /&gt;&lt;br /&gt;A support organization that is aware of whats going on, subliminally portrays confidence. This confidence carries a huge weight in interactions with customers and staff alike.  It is a different world on a desk when you're empowered to do good work for your customer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More to come!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Hopefully, this will provide some food for thought on the evolution of event management into Situation Management.  In the coming days I plan on adding to this thread several concepts like evolution toward complex event processing, Situation Awareness and Knowledge, data warehousing, and visualization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-9027468435618823958?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/9027468435618823958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/netcool-and-evolution-toward-situation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/9027468435618823958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/9027468435618823958'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/netcool-and-evolution-toward-situation.html' title='Netcool and Evolution toward Situation Management'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-3936934738052748271</id><published>2010-04-11T16:47:00.012-05:00</published><updated>2010-04-11T16:59:44.363-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ITIL'/><category scheme='http://www.blogger.com/atom/ns#' term='correlation'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Management'/><category scheme='http://www.blogger.com/atom/ns#' term='workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='Fault management'/><title type='text'>Fault and Event Management - Are we missing the boat?</title><content type='html'>In the beginning, folks used to tail log files. &amp;nbsp; As interesting things would show up, folks would see what was happening and respond to the situation. &amp;nbsp;Obviously, this didn't scale too well as you can only get&amp;nbsp;about 35-40 lines per screen.  As things evolved, folks looked for ways to visually queue the important messages. &amp;nbsp; When &amp;nbsp;you look at &lt;a href="http://swatch.sourceforge.net/"&gt;swatch&lt;/a&gt;, it changes the text colors and background colors, blinking, etc. as interesting things were noted.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Applications like xnmevents from OpenView NNM provided an event display that is basically a sequential event list. &amp;nbsp;(Here's a link to an image snapshot of xnmevents in action -&amp;gt; &lt;a href="http://www.merlintv.co.uk/exwork/image012.gif"&gt;HERE!&lt;/a&gt;&amp;nbsp;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In Openview Operations, events are aligned by nodes that belong to the user. &amp;nbsp;If the event is received from a node that is not in the users node group, they don't receive the event.&lt;br /&gt;&lt;br /&gt;Some applications tended to attempt to mask downstream events from users through topology based correlation. &amp;nbsp;And while this appears to be a good thing in that it reduces the numbers of events in an events display, it takes away the ability to notify customers based on side effect events. A true double edged&amp;nbsp;sword - especially if you want to be customer focused.&lt;br /&gt;&lt;br /&gt;With some implementations, the focus of event management is to qualify and only include those events that are perceived as being worthy of being displayed. While it may seem a valid strategy, the importance should be on the situation awareness of the NOC and not on the enrichment. &amp;nbsp;You may miss whole&amp;nbsp;pieces&amp;nbsp;of information and awareness... But your customers and end users may not miss them!&lt;br /&gt;&lt;br /&gt;All in all, we're still just talking about discreet events here. &amp;nbsp;These events may or may not be conditional or situational or even pertinent to a particular users given perspective.&lt;br /&gt;&lt;br /&gt;From an ITIL perspective, (Well, I have ascertained the 3 different versions of ITIL Incident definitions as things have evolved...) as:&lt;br /&gt;"&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;span class="style3" style="font-size: x-small; font-weight: bold;"&gt;Incident&lt;/span&gt;&lt;span class="style2" style="font-size: x-small;"&gt;&amp;nbsp;(ITILv3)&lt;span class="style6" style="font-weight: bold;"&gt;:&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Service_Operation.htm" style="text-decoration: none;"&gt;Service Operation&lt;/a&gt;]&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="style1" style="font-family: Arial; font-size: x-small;"&gt;An unplanned interruption to an&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/IT_Service.htm" style="text-decoration: none;"&gt;IT Service&lt;/a&gt;&amp;nbsp;or a reduction in the&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Quality.htm" style="text-decoration: none;"&gt;Quality&lt;/a&gt;&amp;nbsp;of an&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/IT_Service.htm" style="text-decoration: none;"&gt;IT Service&lt;/a&gt;.&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Failure.htm" style="text-decoration: none;"&gt;Failure&lt;/a&gt;&amp;nbsp;of a&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Configuration_Item.htm" style="text-decoration: none;"&gt;Configuration Item&lt;/a&gt;&amp;nbsp;that has not yet&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Impact.htm" style="text-decoration: none;"&gt;impact&lt;/a&gt;ed&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Service.htm" style="text-decoration: none;"&gt;Service&lt;/a&gt;&amp;nbsp;is also an&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident.htm" style="text-decoration: none;"&gt;Incident&lt;/a&gt;. For example,&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Failure.htm" style="text-decoration: none;"&gt;Failure&lt;/a&gt;&amp;nbsp;of one&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/Storage/en/disk.htm" style="text-decoration: none;"&gt;disk&lt;/a&gt;from a&amp;nbsp;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/Storage/en/mirror.htm" style="text-decoration: none;"&gt;mirror&lt;/a&gt;&amp;nbsp;set.&lt;/span&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;span style="font-family: Arial;"&gt;&lt;span class="style9" style="font-size: x-small; font-style: italic;"&gt;See also&lt;/span&gt;&lt;span class="style2" style="font-size: x-small;"&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="style1" style="font-family: Arial; font-size: x-small;"&gt;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem.htm" style="text-decoration: none;"&gt;Problem&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;b&gt;Incident&lt;/b&gt;&amp;nbsp;(ITILv2)&lt;b&gt;:&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; An event which is not part of the standard operation of a service and which causes or may cause disruption to or a reduction in the quality of services and&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Customer.htm" style="text-decoration: none;"&gt;Customer&lt;/a&gt;&amp;nbsp;productivity.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;An Incident might give rise to the identification and investigation of a&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem.htm" style="text-decoration: none;"&gt;Problem&lt;/a&gt;, but never become a&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem.htm" style="text-decoration: none;"&gt;Problem&lt;/a&gt;. Even if handed over to the&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem_Management.htm" style="text-decoration: none;"&gt;Problem Management&lt;/a&gt;&amp;nbsp;process for 2nd Line&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident_Control.htm" style="text-decoration: none;"&gt;Incident Control&lt;/a&gt;, it remains an&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident.htm" style="text-decoration: none;"&gt;Incident&lt;/a&gt;.&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem_Management.htm" style="text-decoration: none;"&gt;Problem Management&lt;/a&gt;&amp;nbsp;might, however, manage the resolution of the&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident.htm" style="text-decoration: none;"&gt;Incident&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem.htm" style="text-decoration: none;"&gt;Problem&lt;/a&gt;&amp;nbsp;in tandem, for instance if the&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident.htm" style="text-decoration: none;"&gt;Incident&lt;/a&gt;&amp;nbsp;can only be closed by resolution of the&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Problem.htm" style="text-decoration: none;"&gt;Problem&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div align="right"&gt;&lt;span style="font-family: Arial;"&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;See also&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: x-small;"&gt;:&amp;nbsp;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident_Management.htm" style="text-decoration: none;"&gt;Incident Management&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;b&gt;Incident&lt;/b&gt;&amp;nbsp;(ITILv1)&lt;b&gt;:&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; An event which is not part of the normal operation of an&amp;nbsp;&lt;span class="style1" style="font-family: Arial; font-size: x-small;"&gt;&lt;a class="style7" href="http://www.knowledgetransfer.net/dictionary/ITIL/en/IT_Service.htm" style="text-decoration: none;"&gt;IT Service&lt;/a&gt;&lt;/span&gt;. It will have an impact on the service, although this may be slight and may even be transparent to customers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;" as quoted from&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;a href="http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident.htm"&gt;http://www.knowledgetransfer.net/dictionary/ITIL/en/Incident.htm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;From the ITIL specification folks, I got this on Incident Management: Ref:&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;a href="http://www.itlibrary.org/index.php?page=Incident_Management"&gt;http://www.itlibrary.org/index.php?page=Incident_Management&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Quoting them "&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Tahoma;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Tahoma;"&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;'Real World' definition of Incident Management: IM is the way that the Service Desk puts out the 'daily fires'.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;An 'Incident' is any event which is not part of the standard operation of the service and which causes, or may cause, an interruption or a reduction of the quality of the service.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;The objective of Incident Management is to restore normal operations as quickly as possible with the least possible impact on either the business or the user, at a cost-effective price.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Inputs for Incident Management mostly come from users, but can have other sources as well like management Information or Detection Systems. The outputs of the process are RFC’s (Requests for Changes), resolved and closed Incidents, management information and communication to the customer.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Activities of the Incident Management process:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: black; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Incident detection and recording&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Classification and initial support&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Investigation and diagnosis&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Resolution and recovery&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Incident closure&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;Incident ownership, monitoring, tracking and communication&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="QWIndent" style="margin-left: 12pt; margin-right: 12pt;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left" class="QWIndent" style="color: white; font-size: 12pt;" valign="top"&gt;&lt;div class="QWNormal" style="color: white; font-size: 12pt; margin-bottom: 2pt; margin-left: 12pt; margin-right: 12pt; margin-top: 2pt;"&gt;These elements provides a baseline for management review.&lt;/div&gt;&lt;div&gt;"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Also, I got this snippet from the same web site :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;"Incidents and Service Requests are formally managed through a staged process to conclusion. This process is referred to as the "Incident Management Lifecycle". The objective of the Incident Management Lifecycle is to restore the service as quickly as possible to meet Service Level Agreements. The process is primarily aimed at the user level."&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;From an Event perspective, and event may or may not signify an Incident. An incident, by definition, has a lifecycle from start to conclusion which means it is a defined process. &amp;nbsp;This process can and should be mapped out, optimized, and documented.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Even the fact that you process an unknown event should, according to ITIL best practices, align your process steps toward an Incident Lifecycle on to an escalation that captures and uses information derived from the new incident to be mapped, process wise.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So, if one is presented with an event, is it an incident? &amp;nbsp;If it is, what is the process by which this Incident is handled? And if it is an Incident and it is being processed, what step &amp;nbsp;in the Incident process is the incident? &amp;nbsp;How long has it been in processing? What steps need to be taken right away, to process this incident effectively?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;From a real world perspective, the events we work from are discreet events. They may be presented in a way that signifies a discreet "start of an Incident" process. &amp;nbsp;But inherently, an Incident may have several valid inputs from discreet events as part of the Incident Management process.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;So, are we missing the boat here? Is every event presented an Incident? Not hardly.&amp;nbsp;Now, intuitively, are your users managing events or incidents? Events - Hmmm Thought so. &amp;nbsp;How do you apply process and process optimization to something you don't inherently manage to in real time? &amp;nbsp;Incident management becomes an &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ABSTRACTION&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; of event management. And you manage to Events in hopes that you'll make Incident Management better.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;My take is that the abstraction is backwards because the software hasn't evolved to be incident / problem focused. So you see folks optimize to events as thats they way information is presented to them. &amp;nbsp;But it is not the same as managing incidents.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For example, lets say I have a disk drive go south for the winter. And OK, its mirrored and is capable of being corrected without downtime. AWESOME. However, when you replace the drive, your mirror has to synch. &amp;nbsp;When it does, applications that use that drive - let's say a database - are held back from operating due to the synchronization.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;From the aspect of incidents, you have a disk drive failure which is an incident to the System administrator for the system. This disk drive error may present thousands of events in that the dependencies of the CIs upon the failed or&amp;nbsp;errored&amp;nbsp;component span over into multiple areas. &amp;nbsp;For example, if you're scraping error logs and sending them in as traps, each unique event presents itself as something separate. Application performance thresholds present events depicting conditional changes in performance.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;This one incident could have a profound waterfall effect on events, their numbers and handling, given a single incident. Only the tools mandate that you manage to events which further exacerbates the workflow issue.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Organizations attempt to work around this by implementing ticketing systems. Only, once to move a user from the single pane of glass / near real time display to individual tickets, the end users become unaware of the real time aspects of the environment. &amp;nbsp;Once a ticket is opened and worked, all Hades could break loose and that user wouldn't be aware.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;In Summary&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Event Management tools today present and process events. And the align the users toward Events. Somewhere along the way, we have missed the fact that an event does not equal an Incident. &amp;nbsp;But the tools don't align the information to incident so it has hampered effective ITIL implementation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Single Pane of Glass applications need to start migrating and evolving toward empowering Incident management in that near real time realm they&amp;nbsp;do best. Create awareness of incidents as well as the incident process lifecycle.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-3936934738052748271?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/3936934738052748271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/fault-and-event-management-are-we.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/3936934738052748271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/3936934738052748271'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/fault-and-event-management-are-we.html' title='Fault and Event Management - Are we missing the boat?'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-8887708417216451518</id><published>2010-04-04T14:04:00.001-05:00</published><updated>2010-04-04T14:05:37.998-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Management'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenNMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Management'/><category scheme='http://www.blogger.com/atom/ns#' term='topology'/><title type='text'>Simplifying topology</title><content type='html'>I have been looking at monitoring and how its typically implemented. Part of my look is to drive visualization but also how can I leverage the data in a way that organizes people's thoughts on the desk.&lt;br /&gt;&lt;br /&gt;Part of my thought process is around &lt;a href="http://www.opennms.org/"&gt;OpenNMS&lt;/a&gt;.&amp;nbsp; What can I contribute to make the project better.&lt;br /&gt;&lt;br /&gt;What I came to realize is that Nodes are monitored on a Node / IP address basis by the majority of products available today.&amp;nbsp; All of the alarms and events are aligned by node - even the sub-object based events get aggregated back to the node level.&amp;nbsp; And for the most part, this is OK.&amp;nbsp; You dispatch a tech to the Node level, right?&lt;br /&gt;&lt;br /&gt;When you look at topology at a general sense, you can see the relationship between the poller and the Node under test.&amp;nbsp; Between the poller and the end node, there is a list of elements that make up the lineage of network service components. So, from a service perspective, a simple traceroute between the poller and the end node produces a simple network "lineage".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Extending this a bit further, knowing that traceroute is typically done in ICMP, this gives you an IP level perspective of the network.&amp;nbsp; Note also that because traceroute exploits the time to Live parameter of IP, it can be accomplished in any transport layer protocol. For example, traceroute could work on&amp;nbsp; TCP port 80 or 8080.&amp;nbsp; The importance is that you place a protocol specific responder on the end of the code to see if the service is actually working beyond just responding to a connection request.&lt;br /&gt;&lt;br /&gt;And while traceroute is a one way street, it still derives a lineage of path between the poller and the Node under test - and now the protocol or SERVICE under test. And it is still a simple lineage.&lt;br /&gt;&lt;br /&gt;The significance of the path lineage is that in order to do some level of path correlation, you need to understand what is connected to what.&amp;nbsp; given that this can be very volatile and change very quickly, topology based correlation can be somewhat problematic - especially if your "facts" change on the fly.&amp;nbsp; and IP based networks do that.&amp;nbsp; They are supposed to do that.&amp;nbsp; They are a best efffort communications methodology that needs to adapt to various conditions.&lt;br /&gt;&lt;br /&gt;Traceroute doesn't give you ALL of the topology.&amp;nbsp; By far. Consider the case of a simple frame relay circuit. A Frame Relay circuit is mapped end to end by a Circuit provider but uses T carrier access to the local exchange.&amp;nbsp; Traceroute only captures the IP level access and doesn't capture elements below that. In fact, if you have ISDN backup enabled for a Frame Relay circuit, your end points for the circuit will change in most cases, for the access.&amp;nbsp; And the hop count may change as well.&lt;br /&gt;&lt;br /&gt;The good part about tracerouteing via a legitimate protocol is that you get to visualize any administrative access issues up front. For example, if port 8080 is blocked between the poller and the end node, the traceroute will fail. Additionally, you may see ICMP administratively prohibited messages as well. In effect, by positioning the poller according to end users populations, you get to see the service access pathing.&lt;br /&gt;&lt;br /&gt;Now, think about this... From a basic service perspective, if you poll via the service, you get a basic understanding of the service you are providing via that connection.&amp;nbsp; When something breaks, you also have a BASELINE with which to diagnose the problem. So, if the poll fails, rerun the traceroute via the protocol and see where it stops.&lt;br /&gt;&lt;br /&gt;Here are the interesting things to note about this approach:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You are simply replicating human expert knowledge in software.&amp;nbsp; Easy to explain.&amp;nbsp; Easy to transition to personnel.&lt;/li&gt;&lt;li&gt;You get to derive path breakage points pretty quickly.&lt;/li&gt;&lt;li&gt;You get to discern the perspective of the end user.&lt;/li&gt;&lt;li&gt;You are now managing your Enterprise via SERVICE!&lt;/li&gt;&lt;/ul&gt;Topology really doesn't mean ANYTHING until you evolve to manage by Service and not by individual nodes.&amp;nbsp; You can have all the pretty maps you want.&amp;nbsp; It doesn't mean crapola until you start managing by service.&lt;br /&gt;&lt;br /&gt;This approach is an absolute NATURAL for OpenNMS.&amp;nbsp; Let me explain...&lt;br /&gt;&lt;br /&gt;Look at the Path Outages tab. While it is currently manually configured, using the traceroute by service lineage here provides a way of visualizing the path lineage.&lt;br /&gt;&lt;br /&gt;OpenNMS supports services pollers natively.&amp;nbsp; There are alot of different services out of the box and its easy to do more if you find something different from what they already do.&lt;br /&gt;&lt;br /&gt;Look at the difference between Alarms versus Events. Service outages could directly be related to an Alarm while the things that are eventing underneath may affect the service, are presented as events.&lt;br /&gt;&lt;br /&gt;What if you took the reports and charts and aligned the elements to the service lineage?&amp;nbsp; For example, if you had a difference in service response, you could align all of the IO graphs for everything in the service lineage.&amp;nbsp; You could also align all of the CPU utilizations as well.&lt;br /&gt;&lt;br /&gt;In elements where there are subobjects abstracted in the lineage, if you discover them, you could add those in the lineage.&amp;nbsp; For example, if you discovered the Frame Relay PVCs and LEC access circuits, these could be included in with your visualization underneath the path where they are present.&lt;br /&gt;&lt;br /&gt;The other part is that the way you work may need to evolve as well.&amp;nbsp; For example, if you've traditionally ticketed outages on Nodes, now you may need to transition to a Service based model. And while you may issue tickets on a node, your ticket on a Service becomes the overlying dominant ticket&amp;nbsp; in that multiple node problems may be present in a service problem.&lt;br /&gt;&lt;br /&gt;And the important thing.&amp;nbsp; You become aware of the customer and Service first, then elements underneath that.&amp;nbsp; It becomes easier to manage to service along with impact assessments, when you manage to a service versus manage to a node.&amp;nbsp; And when you throw in the portability, agility, and abstractness of Cloud computing, this approach is a very logical fit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-8887708417216451518?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/8887708417216451518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/simplifying-topology.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8887708417216451518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/8887708417216451518'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/simplifying-topology.html' title='Simplifying topology'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-9012139553580802594</id><published>2010-04-04T11:24:00.001-05:00</published><updated>2010-04-04T11:51:57.200-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Management'/><title type='text'>Dangerous Development</title><content type='html'>Ever been in an environment where the developed solutions tend to work around problems rather than confronting issues directly? Do you see bandaids to issues as the normal, mode of operation? Do you have software that is developed without requirements or User Acceptance testing?&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;What you are seeing are solutions developed in a vacuum without regard to the domain knowledge necessary to understand that a problem needs to be corrected and not "worked around". Essentially, when developers lack the domain knowledge around identifying and correcting problems in areas outside of software, you end up with software developed that works around or bandaid across issues. Essentially, they don't know how to diagnose or correct the problem, diagnose the effects of the problem, or in many cases, even understand that it is a problem.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;In some cases, you need strong managerial leadership to stand up and make things right. The problem may be exacerbated by weak management or politically charged environments where managers manage to the Green. And some problems do need escalation.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;This gets very dangerous to an IT environment for a multitude of reasons including:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;It masks a problem. Once a problem is masked, any fix to the real problem breaks the developed bandaid solution.&lt;/li&gt;&lt;li&gt;It sets an even more dangerous precedent in that now its OK to develop bandaid solutions.&lt;/li&gt;&lt;li&gt;Once developed and in place, it is difficult to replace the solution. (It is easier to do nothing.)&lt;/li&gt;&lt;li&gt;It creates a mandate that further development will always be required because of the work arounds in the environment. In essence, no standards based product can no longer fulfill the requirements because of the work arounds.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;A lot of factors contribute to this condition commonly known as "Painted in a Corner" development. In essence, development efforts paint themselves into a corner where they cannot be truly finished or the return on investment can never be fully realized. A developer or IT organization cannot divorce itself or disengage from a product. In effect, you cannot finish it!&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;A common factor is a lack of life cycle methodology in the development organization. Without standards and methodologies, it is so easy for developers to skip over certain steps because of the pain and suffering. These elements include:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Requirements and Requirements traceability&lt;/li&gt;&lt;li&gt;Unit Testing&lt;/li&gt;&lt;li&gt;System Testing&lt;/li&gt;&lt;li&gt;Test Harnesses and structured testing&lt;/li&gt;&lt;li&gt;Quality Assurance&lt;/li&gt;&lt;li&gt;Coding standards&lt;/li&gt;&lt;li&gt;Documentation&lt;/li&gt;&lt;li&gt;Code / Project refactoring&lt;/li&gt;&lt;li&gt;Acceptance Testing.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;This is no different from doing other tasks such as Network Engineering, Systems Engineering, and Applications Engineering. The danger is that once the precedence is set that its OK to go around the Policies, Procedures, and Discipline associated with effective Software Development, it is very hard to reign it back in. In effect, the organization has been compromised. And they lack the awareness that they are compromised.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;b&gt;What do you do the right the ship?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;Obviously, there is a lack of standards and governance up front. These need to be remedied. Coding standards, software lifecycle management techniques need to be chosen and implemented up front. Need to get away from Cowboy code and software development that is not customer driven. Additionally, it should be obvious that design and architecture choices need to be made external to this software development team in the foreseeable future.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;Every piece of code written needs to be reviewed and corrected. You need to get rid of the bandaids and "solutions" that perpetuate problems. And you need to start addressing the real problems instead of working around them.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;Software that perpetuates problems by masking them via workarounds and bandaids is a dangerous pattern to manifest in your organization. Its like finding roaches in your house. Not only will you see the bandaid redeveloped and reused over and over again, you have an empowered development staff that bandaids versus fixes. Until you can do a thorough cleaning and bombing of the house, it is next to impossible to get rid of the roaches.&lt;br /&gt;&lt;br /&gt;Sometimes, development managers tend to be promoted a bit early in that while they have experience with code and techniques, exposure to a lot of different problem sets segregates the good development leaders from the politicians and wannabes.&amp;nbsp; Those that are pipelined do not always understand how to reason through problems, discern the good from bad techniques and approaches, and lead down the right paths.&amp;nbsp; Some turn very political because it is easier for them to respond politically than technically.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What are the Warnings Signs?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Typically, you see in house developed solutions that are developed around a problem in functionality that would not normally be seen in many different places.&amp;nbsp; This can be manifested in many ways.&amp;nbsp; Some examples or warning signs&amp;nbsp;include:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Non-applicability of commercial products because of one off in house solutions or &amp;nbsp;applied workarounds.&lt;/li&gt;&lt;li&gt;Typical terms like "thats the way we've always done this" or "We developed this to work around..." arise in discussions.&lt;/li&gt;&lt;li&gt;You see alot of in house developed products in many different versions.&lt;/li&gt;&lt;li&gt;In house developed products tend to lack sufficient documentation.&lt;/li&gt;&lt;li&gt;You see major deviations away from standards.&lt;/li&gt;&lt;li&gt;No QA and code review is only internal to the group.&lt;/li&gt;&lt;li&gt;No Unit or System test functionality available to the support organization.&lt;/li&gt;&lt;li&gt;In house developed software that never transitions out of the development group.&lt;/li&gt;&lt;li&gt;Software developed in house that is never finished.&lt;/li&gt;&lt;li&gt;You get political answers to technical questions.&lt;/li&gt;&lt;/ul&gt;A lesson here is that it does matter that the person you setup to lead, have exposure to a lot of different problem sets, SDLC methodologies in practice and not just theory, and they have some definite problem reasoning skills. A Politician is not a good coach or development leader in these environments.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In Summary&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;One must be very careful in the design and implementation of software done in house.&amp;nbsp; If wrong, you can quickly paint development and the developed capabilities into a corner where you must forklift to get functionality back.&amp;nbsp;&amp;nbsp; And if you're not careful, you will stop evolution in the environment because the technical solutions will continue to work around instead of directly addressing problems.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-9012139553580802594?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/9012139553580802594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/dangerous-development.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/9012139553580802594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/9012139553580802594'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/04/dangerous-development.html' title='Dangerous Development'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-4589834755302544727</id><published>2010-03-27T12:16:00.000-05:00</published><updated>2010-03-27T16:13:25.198-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Alarm Management'/><category scheme='http://www.blogger.com/atom/ns#' term='NetPromoter Score'/><category scheme='http://www.blogger.com/atom/ns#' term='trouble ticketing'/><category scheme='http://www.blogger.com/atom/ns#' term='Event management'/><category scheme='http://www.blogger.com/atom/ns#' term='Complex Event Processing'/><category scheme='http://www.blogger.com/atom/ns#' term='Cyberspace'/><category scheme='http://www.blogger.com/atom/ns#' term='reputation management'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Management'/><category scheme='http://www.blogger.com/atom/ns#' term='knowledge management'/><category scheme='http://www.blogger.com/atom/ns#' term='Situation Awareness'/><title type='text'>NPS, Enterprise Management, and Situation Awareness</title><content type='html'>&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;In the course of what I do, I have to sometimes take non-technical metrics and understand where implementation of technology - especially in the ENMS realm - applies toward achieving real business goals.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;Recently, alot of Services based companies are working toward understanding and improving their Net Promoter Score or NPS.  As part of this initiative, what can I do to realize the overall goal?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;First, I went looking for a definition of NPS to understand the terms, conditions, and metrics related to this KPI. I found this definition:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#C0C0C0;"&gt;"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  color: rgb(0, 100, 162); line-height: 18px; font-family:arial, helvetica, verdana, 'sans serif';font-size:12px;"&gt;&lt;h1 style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; color: rgb(0, 100, 162); line-height: 18px; font-weight: bolder; font-size: 18px; background-position: initial initial !important; background-repeat: initial initial !important; "&gt;What is Net Promoter?&lt;/h1&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; color: rgb(0, 100, 162); line-height: 18px; font: normal normal normal 12px/18px arial; background-position: initial initial !important; background-repeat: initial initial !important; "&gt;Net Promoter® is both a loyalty metric and a discipline for using customer feedback to fuel profitable growth in your business. Developed by Satmetrix, Bain &amp;amp; Company, and Fred Reichheld, the concept was first popularized through Reichheld's book &lt;i style="font-style: italic; "&gt;The Ultimate Question&lt;/i&gt;, and has since been embraced by leading companies worldwide as the standard for measuring and improving customer loyalty.&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; color: rgb(0, 100, 162); line-height: 18px; font: normal normal normal 12px/18px arial; background-position: initial initial !important; background-repeat: initial initial !important; "&gt;The &lt;u&gt;&lt;a href="http://www.netpromoter.com/np/calculate.jsp" style="color: rgb(0, 100, 162); "&gt;Net Promoter Score&lt;/a&gt;&lt;/u&gt;, or NPS®, is a straightforward metric that holds companies and employees accountable for how they treat customers. It has gained popularity thanks to its simplicity and its linkage to profitable growth. Employees at all levels of the organization understand it, opening the door to customer- centric change and improved performance.&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; color: rgb(0, 100, 162); line-height: 18px; font: normal normal normal 12px/18px arial; background-position: initial initial !important; background-repeat: initial initial !important; "&gt;Net Promoter programs are &lt;b style="font-weight: bold !important; color: rgb(0, 100, 162) !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; "&gt;not&lt;/b&gt; traditional customer satisfaction programs, and simply measuring your NPS does not lead to success. Companies need to follow an &lt;u&gt;&lt;a href="http://www.netpromoter.com/np/model/index.jsp" style="color: rgb(0, 100, 162); "&gt;associated discipline&lt;/a&gt;&lt;/u&gt; to actually drive improvements in customer loyalty and enable profitable growth. They must have leadership commitment, and the right business processes and systems in place to deliver real-time information to employees, so they can act on customer feedback and achieve results.&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;I found this at :&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;a href="http://www.netpromoter.com/np/index.jsp"&gt;http://www.netpromoter.com/np/index.jsp&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;&lt;br /&gt;In essence, the NPS KPI is a metric by which to measure customer loyalty. In its simplicity, come the subjectiveness of how you treat your customers. So this begs the question:  What can I do from an Enterprise Management perspective to affect this?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;&lt;br /&gt;From my perspective, the NPS is a measure of the effectiveness of your support CULTURE first and foremost. This is a personal - core belief - sort of thing at its foundation. Customer facing people in your support organization must project several key personality traits and behaviors.  Some of these I envision to be:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;&lt;br /&gt;Dedication.  The customer is the only person in the room sort of thing.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Urgency of need. The support person must understand the importance of the situation.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Empathy. A willingness and understanding of the customer's pain.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Confidence.  In the face of unknown issues and varying conditions, the customer facing person must exhibit technical strength.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Follow Through. If the customer trusts you enough to let you off the phone to handle things, you MUST FOLLOW THROUGH.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;There is also the notion that in a Service oriented company, EVERYONE is a sales person in one way or another.  Every interaction means an opportunity to understand the customer and help them be successful.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;When you go to MacDonalds and you're trying to figure out what you'd like or what level of poly unsaturated fat and cholesterol you want to propagate to your family...  Ever gotten the person that asks you what you want and you don't know and they stand there looking at you?  NPS score --.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Now, if they engage you and suggest items like a 12 pack of Big Macs, they are DEDICATED, empathic to your hunger pains,understand your urgency of need, and have confidence your order is going to be up in a minute or so after inputting it in the computer. And in the end they ask about dessert - Great Sales person and GREAT customer service person. NPS score ++.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;From a personal work habits perspective, one of the key behaviors to be considered is creating and maintaining Situation Awareness.  I ran across the term SA while working on an Air force project and found it profoundly appropo for operations organizations doing customer service.  Check this out on Wikipedia:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Situation_awareness"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://en.wikipedia.org/wiki/Situation_awareness&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;I also read through several sections of the google book review about Situation Awareness by Dr. Mica Endsley and Daniel Garland.  This is at :&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;a href="http://books.google.com/books?id=tUwqcqa_QaMC&amp;amp;printsec=frontcover&amp;amp;dq=Situation+Awareness&amp;amp;source=bl&amp;amp;ots=NccDiPzgMI&amp;amp;sig=NW0LAHrBsOTFXVmSyCSKz6154IU&amp;amp;hl=en&amp;amp;ei=pUWuS_HdE4X7lwf9tdCRAQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=2&amp;amp;ved=0CBQQ6AEwAQ#v=onepage&amp;amp;q=&amp;amp;f=false"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://books.google.com/books?id=tUwqcqa_QaMC&amp;amp;printsec=frontcover&amp;amp;dq=Situation+Awareness&amp;amp;source=bl&amp;amp;ots=NccDiPzgMI&amp;amp;sig=NW0LAHrBsOTFXVmSyCSKz6154IU&amp;amp;hl=en&amp;amp;ei=pUWuS_HdE4X7lwf9tdCRAQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=2&amp;amp;ved=0CBQQ6AEwAQ#v=onepage&amp;amp;q=&amp;amp;f=false&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;(I'm ordering the book!)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;The model graphic they provide is useful as well:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;a href="http://en.wikipedia.org/wiki/File:SA_Wikipedia_Figure_1_Shared_SA_(20Nov2007).jpg"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://en.wikipedia.org/wiki/File:SA_Wikipedia_Figure_1_Shared_SA_(20Nov2007).jpg&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;In effect, what enterprise management applications and technology MUST do to effectively achieve a higher NPS is to empower SA at all levels. In doing so, you create a &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;culture&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt; where information is meant to be shared and used to make predictions and illicit responses and decisions based upon information being presented.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Now this is a bit taller of an order than once thought. For example, on the Event / Fault Management side of things, information is presented as events. People respond to events. They test or open tickets or whatever workflow they do when an event is received. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;But an event is NOT a situation! A Situation is something a bit different and more abstract than a simple event.  So, you have to transition your events to be situation focused!  Interesting thought... Especially since event presentation is the real prevalent method!   Maybe the Netcool approach needs to evolve a bit!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Interesting in that OpenNMS introduces the concept that events are different from Alarms in their own GUI.  Check it out at:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;a href="http://www.opennms.org/wiki/Alarms"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.opennms.org/wiki/Alarms&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;A brilliant piece of work (and a notion that simple is Good!) in that EVENTS != ALARMS!  My hats off the the OpenNMS guys and the&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.opennms.org/wiki/OGP"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;OGP&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;for GETTING IT! In fact, its a start down the road of understanding the concept of Situations in SA.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Trouble Ticketing systems attempt to do this situation grouping via tickets but its almost too late once it leaves your near real time pane of glass.   Once you transition away from a single pane of glass, you effectively lose your SA of the real time.  And if you attempt to work out of tickets, you miss all of the elemental sorts of things that happen underneath. Even elements of information like event activity, performance thresholds, support activity, and the like have to be discerned and recognized in near real time to be effective information.  If you miss it, you don't know.  But your customer may not miss it!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;If you ticket from event to ticket, you're asking for problems.  Problems like tickets that are not problems but side effects.  Or side effects that are problems, just rolled up under a ticket. Or awareness that conditions have cleared while the ticket is still being escalated and worked. Or missing all of the adjacent issues like a router taking out a subnet taking out and application and its three different desks.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;The interesting part here is that two given situations may have events that effect each situation. This may throw a kink in normal, database table based event management systems. May be a bit difficult to implement and support.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;I am beginning to think a bit different on Event processing especially with regards to SA and understanding, recognizing, and responding to SITUATIONS.  For example, check out this presentation by Tim Bass of Cyberstrategics. He has a long history of thought leadership in Situational Awareness in Cyberspace.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  "&gt;&lt;a href="http://www.slideshare.net/TimBassCEP/getting-started-in-cep-how-to-build-an-event-processing-application-presentation-717795"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.slideshare.net/TimBassCEP/getting-started-in-cep-how-to-build-an-event-processing-application-presentation-717795&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;CEP techniques would enable an event to be consumed by multiple situations as situations develop and dissipate.  Think about the weighting of events and conditions within a given situation.  Some elements may be much more pertinent than others.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;A significant part of Situation Awareness is the visualization and presentation of data regarding the ongoing situation.  For example, check out this video: &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" color: rgb(0, 100, 162); font-family:arial, helvetica, verdana, 'sans serif';"&gt;&lt;a href="http://www.youtube.com/watch?v=FdKOxZIIKmQ"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.youtube.com/watch?v=FdKOxZIIKmQ&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;From the aspect of true, situational awareness, shouldn't we be looking at evolving Enterprise Management toward being able to deal with situations?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;Another thought here.  If I'm worried about an NPS, could I MANAGE to it live?  Or at least closer to real time? What if I could meld in the capabilities of Evolve24's The Mirror product as a look at the &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;REPUTATION SITUATION&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt; as it evolves?  Check it out at:&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000066;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" color: rgb(0, 100, 162); font-family:arial, helvetica, verdana, 'sans serif';"&gt;&lt;a href="http://www.evolve24.com/mirror_for_social_media.php"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;http://www.evolve24.com/mirror_for_social_media.php&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;This kind of changes the face of what we have been considering as BSM, doesn't it. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;The common denominator in all this process and technology is Knowledge Management. How are you developing knowledge?  How are you integrating it in with EVERY person. How are you using it to create SA and HUGE business discriminators? How are you using KM to empower your customers?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style=" ;font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; line-height: 18px; font: normal normal normal 12px/18px arial; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-4589834755302544727?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/4589834755302544727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/nps-enterprise-management-and-situation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4589834755302544727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4589834755302544727'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/nps-enterprise-management-and-situation.html' title='NPS, Enterprise Management, and Situation Awareness'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-505026788692064729</id><published>2010-03-27T09:42:00.000-05:00</published><updated>2010-03-27T11:37:47.244-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network Management'/><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='correlation'/><category scheme='http://www.blogger.com/atom/ns#' term='Implicit Status Determination'/><category scheme='http://www.blogger.com/atom/ns#' term='NerveCenter'/><category scheme='http://www.blogger.com/atom/ns#' term='intelligent polling'/><title type='text'>Implicit Status Determination example</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_-5t7lgw8Qoc/S64bJLJVXlI/AAAAAAAAAA4/0meh2LZUwBQ/s1600/slide0143_image034.jpg"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_-5t7lgw8Qoc/S64bJLJVXlI/AAAAAAAAAA4/0meh2LZUwBQ/s320/slide0143_image034.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5453326043216961106" /&gt;&lt;/a&gt;&lt;br /&gt;It has come to my attention that alot of folks do not understand state based polling let alone the importance and scalability of doing things like active polling in a state machine representation. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For some, heartbeats and traps are  way of life. While this is OK, if you're serious about detection of problems and pointing your people to fix these issues, its going to take an active stance.   Waiting on heartbeats and traps is kind of lame in that you might as well be waiting on your end user to call you.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, I'm going to start off with a very simple model that incorporates a technique called Implicit Status Determination that illuminates how effective state machines can be.  For purposes of this example, I am working from an implementation done in &lt;a href="http://www.logmatrix.com/solutions-network-management.htm"&gt;LogMatrix NerveCenter&lt;/a&gt;.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In a NerveCenter Finite State Machine model, SNMP and ICMP polls are only applied when your model reaches a state where the poll takes it out of the current state.  So, in this model, I may have several different poll conditions.  These polls are only applied when they need to be.  Additionally, traps are masked in as triggers as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the NerveCenter model, you have States, triggers, and Actions. States are represented by the octagonal symbols in the GUI.   The color of the symbols is also mapped (or not) to platforms like Network Node Manager. (As a side note, I map the purple used in this example for unreachable to the NNM status "Restricted" which is a brick brownish red color. When you see path outages in NNM, you'll see nodes depicted as Restricted where NerveCenter cannot reach those nodes.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Triggers are the lines and boxes that connect state to state. They are named and can be created in alot of different ways including:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;SNMP Polls&lt;/li&gt;&lt;li&gt;ICMP Polls&lt;/li&gt;&lt;li&gt;Masks&lt;/li&gt;&lt;li&gt;Actions&lt;/li&gt;&lt;li&gt;Timers&lt;/li&gt;&lt;li&gt;Counters&lt;/li&gt;&lt;li&gt;Perl Sub-Routines&lt;/li&gt;&lt;li&gt;External via nccmd&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Actions are the work that occurs when a model transitions from state to state. There can be any number and function applied to an action. Like inform a platform by event, running a perl sub-routine, incrementing or decrementing counters, sending email and so on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using this simple Node Status model, node status poll rates can be cranked down to very tight intervals without killing performance and scalability. Additionally, traps that are not applicable to the current state, get filtered based on their usefulness in the current state.  If the trap mask doesn't transition the model instance to another state, it is not used.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lets go through the States...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Ground&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All models are instanced at Ground.  This model is scoped "Node" so only one instance per node is used.  The first state reachable is the Needs Poll state.  The transition is the result of a successful SNMP Get of system.sysUptime. (Pretty light weight.  But if you want to store the variable, it gives you a very valid data point for Agent Availability.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Out of the Needs Poll state are several poll and trap conditions that relate to various states of the Node. The first of which is Node OK. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;NodeOK&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;NodeOK is achieved when a valid SNMP poll of system.sysUptime where the value of sysUptime is more than the interval times 100 (sysUptime is expressed in TimeTicks which is 1/100th of a second.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the transition to NodeOK, a poll timer is set to a value corresponding to the ISD interval window.  In this example, it is 15 seconds. As other valid SNMP polls occur for the node, these send  trigger called timer_reset. These triggers go from Node OK back to Node OK and they reset the poll timer to the next ISD Interval window.  What this does is to "slide" the poll timer window on the assumption that any valid poll to the Node &lt;i&gt;IMPLIES &lt;/i&gt;a valid Node Status poll. So, while I'm setting and using a 15 second window, I am only discreetly polling for Node Status every 10 to 15 minutes dependent upon the number of sub-objects I'm managing in other State models.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Agent Down&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Agent Down occurs when the trigger PORT_UNREACHABLE is received. PORT_UNREACHABLE is triggered when an ICMP port Unreachable message is received from the Node.  It signifies that the host is telling you that no process is listening on UDP 161 or the Agent is no longer listening. (Notice that this means that the Node is actually still up. It has the where with all to send you an ICMP Control message which means the INET daemon is still jammin.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Rebooted&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Rebooted state is used to capture a node reboot and suppress all of the downs until the node comes back up. This state is also used to reset subobject models so that they do not become stale especially when instances change.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Agent Down Node Up&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From the Agent down state, if the node responds to an ICMP ping, it is transitioned to Agent Down Node Up.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Node Down&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both SNMP and ICMP communications have failed.  The node is deemed down.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Unreachable&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unreachable occurs when polling attempts yield either NET_UNREACHABLE or NODE_UNREACHABLE triggers.  These messages are directly derived from IP flow control messages in ICMP - Namely Network Unreachable and Node Unreachable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From RFC 792 - Internet Control Message Protocol&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; line-height: 26px; "&gt;"Description&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; line-height: 26px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; line-height: 26px; "&gt;If, according to the information in the gateway's routing tables, the network specified in the internet destination field of a datagram is unreachable, e.g., the distance to the network is infinity, the gateway may send a destination unreachable message to the internet source host of the datagram. In addition, in some networks, the gateway may be able to determine if the internet destination host is unreachable. Gateways in these networks may send destination unreachable messages to the source host when the destination host is unreachable."    &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; line-height: 26px; "&gt;&lt;span&gt;Read more:&lt;a href="http://www.faqs.org/rfcs/rfc792.html#ixzz0jOIWkSkN" style="color: rgb(17, 85, 255); text-decoration: none; "&gt;http://www.faqs.org/rfcs/rfc792.html#ixzz0jOIWkSkN&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; line-height: 26px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;These two messages come from routers in the path between the poller and the end node.  And, as such, when route convergence occurs, it is possible that a route to an end network may transition to infinity or become unreachable until routing metrics can be recalculated and the traffic rerouted. It is an indication that your topology has changed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In cases where the path is persistently lost, it is an outage. But because the message is emitted&lt;/div&gt;&lt;div&gt; from the device that recognized the path loss, you have all of the good path TESTED ALREADY.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I typically see Net Unreachable when a router loses a route to a given network.  I have seen a Node Unreachable when the ARP entry for the node is waxed out of the ARP cache on the router that services the Nodes local network.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Results&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using ISD and model sets, I can usually outperform polling and status mechanisms in other COTS offerings 4-5:1.  I have benchmarked against NNM and performed on 20 second status intervals with 20% of the traffic netmon uses at 5 minute intervals.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And because I am catching active topology changes at the IP level in near real time, I'd say in many cases, topology changes that will be seen via NerveCenter will not be seen on other products.  (I have captured Dykstra recalcs in midstream on slow and underpowered Cisco devices. Hey! It's a problem!) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;In Summary&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While this is a very basic Node Status model, you see the technique and prowess of the Finite State Machine in action. It is a very different world from the static poll lists so prevalent in basic pollers you see.   And while a poll list is very lightweight code wise, you never make a decision in line with the poll.  You end up polling continuously even when you don't want to.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While I do realize that some organizations want an "Out of the Box" solution, they tend to get a solution that is dependent upon the vendor to adapt to your infrastructure - your workflow - your organizational technical knowledge.   Do you control the pace or do the Vendors? Do you evolve?  Are you committed to continuous process improvement or is a lack of change your modus operandi?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I also realize that inevitably, some organizations must reinvent the wheel. Their Ego vs. Reality ratio has not matured or stabilized yet. Good luck. NerveCenter is still the standard in intelligent status polling. Has been for years.  I got my first looksee in 1993 via Netlabs Dual Manager.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-505026788692064729?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/505026788692064729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/implicit-status-determination-example.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/505026788692064729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/505026788692064729'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/implicit-status-determination-example.html' title='Implicit Status Determination example'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-5t7lgw8Qoc/S64bJLJVXlI/AAAAAAAAAA4/0meh2LZUwBQ/s72-c/slide0143_image034.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-6475716833102029861</id><published>2010-03-13T22:09:00.000-06:00</published><updated>2010-03-14T00:29:35.931-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Finite State Machines'/><category scheme='http://www.blogger.com/atom/ns#' term='POE'/><title type='text'>Java and Finite State Machines</title><content type='html'>OK. I have this thing about Event Driven Architectures and Finite State Automata. Sounds big and bold but its really very simple once you get past the lingo and hoopla!&lt;br /&gt;&lt;br /&gt;I like Finite State Machines because its how we, as people, step through logic and its how we enact and implement workflow. They are easy to illustrate and explain, even to the novice or PhD (Pointy Haired Dude!).&lt;br /&gt;&lt;br /&gt;FSMs track the condition of "thingies" through various conditions and logic cases. Associated with each FSM are a Start state, transitions, and states. Simple enough, right?&lt;br /&gt;&lt;br /&gt;When you instance an FSM, it becomes an Object. This means that you have started to track a "Thingie" in your FSM and it is in the Start state.&lt;br /&gt;&lt;br /&gt;Generally, there are two types of Finite State Automata - Moore or Mealy model. In practice, a Moore Model of a state machine uses only Entry Actions, such that its output depends on the state. A Mealy model of a state machine uses only Input Actions, such that the output depends on the state and also on inputs.&lt;br /&gt;&lt;br /&gt;Sounds complex but its not. It all breaks down to states, transitions, and actions.&lt;br /&gt;For simplicity sake, a Finite State machine can be described in a couple of database tables:&lt;br /&gt;&lt;br /&gt;CREATE TABLE States {&lt;br /&gt;OLD_STATE varchar(32),&lt;br /&gt;NEW_STATE varchar(32),&lt;br /&gt;Transition_Name varchar(32),&lt;br /&gt;Actions_Index integer,&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;CREATE TABLE Transitions {&lt;br /&gt;Transition_Name varchar(32),&lt;br /&gt;Transition_Method integer,&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;CREATE TABLE Actions {&lt;br /&gt;Actions_Index integer,&lt;br /&gt;Action_cmd varchar(255),&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;When a State is Achieved as in becomes a new state, any transition that progresses the State Machine needs to be enacted and scheduled. For example, if you have a start state and its one transition out of start requires an action, that action needs to be enacted.&lt;br /&gt;&lt;br /&gt;When a state machine receives triggers, these are parsed and assigned to transitions which move a tracked object from State to state. If an object is in a state where a transition cannot be applied, it is dropped. For example, if you have an object in an Up state and the poll determination send a transition to Obj_up but that transition is not present in the Up state, the transition is dropped.&lt;br /&gt;&lt;br /&gt;When an Object transitions from an Old State to a new State, and actions for that transition need to be executed. (This is the workflow). Once the New State is achieved, we restart the process.&lt;br /&gt;&lt;br /&gt;The benefits behind a state machine is that it lets you model objects in an asynchronous way, as fast or as slow as need be. Methods are only executed upon reaching an achieved state. So, you don't have to execute ALL methods upon instantiation of and object... Only as you progress through the state machine.&lt;br /&gt;&lt;br /&gt;From a purely "Persistent" point of view, an Object instance is a row in a DB table. This row depicts the current state and a date-time stamp. Everything else around the FSM logic is used to determine the next state and perform actions based upon transitioning from one state to another.&lt;br /&gt;&lt;br /&gt;Now that we have the basics down, lets look at some code examples:&lt;br /&gt;&lt;br /&gt;First of all, there was this fellow name Rocco Caputo that developed a set of Perl modules called POE or Perl Object Environment. As per Rocco : "POE originally was developed as the core of a persistent object server and runtime environment. It has evolved into a general purpose multitasking and networking framework, encompassing and providing a consistent interface to other event loops such as Event and the Tk and Gtk toolkits."&lt;br /&gt;&lt;br /&gt;POE cansists of a kernel that can be thought of as a small, operating system running in a user process. Each kernel supports one or more Sessions and each Session has its own space called a Heap. Each Session, in turn, has a series of events and event handlers which run when called.&lt;br /&gt;&lt;br /&gt;Events can be yielded (They go to the bottom of the events for processing) or they can be called (They go to the top of the stack for processing). Event Handlers are perl subroutines that are executed upon running of the event in stack processing the session.&lt;br /&gt;&lt;br /&gt;Additionally, Sessions can be named and events can be sent from one session to another.&lt;br /&gt;&lt;br /&gt;Sessions are initiated in a couple of ways. States or Objects.&lt;br /&gt;&lt;br /&gt;This is the States way:&lt;br /&gt;&lt;br /&gt;POE::Session-&gt;create(&lt;br /&gt;inline_states =&gt; {&lt;br /&gt;one =&gt; \&amp;amp;some_handler,&lt;br /&gt;two =&gt; \&amp;amp;some_handler,&lt;br /&gt;six =&gt; \&amp;amp;some_handler,&lt;br /&gt;ten =&gt; \&amp;amp;some_handler,&lt;br /&gt;_start =&gt; sub {&lt;br /&gt;$_[KERNEL]-&gt;yield($_) for qw(one two six ten);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;Heres a session initiation with Objcts and Inline States :&lt;br /&gt;&lt;br /&gt;POE::Session-&gt;create(&lt;br /&gt;object_states =&gt; [&lt;br /&gt;$object_1 =&gt; { event_1a =&gt; "method_1a" },&lt;br /&gt;$object_2 =&gt; { event_2a =&gt; "method_2a" },&lt;br /&gt;],&lt;br /&gt;inline_states =&gt; {&lt;br /&gt;event_3 =&gt; \&amp;amp;piece_of_code,&lt;br /&gt;},&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;Notice that the events in inline states call sub routine Code references. Each event handler must be organized as a subroutine.&lt;br /&gt;&lt;br /&gt;Each subroutine is setup like:&lt;br /&gt;&lt;br /&gt;sub Yada_yada {&lt;br /&gt;my ($kernel, $heap, $parameter) = @_[KERNEL, HEAP, ARG0];&lt;br /&gt;# Do stuff in the sub...&lt;br /&gt;# ....&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;While it may seem a bit unorthodox, Perl actually inits subs with an Arguments array @_ and POE uses this natively.&lt;br /&gt;&lt;br /&gt;So, in POE, we init sessions which have states and actions (callbacks). And we have a Heap space to store our state data.&lt;br /&gt;&lt;br /&gt;In a simplistic way of looking at it, transitions and ther application to state are accomplished in the events and callbacks. If the object is in the proper OLD_STATE to transition to a NEW_STATE, the transition occurs (writing the new state name to the Heap and executing the Actions.)&lt;br /&gt;&lt;br /&gt;Now, here's something VERY INTERESTING about POE and Perl:&lt;br /&gt;&lt;br /&gt;$_[KERNEL]-&gt;state sets or removes a Handler for an EVENT_NAME within the current Session. For example, the following line would remove the handler for the EVENT_NAME in the current session.&lt;br /&gt;&lt;br /&gt;$_[KERNEL]-&gt;state( 'on_client_input' );&lt;br /&gt;&lt;br /&gt;Subsequent calls that have a Sub routine Code reference get replaced as in:&lt;br /&gt;&lt;br /&gt;$_[KERNEL]-&gt;state( 'on_client_input', \&amp;amp;new_subroutine );&lt;br /&gt;&lt;br /&gt;Given Perl eval, one could read in new subroutines, check them in eval, AND put them into action within POE without having to stop, reread, and restart. Can you say&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:130%;"&gt;&lt;em&gt;&lt;strong&gt;24 BY FOREVER!&lt;/strong&gt;&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, when you look at Java and State Machines, I am in a bit of a conundrum. Objects must run their methods right away. So trying to model a "Thingie" becomes an exercise where my "Thingie" object becomes a container of states objects and transition objects. All of a sudden, the app is not scalable.&lt;br /&gt;&lt;br /&gt;And in keeping pace with POE, each "Thingie" object must b a separate thread as each Session is its own "thread of execution..."&lt;br /&gt;&lt;br /&gt;In looking over the Finite State Machine Framework on SourceForge :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://unimod.sourceforge.net/fsm-framework.html"&gt;http://unimod.sourceforge.net/fsm-framework.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I notice that this is a good FSM framework. However, State machines must be compiled and rerun under the JVM. No dynamic non-determinstic methods.&lt;br /&gt;&lt;br /&gt;I could spoof Java into doing a persistent State machine by only handling transitions in objects. Everything else must be done via a pewrsistence storage such that only transitions are instanced and transition actions are executed upon transition execution. This adds a bit of overhead in the IO model as well as the states have to be hibernated or stored in data structure of some kind.&lt;br /&gt;&lt;br /&gt;Changing transitions on the fly is an exercize in calling classes out of a database store. If a new class is applied, it gets exectued by name via the DB record. But, in order to change things, the process must stop and restart to reread all of the classes and class hierarchy.&lt;br /&gt;&lt;br /&gt;Each transition must either have the same number of methjod arguments or iut must be uniquely named. Method overloading because of the variability of calling a transition with ever changing methods underneath means that method overloading would become rather prolific.&lt;br /&gt;&lt;br /&gt;My Conclusion:&lt;br /&gt;&lt;br /&gt;FSMs are hard to do in an OO type Object Model without instancing a whole lot of objects. But it could be accomplished if you make the object model look kinda like a FSM. Still no where near as dynamic as Perl and POE though. And because of the cooperative nature of the POE kernel, it is significantly tighter than attempting to spawn out hundreds of threads.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-6475716833102029861?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/6475716833102029861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/java-and-finite-state-machines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6475716833102029861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6475716833102029861'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/java-and-finite-state-machines.html' title='Java and Finite State Machines'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-1625709640015173958</id><published>2010-03-13T15:40:00.000-06:00</published><updated>2010-03-13T21:21:07.872-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SLA'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='correlation'/><category scheme='http://www.blogger.com/atom/ns#' term='topology'/><category scheme='http://www.blogger.com/atom/ns#' term='Services'/><title type='text'>Topology Based Correlation</title><content type='html'>I know alot of folks would like to think that Topology based correlation as delivered today, is real 100% of the time. It can be. IF your network is REALLY simple. I have yet to see a simple network. (Guess I don't get out much!)&lt;br /&gt;&lt;br /&gt;The problem is that IP networks are designed as a best effort communications medium that is designed to morph, adapt, and overcome problems in the network. As such, routes will change on the fly. Application connectivity can change very quickly. And this "adaptation" may hide outages from you.&lt;br /&gt;&lt;br /&gt;Check out this wikipedia article on MPLS Fast Reroute and local protection :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/MPLS_local_protection"&gt;http://en.wikipedia.org/wiki/MPLS_local_protection&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are a whole host of protocols and techniques around creating and maintaining a highly available network service as a utility. This includes the gamut from Spanning Tree Protocol to Extended BGP.&lt;br /&gt;&lt;br /&gt;Does your topology map really map out your "true" network? Does it capture routing protocol decisions and seemingly mundane little network idiosyncracies like GRE Tunnels, Parreto Tunnels and VPNs? If you want to REALLY see topology as a true map thats live, you need to check out:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.packetdesign.com/products/rex.htm"&gt;http://www.packetdesign.com/products/rex.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Does downstream suppression really buy you anything? Think about it for a moment. While you are responding to network outages that may appear, then disappear, do you wait until you have a "hard down" condition to ticket? How do you know you have a hard down condition anyway?&lt;br /&gt;&lt;br /&gt;How do you know if you're giving away your SLA time? When a customer experiences an outage, do you really know and understand when that is? What impact does your interface down have on your customer? What impact does it have on your customer's customer?&lt;br /&gt;&lt;br /&gt;I find ironic and somewhat disturbing that folks have not thought through SLAs on their product strategies in that if you do not check and verify in your correlation, you do not verify the problem and you will most likely either miss a problem due to false downstream suppression or you'll have a problem for several minutes before your support organization knows.&lt;br /&gt;&lt;br /&gt;Sometimes probems are not Hard down as one might think. Issues like packet drops, big latency changes, and assymmetric routes can wreak havoc in communications without having hard down issues. It can make things extremely slow, cause alot of retransmissions, and cause services resets. If the customer is not having a good experience with their work over the network, its a very bad problem in that your reality doesn't match the customers perception of reality. Your situational awareness is disconnected from your customer in a time when it should be.&lt;br /&gt;&lt;br /&gt;So, how do we create awareness and customer cognizance?&lt;br /&gt;&lt;br /&gt;1. You need to understand the services that are important to them and measure them first.&lt;br /&gt;&lt;br /&gt;If you measure latency and connectivity through Exchange and the times increase significantly or the webmail client response goes to heck in a bucket, HOUSTON - you have a problem!&lt;br /&gt;&lt;br /&gt;2. You need to understand the topology at a basic level from the service poller to the service.&lt;br /&gt;&lt;br /&gt;By understanding the topology at a basic level between a service poller and the service provide point, when a problem occurs, you can discern the before and after. Additionally, this gives you a baseline network lineage with which to apply other data.&lt;br /&gt;&lt;br /&gt;For example, in a service lineage, you could show all of the CPUs in every element that had a CPU in a service. If you saw an abnormally high or low CPU condition along the path lineage, it could give you very valuable insight into problem areas or places where the service may be degraded from.&lt;br /&gt;&lt;br /&gt;This service lineage gives the engineer, technician, and support personnel the ability to visualize the service but drill down into details from the context of a service. Even mundane things like sepict within the service lineage all change taskings and trouble ticket activity within the last week. Or show me the operating system versions and patch levels across the lineage.&lt;br /&gt;&lt;br /&gt;From a CMDB perspective, the relationships needed can be easily modelled using the CIM model. You can find the CIM Schema here at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dmtf.org/standards/cim/cim_schema_v28"&gt;http://www.dmtf.org/standards/cim/cim_schema_v28&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The funny part is that with a wee bit of creativity, traceroute provides a great baseline for a lineage. When you look at how traceroute works, it uses the Time To Live parameter to step through a network. When a TTL / hop count is exceeded, the packet is discarded and an ICMP Time Exceeded message is sent back to the host (ICMP Type 11). Traceroute typically sends 3 packets at a time.&lt;br /&gt;&lt;br /&gt;Box stock traceroute is usually done via UDP and in Windows, it is accomplished as ICMP. However, TCP is used in more advanced tools. The benefit of using TCP would be that you could perform a traceroute within a protocol port. This will tell you if the protocol such as HTTP (TCP port 80) can connect. If the specific port is blocked, the traceroute will not progress past the point of filtering. Additionally, an ICMP Administratively Prohibited message may be seen if available.&lt;br /&gt;&lt;br /&gt;While traceroute may skip over elements in the network, when something breaks, at the basic IP/Service protocol layer, you have an impromptu schematic with which to baseline your service diagnosis. If the path is broken or changed, you'll be able to tell.&lt;br /&gt;&lt;br /&gt;There are 3 elements of IP and how it works that give you topology based correlation in near real time.These elements are:&lt;br /&gt;&lt;br /&gt;ICMP Net Unreachable - ICMP Type 3 Code 0&lt;br /&gt;ICMP Host Unreachable - ICMP Type 3 Code 1&lt;br /&gt;ICMP Port Unreachable - ICMP Type 3 Code 3&lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://tools.ietf.org/html/rfc792"&gt;http://tools.ietf.org/html/rfc792&lt;/a&gt;&lt;br /&gt;for reference on the ICMP protocol.&lt;br /&gt;&lt;br /&gt;You usually see Net Unreachable when a router in the given path for a destination IP has no route to that network. Likewise, you see Host Unreachable by the router for a given network when the destination IP is not in that routers ARP cache and the IP address isn't responding to an ARP request. You see a port unreachable via a destination host that does not have a listener of the port you're trying to communicate with.&lt;br /&gt;&lt;br /&gt;These elements are a FUNDAMENTAL part of how IP works as a protocol. It is just a matter of using the information intelligently to tell you when your network breaks.&lt;br /&gt;&lt;br /&gt;Consider this - If you monitored the ingress to your Enterprise passively using Snort on ICMP, you could potentially monitor all of the flow control occurring into and out of your enterprise. And by definition, the first 64 bytes of the native protocol are included in the payload of the ICMP message!&lt;br /&gt;&lt;br /&gt;In Summary&lt;br /&gt;&lt;br /&gt;I like the Service Lineage approach. It get folks aware of services and it keeps the service and the customer in the forefront. Even across service degradations and security impairments. How useful would this "view" be in mitigating a bot net that had infiltrated your enterprise? Or the recognition of the "Low and Slow" penetration probing that gets overlooked? And to be able to visualize cause and effect!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-1625709640015173958?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/1625709640015173958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/topology-based-correlation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/1625709640015173958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/1625709640015173958'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/topology-based-correlation.html' title='Topology Based Correlation'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-4551442584139893560</id><published>2010-03-13T10:58:00.000-06:00</published><updated>2010-03-13T12:05:03.244-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agents'/><category scheme='http://www.blogger.com/atom/ns#' term='sub-agents'/><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><title type='text'>SNMP Agents...</title><content type='html'>In the past couple of weeks, I have been doing a bit of research concerning the Agent and sub-Agent capabilities around the &lt;a href="http://net-snmp.sourceforge.net/"&gt;Net-SNMP&lt;/a&gt; agent distribution. As part of my research, I came to the startling conclusion that most of the applications commonly found in Enterprises, have available sub-agents that are readily available either from the vendors or in Open source.&lt;br /&gt;&lt;br /&gt;My first site I went to provided a series of Net-SNMP specific sub-agents and linkages to those. This list can be reviewed at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.net-snmp.org/wiki/index.php/Net-snmp_extensions"&gt;http://www.net-snmp.org/wiki/index.php/Net-snmp_extensions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the list I noticed sub-agents for elements listed in the requirements in the agent specific section. For example, Jasmin implements the IETF Script MIB using Java as the script language. Jasmin is available through :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibr.cs.tu-bs.de/projects/jasmin/README.html"&gt;http://www.ibr.cs.tu-bs.de/projects/jasmin/README.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I find Jasmin intruiging in that Java programmers are prolific bunch! You can find them everywhere! It would be interesting to see what a good Java purist could come up with on an agent extension given that SNMP is supposed to be lightweight - very tightly done code. And Java, because of the JVM up front, tends to not be so "lightweight".&lt;br /&gt;&lt;br /&gt;What if you could use Jasmin to leverage Java Web Start to dynamically add and update sub-agents?&lt;br /&gt;&lt;br /&gt;Interestingly enough, I also ran across Ramon, an open source implementation of &lt;a href="http://tools.ietf.org/html/draft-ietf-rmonmib-rmon2-v2-05"&gt;RMON2&lt;/a&gt;! Ramon data can be found here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://savannah.nongnu.org/projects/ramon/"&gt;http://savannah.nongnu.org/projects/ramon/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I wonder what overhead it introduces on a hosts IP stack. Could this be used in conjuction with old hardware to provide some very interesting data sets for a given enterprise on a nice, operational price point?&lt;br /&gt;&lt;br /&gt;And another, very pertinent sub-agent I found is this one for VMWare at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vmware.com/support/esx21/doc/esx21admin_snmpagents.html"&gt;http://www.vmware.com/support/esx21/doc/esx21admin_snmpagents.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you're working with &lt;a href="http://www.vmware.com/"&gt;VMWare&lt;/a&gt; and &lt;a href="http://www.vmware.com/products/vsphere/"&gt;vSphere&lt;/a&gt; in Cloud environmentsa, this presents some very interesting possibilities. While I doubt the sub-agent is up to speed on the latest ESX version, more adoption would drive that priority.&lt;br /&gt;&lt;br /&gt;In the following table, I list the applications verbatim from the requirements. I’ve also plugged in direct or indirect references to sub-agent capabilities.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#000066;"&gt;&lt;span style="font-size:130%;"&gt;Applications                                                     Sub-Agent Source&lt;/span&gt; &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Web Servers&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Apache                                        &lt;a href="http://mod-apache-snmp.sourceforge.net/english/docs.htm"&gt;http://mod-apache-snmp.sourceforge.net/english/docs.htm&lt;/a&gt;&lt;br /&gt;      WebLogic                                   &lt;a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs81/snmpman/index.html"&gt;http://download.oracle.com/docs/cd/E13222_01/wls/docs81/snmpman/index.html&lt;/a&gt;&lt;br /&gt;WebSphere                               &lt;a href="http://www.webnms.com/snmpadaptor/datasheet.html"&gt;http://www.webnms.com/snmpadaptor/datasheet.html&lt;/a&gt;&lt;br /&gt;                                                   &lt;a href="http://www.pcuniverse.com/IBM-WebSphere-Transformation-Extender-SNMP-Collection-v.-8.2-media-CD/BA0NSEN/pd/p4740071"&gt;http://www.pcuniverse.com/IBM-WebSphere-Transformation-Extender-SNMP-Collection-v.-8.2-media-CD/BA0NSEN/pd/p4740071&lt;/a&gt;&lt;br /&gt;                                                  &lt;a href="http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.itcamwas.doc/cynmst464.htm"&gt;http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=/com.ibm.itcamwas.doc/cynmst464.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IIS                                           &lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/4a168955-4982-44d5-8a18-e252d37a3557.mspx?mfr=true"&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/4a168955-4982-44d5-8a18-e252d37a3557.mspx?mfr=true&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Web Application Servers &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;J2EE                                      &lt;a href="http://blogs.sun.com/orivat/entry/glassfish_snmp_j2ee_mib_presentation"&gt;http://blogs.sun.com/orivat/entry/glassfish_snmp_j2ee_mib_presentation&lt;/a&gt;&lt;br /&gt;Jboss                                     &lt;a href="http://community.jboss.org/wiki/JBossSNMPAdapter"&gt;http://community.jboss.org/wiki/JBossSNMPAdapter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.NET                                     &lt;a href="http://www.webnms.com/net-snmp/index.html"&gt;http://www.webnms.com/net-snmp/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tomcat                                 &lt;a href="http://www.opennms.org/index.php/Tomcat_5.5_JMX_How-To"&gt;http://www.opennms.org/index.php/Tomcat_5.5_JMX_How-To&lt;/a&gt;&lt;br /&gt;                                              &lt;a href="http://forums.adventnet.com/viewtopic.php?t=959&amp;amp;start=0"&gt;http://forums.adventnet.com/viewtopic.php?t=959&amp;amp;start=0&lt;/a&gt;&lt;br /&gt;                                              &lt;a href="http://jakarta.apache.org/jmeter/usermanual/build-monitor-test-plan.html"&gt;http://jakarta.apache.org/jmeter/usermanual/build-monitor-test-plan.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;LDAP&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;MS Active Directory        &lt;a href="http://technet.microsoft.com/en-us/library/cc783142(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc783142(WS.10).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OpenLDAP                        &lt;a href="http://ostatic.com/netsitter"&gt;http://ostatic.com/netsitter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sun LDAP                         &lt;a href="http://docs.sun.com/source/816-6698-10/snmp.html"&gt;http://docs.sun.com/source/816-6698-10/snmp.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Relational Database Servers&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Oracle                               &lt;a href="http://download.oracle.com/docs/cd/B10501_01/em.920/a96672/toc.htm"&gt;http://download.oracle.com/docs/cd/B10501_01/em.920/a96672/toc.htm&lt;/a&gt;&lt;br /&gt;Sybase                              &lt;a href="http://download.oracle.com/docs/cd/B10501_01/em.920/a96672/toc.htm"&gt;http://download.oracle.com/docs/cd/B10501_01/em.920/a96672/toc.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DB2                                   &lt;a href="http://bytes.com/topic/db2/answers/181104-db2-snmp-support-v8"&gt;http://bytes.com/topic/db2/answers/181104-db2-snmp-support-v8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQL Server                      &lt;a href="http://technet.microsoft.com/en-us/library/dd316347.aspx"&gt;http://technet.microsoft.com/en-us/library/dd316347.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQL Server Cluster        &lt;a href="http://technet.microsoft.com/en-us/library/dd316347.aspx"&gt;http://technet.microsoft.com/en-us/library/dd316347.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Informix                          &lt;a href="http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.snmp.doc/snmp35.htm"&gt;http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.snmp.doc/snmp35.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MySQL                           &lt;a href="http://mysqldump.azundris.com/archives/63-Sysadmins-Nightly-Mental-Pain-SNMP.html"&gt;http://mysqldump.azundris.com/archives/63-Sysadmins-Nightly-Mental-Pain-SNMP.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PostgresQL                   &lt;a href="http://pgfoundry.org/projects/pgsnmpd"&gt;http://pgfoundry.org/projects/pgsnmpd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Email&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Exchange                      &lt;a href="http://www.oidview.com/mibs/311/WINDOWS-NT-PERFORMANCE-EXCHANGE.html"&gt;http://www.oidview.com/mibs/311/WINDOWS-NT-PERFORMANCE-EXCHANGE.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;POP/IMAP                  &lt;a href="http://netilium.org/~mad/technotes/postfixstat/"&gt;http://netilium.org/~mad/technotes/postfixstat/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SMTP                           &lt;a href="http://netilium.org/~mad/technotes/postfixstat/"&gt;http://netilium.org/~mad/technotes/postfixstat/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;DNS Servers&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Bind                             &lt;a href="http://www.packetmischief.ca/network/monitoring/bind9/"&gt;http://www.packetmischief.ca/network/monitoring/bind9/&lt;/a&gt;&lt;br /&gt;                                     &lt;a href="http://www.l3jane.net/wiki/factory:projects:b9agent_en"&gt;http://www.l3jane.net/wiki/factory:projects:b9agent_en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Active Directory        &lt;a href="http://technet.microsoft.com/en-us/library/cc783142(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc783142(WS.10).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MS DHCP Server      &lt;a href="http://www.oidview.com/mibs/311/DHCP-MIB.html"&gt;http://www.oidview.com/mibs/311/DHCP-MIB.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MS SCOM                        ht&lt;a href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx"&gt;tp://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx&lt;/a&gt;&lt;br /&gt;MS SMS                    &lt;a href="http://microsoft-sms-network-monitor.software.informer.com/"&gt;http://microsoft-sms-network-monitor.software.informer.com/&lt;/a&gt;&lt;br /&gt;                                   &lt;a href="http://www.dlldll.com/snmpelea.dll_download.html"&gt;http://www.dlldll.com/snmpelea.dll_download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MS Radius                &lt;a href="http://support.microsoft.com/kb/237295"&gt;http://support.microsoft.com/kb/237295&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;MS RAS                    &lt;a href="http://software.informer.com/getfree-snmp-mibs-microsoft-ras-vpn/"&gt;http://software.informer.com/getfree-snmp-mibs-microsoft-ras-vpn/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My take:&lt;br /&gt;&lt;br /&gt;Let's face it.  Everyone is watching every penny in the IT budget. Why not leverage this technology?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-4551442584139893560?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/4551442584139893560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/snmp-agents.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4551442584139893560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/4551442584139893560'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/snmp-agents.html' title='SNMP Agents...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5590049888603730046.post-6459548274849198260</id><published>2010-03-13T09:52:00.000-06:00</published><updated>2010-03-13T10:40:10.832-06:00</updated><title type='text'>In the Beginning...</title><content type='html'>This is my start of a personal project where I get to share my thoughts, ideas, philosophy, and experiences related to Enterprise Management with all of you.  Well, those willing to read my ramblings.&lt;br /&gt;&lt;br /&gt;About me a bit...&lt;br /&gt;&lt;br /&gt;I have a bit over 30 years experience in the IT/Networks/Telecommunications world.  I started off in the Air Force as a Cryptographic Equipment / Systems technician working my way up from Ground zero level training through many years of projects and different exposures to technology.  The Air Force taught me a few things up front:&lt;br /&gt;&lt;br /&gt;The ability to survive and operate.&lt;br /&gt;The ability to think and reason on my feet, under stress.&lt;br /&gt;A willingness to accept seemingly impossible tasks and show some level of success.&lt;br /&gt;An understanding of mission and Urgency of Need.&lt;br /&gt;Responsibility.&lt;br /&gt;A realization that life is not about what you get, its about what you give!&lt;br /&gt;&lt;br /&gt;I spent my entire Air Force duty beyond Tech School in Combat Communications.  I was prepared to go antwhere in the world on a moments notice, do what I needed to do, and protect and defend the Constitution of the United States of America.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5590049888603730046-6459548274849198260?l=douglasstvnsn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://douglasstvnsn.blogspot.com/feeds/6459548274849198260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/in-beginning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6459548274849198260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5590049888603730046/posts/default/6459548274849198260'/><link rel='alternate' type='text/html' href='http://douglasstvnsn.blogspot.com/2010/03/in-beginning.html' title='In the Beginning...'/><author><name>Dougie!!!</name><uri>http://www.blogger.com/profile/07830195240787895276</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/-MFriem61sa0/TfVWxboKduI/AAAAAAAAACc/pKMAfc--9ps/s220/Dougie6.jpg'/></author><thr:total>0</thr:total></entry></feed>
