Storage Settings

While creating the partitions we must specify either of the below storage settings.
a) ROLAP (Related OLAP): In this case data and aggregations store under relational sources.
b) MOLAP (Multidimensional OLAP): Here data and aggregations store under multidimensional sources.
c) HOLAP (Hybrid OLAP): Here the data stores under relational sources and aggregations store under multidimensional sources.

Standard Partition Storage Settings:

Proactive Caching

The feature helps the cube in a sink with the relational data sources.
–> It takes the latency time, schedule time and event table to capture the changes from relational data sources cube databases.
As noted, with MOLAP and HOLAP storage modes, SSAS caches data (MOLAP storage mode only) and aggregations (both MOLAP and HOLAP) on the server.
When you take a data “snapshot” by processing a cube, the data becomes outdated until you process the cube again. The amount of OLAP data latency that is acceptable will depend on your business requirements.
In some cases, your end users might require up-to-date or even real-time Information.
will depend on your business requirements.
In some cases, your end users might require up-to-date or even real-time Information.
A New feature of SSAS 2005, PROACTIVE CACHING, can help you solve data Latency Problems


Proactive caching is especially useful when the relational database is transaction oriented and data changes at random
when data changes are predictable
Step 1:

  • Such as when you use an extract, transform, and load (etl) proces to load data
  • Consider processing the cube explicitly. When the data source is transaction oriented and you want minimum latency, consider conficuring the cube to process automatically by using proactive caching


When you enable PROACTIVE CACHING, the server can listen for data change notifications and can update dimensions and measures dynamically in an “AUTOPILOT” mode.

STEADY STATE: In steady mode, no changes are happening to the relational data.

Step 1: Client applications submit multi-dimension expressions(MDX) queries to the cube, pls check in diagram before page.
Step 2: The cube satisfies the Queries from a MOLAP cache. The server listens for a data change notification event, which could be one of the following three types
SQL SERVER: This option uses the Microsoft server trace events that the relational engine raises when data is changed (SQL Server 2000 and later)
CLIENT INITIATED: In this case, a client application notifies SSAS when it changes data by sending a Notify table change XML
For Analysis (XMLA) command
SCHEDULED POLLING: Ninth this option, the server periodically polls the required tables for changes.
STEP 4: At some point, a data change occurs in the data source as shown in figure
STEP 5: This change triggers a notification event to SSAS server.
STEP 6: The server starts two stopwatches. The silence Interval stopwatch measures the time elapsed between two consecutive data change events. This will reduce the number of false starts for building the new cache until the database is quiet again.


If data changes are occurring in batches, you do not want to start rebuilding the cache with each data change event.
Instead, you can optimize proactive caching by defining a silence interval that allows a predefined amount of time for the batch changes to complete.
After data in the relational database is changed, the server knows that the MOLAP  cache is out of date and starts building a new version of the cache
STEP 6: The latency stopwatch specifies the maximum latency period of the MOLAP cache,  the administrator can also predefine the maximum latency period. During the latency period, queries are still answered by the old MOLAP cache.
When the latency period is exceeded, the server discards the old cache. While the new version of the MOLAP cache is being built, the server satisfies client queries from the ROLAP database
Step7: When the new MOLAP cache is ready, the server activates it and redirects client queries to it.
PROACTIVE CACHING enters a steady state again until the next data change event takes place.

The eagle-eyed among us may have noticed that the “What We’re Working On” post for Network Performance Monitor (NPM) included this little nugget:

  • ARM Linux® Agent - Linux Agent for ARM-based devices such as Raspberry Pi®


Well, we’re delighted to announce that with the release of NPM 12.2, you can now monitor ARM-based devices with NPM.


Orion Agent on a Raspberry Pi


What exactly are ARM-based devices?


ARM (Advanced RISC Machine) processors are a family of RISC-based processors, which are designed and licensed for manufacturing by ARM Holdings.


I won’t get too bogged down in the differences between RISC (Reduced Instruction Set Computer) vs. CISC (Complex Instruction Set Computer) processors. At a very basic level, one processor type has a smaller and simpler set of instructions than the other. (This becomes quite a philosophical debate, which is why I won’t get into it, but a lot of RISC implementations are now more complex than a lot of CISC processors!)


While both types of computer architectures are common (RISC ISAs include MIPS, PowerPC®, and SPARC®, while CISC can cover the x-86 and 8080 implementations, as well as Motorola® 6800 & 68000), what I really want to focus in on is practical implementations of ARM devices.


The Internet of Things and Raspberry Pi


ARM processors are now almost ubiquitous in not only consumer electronics (vendors ranging from Apple®, Google®, Samsung®, and Sony® have all utilized ARM processors in their various smartphones, tablets, and gaming consoles), but can also be deployed in anything from sensors and cash machines, to coffee pots and children’s toys.


But from an IT professional’s perspective (or someone whose background includes computer engineering and cloud computing, as well as working with various industrial technologies in manufacturing), the main implementation of interest to me is Raspberry Pi.


If you have made it this far, I’ll assume you at least know of the single-chip computer that is available for only a few euros/dollars/your currency of choice. You may also know that it was originally (and still is excellent for) teaching kids about computers, as well as various hobbyist-type uses (such as converting an old radio into a Spotify®-playing boom box, remote-controlling the office coffee pot, or even just a Tweeting implementation for Pi Day )


However, I see many other different use cases for a Raspberry Pi, which I like to categorize into three areas:


Network Services

  • Something like a lightweight Postfix mail server
  • Apache®®web servers
  • DNS/DHCP servers
  • Or even a Docker®
  • Some customers use Raspberry Pi as a cheap way to have an always-on NOC display of your SolarWinds® Orion® dashboard
  • Next on my personal list is an “On Air” sign
  • By combining with a device like an Arduino, you can easily control various servos, allowing not only displays, but for physical actions to be taken



However, since I’ve worked in manufacturing, I see some of the largest gains in retrofitting a Raspberry Pi to industrial equipment, to cheaply and easily create an Internet of Things (IoT) deployment of various sensors. Again, by combining with Arduinos, your networked Raspberry Pi can connect to various sensors, including:

  • Temperature
  • Humidity
  • PIR Motion
  • And motion detectors and accelerometers


(Just to name a few.)


Of course, if you do have Raspberry Pi devices dotted around you network, you will of course want to monitor them, which is where the new ARM agent comes in.


How do I deploy the ARM agent?


The good news is that the same approaches for deploying the standard Linux agent will also work for the ARM agent. 

We have a number of videos that cover different ways to deploy the agent, but personally, I like to just “Download Agent Software.” Then, for the “Linux Agent,” “Manually Install by Downloading Files.”


Manage Agents option in Orion


Download Agent Software

You can select the “Raspbian Jessie 8.x” distro (in my lab I’m running Raspbian 9 (stretch), and it works fine), and generate and copy the script, before simply pasting into your SSH® session.


Download Agent Software

And that’s it! Within a few minutes, your Raspberry Pi should be registered as an Orion node.


What if I have the Server & Application Monitor (SAM) deployed, can I monitor applications on my Raspberry Pi?


The short answer is that the SAM team is working hard on the next release, and that will include the ARM agent. However, there’s good news for customers who own SAM, along with other products running the latest version of the SolarWinds Orion Core (2017.3): you can actually utilize the new ARM agent.


So, for example, if you have SAM 6.4 running on a server that also includes the latest version of NPM (12.2), then the underlying core version will also have been updated. This means that you can now assign SAM templates to the ARM agents, as opposed to monitoring those devices with just SNMP. (You could also substitute out NPM 12.2 for other products that include agents running on the 2017.3 core version, such as Virtualization Manager (VMAN) 8.0 or the VOIP & Network Quality Manager (VNQM) 4.4.1).


What can I monitor from SAM?


The same component monitor types that run on the standard Linux agent will also run on the ARM agent:

  • Process Monitor
  • Linux/UNIX® Script Monitor
  • Nagios® Script Monitor
  • JMX Monitor
  • SNMP Monitor
  • ODBC User Experience Monitor
  • Oracle User Experience Monitor
  • TCP Port Monitor
  • Tomcat Server Monitor


So, templates like the Linux Memory, CPU, and disk templates that ship with SAM will work out of the box. You can even deploy Docker on your Raspberry Pi, spin up a Dockerized verion of Netflix Chaos Monkey and monitor the whole lot from SAM!


And that’s it. With a few simple steps, you can be up and running with the new ARM agent, bringing the same monitoring power to your ARM devices as your other enterprise platforms.


We would love to hear about your Raspberry Pi use cases for the Orion agent. Please share in the comments below!

Hallo zusammen,


Ich bin im Stress. Dieser Herbst hat es in sich. Aber mal langsam und von vorne.


Anfang September war ich im Frankfurter Stadion auf der Hausmesse eines unserer Distributoren.

Ich glaube ich hatte schon einmal erwähnt, dass ich aus dem Ruhrgebiet komme. Da ist die Chance sehr hoch Fan von einem von zwei bekannten Fußball Teams zu sein. Spielt keine Rolle von welchem, Frankfurt ist definitiv... naja schwarz-rot ist nicht mein Ding

Es war ganz nett sich einmal mit ein paar Unternehmen zu unterhalten die ich sonst nur in der "all nodes" Liste von Kunden in Deutschland sehe. Lancom hat mir eine virtuelle Version deren Routers versprochen, mein Plan ist, das Ding einmal in Betrieb zu nehmen und ein paar Poller in thwack zu setzen. Ebenso Datacore.


Auf dem Rückweg hatte mein Flieger nach Amsterdam zwei Stunden Verspätung und ich habe den Anschluss nach Cork verpasst. Ein Hoch auf KLM die mich auf deren Kosten in einem 5 Sterne Hotel untergebracht haben. Ich bin am Samstagmorgen zu Hause angekommen, Sonntagmorgen ging es dann nach Barcelona auf die VMworld!

Hier ein Bild vom Stand am Tag bevor es los ging. Links, noch verpackt, sind 1000 T-Shirts:


vmworld booth


Ich war dort zum ersten Mal und bin quasi von Restaurant zu Restaurant gestolpert. Das gibt schon tolle Sachen dort:




Am letzten Tag der Messe, mit zwei Tagen Verspätung, haben wir endlich die neuen Versionen von NPM, VMan (lustig: meine Autokorrektur macht daraus Vanessa), NTA und NCM released aber wir konnten sie trotzdem nicht zeigen weil unsere Onlinedemo ein Problem hatte. So ein Pech!


Kurz zusammen gefasst ist jetzt neu:

Voller ASA Support in NPM NTA NCM, es werden automatisch Tunnel überwacht, wir verstehen Multicontexts und können Regeln einlesen sowie die Firmware flashen.

Ebenso hat die Orion Plattform neue Spielzeuge bekommen und unterstützt jetzt HA in getrennten Standorten, sowie eine neue EOC Version. Diese beiden Themen werde ich bei Gelegenheit mal genauer beschreiben.


Hier Links zu den einzelnen Posts mit weiteren Information:


OK, dann komme ich also zurück nach Cork und was passiert - ich werde krank.

Es zwickt in der Nase und ich befürchte das schlimmste: die Männergrippe!

Die Überlebenschancen sind gegen Null.

Der Doktor sagt "it is just a chest infection" aber ich glaube ihm kein Wort. Und überhaupt, übersetzt das mal "Brustinfektion"? Alter Falter, da liege ich also im Sterben und mir fällt ein, dass in der Folgewoche Urlaub ansteht.

Also unternehme ich die größten Anstrengungen wieder gesund zu werden und bewege mich vom Bett maximal zur Couch. Hat auch halbwegs geklappt!


Dann Urlaub.

Zuerst nach Parma.

Richtig, da kommt Parmesan her, und Prosciutto di Parma, und angeblich wurden auch Tortellini hier erfunden.

Ich kann definitiv bestätigen, dass Parmesan hier ein großes Ding ist:




Der Kaffee ist allerdings eher eine kleine Angelegenheit:


Dann ging es nach Milan. Die Stadt macht depressiv.

Du läufst an Schaufenstern vorbei und weißt, dass die Kleidung darin etwa ein Monatsgehalt kostet.

Am Abend sitzen wir mit Freunden meiner Partnerin zusammen und ich verstehe kein Wort. Nein das ist nicht richtig, wenn die über Essen reden verstehe ich zumindest den Inhalt des Gesprächs!

Also nutze ich die Zeit und fange an diesen Post zu schreiben.

Morgen geht es nach Sizilien. Sonne. Sonne. Sonne.

Weniger als 24 Stunden nach meiner Rückkehr werde ich wieder im Flieger sitzen um mit Solarwinds an einem Nato Event teilzunehmen. In Belgien!

Das Event heisst NIAS, aber mein interner Spitzname dafür lautet Waffen und Waffeln.

Irgendwelche Tipps für Brüssel?


Die Woche danach, Ende Oktober, bin ich in London.

Fish'n'chips incoming!


Und dann? Dann bin ich tatsächlich ein paar Tage zu Hause.


Aber nicht lang. 10. November steht Berlin an. Details hier.


Was machen wir da? Solarwinds kommt mit einigen Produktmanagern, u.A. vom Server and Application Monitor, und einem unserer Headgeeks, Patrick Hubbard. Wir stellen die Neuigkeiten vor, erklären Situationen wo und wie unsere Software sinnvoll eingesetzt werden kann und stehen für sämtliche Fragen zur Verfügung.

Das Ganze ist vollkommen kostenlos! Oh und es gibt Essen

Wenn ihr in der Gegend seid kommt einfach mal vorbei. Das ist wirklich eine gute Gelegenheit.


Und dann, wenn das alles vorüber ist, setze ich mich mit einem netten Glas Rotwein auf meinen Balkon.

Ach Moment dann ist es schon kalt draussen. Wird also vermutlich eher ein Glas Jameson!


Gute Nacht!


Were going to VMworld Barcelona from September 11th - 14th. Come visit us at booth number B524 and learn how SolarWinds® is making it easier to manage your systems and applications.

See how SolarWinds continues to improve our best-in-class hybrid IT management solutions built on the Orion® Platform. From managing and optimizing your VMware® environment to application and storage monitoring, SolarWinds has you covered.



Performance Tuning and Monitoring for Virtualized Database Servers - Thomas LaRock & David Klee

Date: Wednesday September 13


Time: 12.30pm - 1.30pm


Where: VMworld Fira Barcelona Gran Via

Description: Come see Thomas LaRock share his experience in virtualizing data Platforms. You will learn how to validate your VMware environment and manage the performance properly. Scalability concerns will be addressed through discussions on scaling database VMs upwards and outwards as you work with the DBAs to manage the data lifecycle. Key talking points will help you learn how to perfect database virtualization from a technical, an organizational, and people level.



Join SolarWinds Head Geek Kong Yang for his VMworld Wrap-up Webinar



Kong Yang


SolarWinds Head Geek™


Date: Thursday September 14


Time: GMT (UTC+1): 2:00pm to 2:45pm
          CET (UTC+2): 3:00pm to 3:45pm


Where: WebEx - Register Here


Description: Join SolarWinds Head Geeks, Kong Yang and Thomas LaRock, and VMAN Product Manager Chris Paap, as they discuss hot topics from VMworld 2017 in Barcelona - premier thought leadership and education event for cloud infrastructure and digital workspace technology professionals. They will cover:


    • Hot topics and trends
    • Report from the show
    • Feedback from the event
    • Top questions
    • How could SolarWinds help



Customers don't forget to bring your e-mail invite to pick up your backpack from our stand, we can’t wait to see you!

One of the many reasons that modules based on the  SolarWinds® Orion® Platform like Server & Application Monitor (SAM), Network Performance Monitor (NPM), and Network Configuration Manager (NCM) are so popular is because customers are able to see value straight out of the box. However, the power of the Orion Platform can easily be taken to the next level by customizing aspects such as reports, alerts, and views. And the cherry on top is that you can also create custom templates for what you manage and monitor! In these posts, we will look at how by not re-inventing the wheel and importing customizations created by other THWACK® members, you can quickly and easily expand your SolarWinds deployment with these best practices.




Overall, the approach is fairly straightforward: on THWACK, our customers (and SolarWinds staff) can share content they have created so that others can re-use it. If you need to poll custom metrics or use existing polled data, it's always worth checking THWACK to see if there is a pre-existing poller that meets your needs rather than building one from scratch.


Later, we will look at how this content can be created, but once it's in THWACK, it's generally straightforward to either load the customizations either directly in Orion itself, or indirectly by downloading from THWACK and then importing them into Orion. This approach can be very useful if your Orion server is not connected to the internet.



Pollers within NPM



First, we will look at how to use pollers for NPM. Essentially, they are two types: you have pollers created via the Device Studio and Universal Device Pollers (UnDPs). Device studio pollers cover technologies such vendor name, CPU, and memory, should devices not support standard polling OIDs, whereas UnDPs tend to be used for more "metric" types.


With Device Studio pollers, you can:

  • Poll devices that do not support any of the OIDs polled for by SolarWinds pollers
  • Poll devices that return incorrect data when polled by SolarWinds pollers
  • Override polled values to display custom static values


Device studio pollers can be both created and imported in the Orion console itself, and we'll see that these are fairly typical use cases. (More information on the use case is covered over in the online documentation).

The easiest way to find what's already built is to open the device studio ("Settings->"Manage Pollers") in Orion, and then select "Thwack Community Pollers".

From here you can simply select the Poller you wish to use, and then "Assign" to node. On the next screen, you can then scan the nodes for matching OIDs, and you can then enable as needed.


Import from Thwack Directly into Orion



The indirect approach has a few more steps. You would navigate to THWACK from an internet-connected machine, download the template you need, and then re-import to the Orion Platform.


Firstly, navigate to THWACK (if you are reading this, you are already there!) and browse to "Product Forums --> Network Performance Monitor." Then select "Content Exchange.”


Thwack Forum


From here, you can then navigate to the "Device Pollers" category and ensure the "Documents" filter is applied. From here, it's just a matter of selecting the poller you require and then clicking on "Download."


Download Content from Thwack


Once you download the file, you can then import it to the Orion Platform in the Device Studio, except instead of selecting the "THWACK Community Pollers," use the Local Poller Library.


UnDPs work slightly differently, in that they are still managed via a Win32 application on the Orion server itself, but you can still utilize the import function to benefit from UnDP templates on THWACK. The approach is virtually the same as for the device studio pollers, except instead of selecting the "device pollers" category, you select the "Universal Device Pollers" category. As before, just download the template, copy to the Orion server, and then import.

Universal Device Poller (UnDP)

<insert UnDP screenshot>


Stay Tuned


In the next posts, we will look at application templates within SAM and device templates within NCM.

Hello Folks,


Got a Requirement today to generate a report on CPU, Disk and Memory Usage, Usually this report is used by the Infrastructure teams to access current usage and forecast capacity


Hence I spend some time on Research,


Found a Helpful Article, Custom Report: Hourly average CPU and memory usage - SolarWinds Worldwide, LLC. Help and Support


  1. Click Settings > Manage reports.
  2. Click Create new Report:
    • Select Custom Table and click Select and Continue.
    • Set the Data Selection as follows, and click Add to layout:
      • For Selection method use - Specific Objects
      • Select the nodes for the report.
  3. To setup the Custom table, click Add Column. Add the following:
    • Node Name
    • Average CPU Load
    • Average Memory Used
  4. Set Timestamp to hourly.
  5. Set Sort and Group Results By to - Node.
  6. Set From option to Last 24 hours.
  7. Finish the report wizard.


The Steps mentioned above give you a perfect report on CPU and Memory Usage, I choose to aggregate it for last 24 hours and the sample is shown  below:


This was good now, i wanted to get the Disk report,


Hence found a helpful thread, which lists down the SQL query to get the disk report ( Logical Disk)



   N.NodeID AS 'Node ID'

  ,N.Caption AS 'Server Name'

  ,I.IPAddress as 'IP Addresses'

  ,V.Caption AS 'Volume Name'

  ,V.VolumeDescription AS 'Volume Description'

  ,V.VolumeType AS 'Volume Type'

  ,V.VolumeTypeID AS 'Volume Type ID'

  ,ROUND(V.VolumeSize/1073741824,0) AS 'SIZE /GB'

  ,ROUND(V.VolumePercentUsed,0) AS 'Percent Used'

  ,ROUND(V.VolumeSpaceUsed/1073741824,0) AS 'USED /GB' --VolumeSpaceUsed is calculated in Bytes (/ by 1073741824 to get GB)

  ,ROUND(V.VolumeSpaceAvailable/1073741824,0) AS 'FREE /GB' --VolumeSpaceAvailable is calculated in Bytes (/ by 1073741824 to get GB)


  WHEN V.VolumePercentUsed >= 95 THEN 'WARNING Less than 5% Free'

  ELSE ' '

  END AS 'Warning'


FROM dbo.Nodes AS N

  INNER JOIN dbo.NodeIPAddresses AS I

  ON N.NodeID = I.NodeID

  INNER JOIN dbo.Volumes AS V

  ON N.NodeID = V.NodeID




  V.VolumeTypeID = (4)



Order BY

  N.Caption ASC


Output Sample :

This two reports were really helpful, but then the requirement was to show the data in one single report, i tried hands on another Advanced Reporting option


So using the Advance Report Editor,

Selection Method was Specific Object (Static Selection ) Choose Windows as a group

Now while Specifying columns, Average CPU Load, Disk Usage, Memory Usage got the error below



I believe, this may be achievable using the Advanced SQL Query Editor, however not sure of the Implications this may cause and the data might be fetched from different buckets and might cause performance issues.

Hallo Zusammen!


Immer wieder höre ich “Echtzeit-Monitoring. Ich will Echtzeit!“ und in Gedanken sage ich „Das willst du nicht wirklich.“ oder aber „Und ich will einen Lottogewinn.“

Nehmen wir das einmal auseinander.


Der Grund aus dem nach Echtzeit gefragt wird ist verständlich: Man möchte so früh wie möglich über ein Problem informiert werden, um reagieren zu können.
Im Idealfalle sogar vorab nach dem Motto „das sieht nicht gut aus…gleich passiert was“ – normalerweise sagt man das wenn der gegnerische Stürmer vor dem eigenen Strafraum auftaucht, hier ist das ziemlich ähnlich (Strafraum: dein Office; Stürmer: dein Boss)!

Interessanterweise sind das zwei vollkommen verschiedene Ansätze und ich werfe einmal die Stichworte Synchron und Asynchron hinein.

Synchron bedeutet, dass in bestimmten Abständen abgefragt wird.
In Orion wird in der Grundeinstellung alle 120 Sekunden per ICMP nach Verfügbarkeit sowie Antwortzeit gefragt und etwa alle 10 Minuten nach Statistiken, die natürlich je nach System unterschiedlich sind. Richtig geraten – das sind die SNMP und WMI Geschichten.
Tatsächlich gibt es noch ein paar weitere Frequenzen aber der Einfachheit halber lassen wir es einmal dabei.


Polling verursacht „Stress“ auf drei verschiedenen Ebenen:
a) der Polling Engine (Orion)
b) dem Zielgerät
c) dem Netzwerk dazwischen


Ein NPM Poller kommt mit etwa 10000 Elementen klar solange die Pollingfrequenzen nicht geändert werden.


Einem vernünftigen Netzwerkgerät macht das Polling nichts aus. Irgendwo hier in thwack finden wir Beobachtungen von bis zu 6% CPU beim Polling, aber nur für eine Sekunde - also vernachlässigbar.



Heartbeat via ICMP benutzt etwa 1 KB per Poll, SNMP Stats 1.5 KB und Rediscovery (hier wird nach Änderungen gesucht) 2.7 KB.
Übrigens das ist SNMP v2 – v3 mit Verschlüsslung setzt natürlich noch etwas Overhead darauf, aber v3 wird eher selten genutzt. Bei WMI auf einer Windowsbox kann man dies etwa mit 5 multiplizieren.


Das klingt erst einmal nach nicht viel, oder?


Beide Werte können je nach Bedarf global oder individual (per Node) verändert werden, das Minimum ist 10 Sekunden für den Heartbeat und 60 Sekunden für Stats.
Und natürlich hat man nicht nur eine Node/Interface.


Also fangen wir mal mit dem Rechnen an. Wie gut, dass ich zumindest die Baumschule besucht habe!

Nehmen wir 1000 Elemente, setzen Heartbeat auf 30 Sekunden und Statistiken auf 5 Minuten.
Also pro Stunde:
ICMP 120 Polls a 1KB x 1000 = 120 MB
SNMP 12 Polls a 1.5 KB x 1000 = 18 MB


Dem Netzwerk macht das immer noch nichts, oder? WAN Verbindungen ins Remote Office in Niederbayern?


Aber auf der Polling Engine haben wir jetzt gerade die Last verdoppelt, also können wir statt 10k nur noch 5k Elemente überwachen. Auch kein Thema, jedoch wir werden in dem Falle eher skalieren müssen und zusätzliche Poller danebenlegen was mit Kosten verbunden ist.


Und auf dem Zielgerät? Die Anzahl an CPU Spikes erhöht sich auf mehr als zwei pro Minute.
Das kann in manchen Situationen schon eher ein Problem sein.


Wenn wir das jetzt noch einmal verdoppeln, auf 15 Sekunden ICMP und 150 Sekunden SNMP…rechnet es euch selbst aus.
An Echtzeit ist hier also überhaupt nicht zu denken.


Wir sehen Trends. Mit jedem Poll sehen wir Annäherungen an Schwellwerte und ich kann unter Umständen tatsächlich vorab einschätzen, dass der Wert durchaus überschritten werden kann, wenn die Situation so weitergeht. Mein Boss hat also schon sein Office verlassen, ist an der Toilette vorbeigegangen, auch nicht in die Küche die auf dem Weg liegt. Es wird eng für mich!



Jetzt kommt Asynchron dazu.


Was ist das? Syslogs und Traps. Zeugs passiert auf dem Gerät und das Gerät sendet eine Nachricht in so ziemlich dem gleichen Moment. ECHTZEIT!

Orion kann diese Nachrichten empfangen, Auswerten und in einen Alarm packen.

Das hilft uns in vielen Situationen wirklich weiter, z.B. bei einem plötzlichen Anstieg von irgendeinem KPI, vielleicht CPU.

Natürlich gibt es auch hierbei ein paar „aber“, wie z.B. dem Zeitraum den ein Alarm braucht, um die Bedingungen zu überprüfen (standard: 60 Sekunden), ebenso ist das Anlegen eines Alarms auf Syslogs nicht ganz so komfortabel wie bei SNMP Werten.


Trotzdem bedient das mein zweites Scenario.
Ich warte jetzt auf eure Ideen wie ich ein Syslog meines Bosses erhalte!


Jetzt stelle ich aber einmal eine These auf:
Echtzeitpolling mit Solarwinds ist möglich.

Wie jetzt Sascha, hast du nicht gerade erst erzählt Echtzeit ist Mist suboptimal? Ja, aber…


Nehmen wir mal an, wir erhalten von einem Switch ein Syslog über HIGHCPU.
Über SNMP sehen wir das frühestens wenn das Polling das nächste Mal zuschlägt, und dann auch nur als errechnetes Delta. Bei einer kleinen Spitze wird das nicht weiter auffallen – und, ganz ehrlich, spielt dann meist auch keine Rolle. Aber wenn der Zustand länger bleibt wird Handlung erforderlich.
Wie also messen wir jetzt?
Hier kommt das Engineers Toolset wie gerufen.


Das kennen sicherlich einige – falls nicht; es ist eine Sammlung von knapp 60 kleinen Werkzeugen die man normalerweise auf dem Laptop installiert. Das Paket kommt aber auch mit 5 Tools die sich in Orion integrieren und eines davon ist ein CPU Monitor.
Das Ding sammelt dann tatsächlich Daten in Echtzeit, solange es läuft. Sieht so aus:


Na klar verursache ich jetzt gerade Stress auf dem Netz und dem Gerät aber es läuft nicht permanent sondern adhoc; dann, wenn ich es wirklich brauche. Ein Kompromiss!


Und jetzt kommt das Nähkästchen.
Ihr kennt ja den Perfstack.

Wir arbeiten ja gerade an einem grossen Plattform-Update und nahezu alle Produkte bekommen eine neue Version. Teil dessen ist auch Perfstack 2.0 und damit kommt…TROMMELWIRBEL… Echtzeit!



Das „real-time polling“ ist im Prinzip auch nur ein normales Polling jedoch im Abstand von einer Sekunde und wird von einer unabhängigen Pollingengine durchgeführt. Die Daten landen nicht in der DB neben dem Standardpolling – das wäre auch schrecklich unpraktisch bei der Berechnung von Durchschnitts- und Schwellwerten, ebenso müsste viele Alarme angepasst werden.

Die folgenden Datensätze werden sich per SNMP oder WMI abfragen lassen:


Das Beste daran: Im Gegensatz zum Toolset ist hier keine weitere Lizenz erforderlich, das Ding kommt als kostenloses Feature mit dem nächsten Update. PARTY ON!


Also, fassen wir es einmal kurz zusammen.

Permanentes Echtzeitpolling überall ist sinnlos und kontraproduktiv.
Ein kluger Einsatz von asynchronen Benachrichtigungen hilft uns die Pollingfrequenzen in gemäßigten Intervallen zu halten, und sollte temporär Echtzeit erforderlich sein gibt es zwei verschiedene Methoden innerhalb Orion.
Und mein Boss muss outbound UDP 514 freischalten.

Weiter geht’s!


Letzte Woche sah ich mich in einer Krisensituation. Ich wurde von einer Fliege attackiert.

Jetzt sagt ihr natürlich „nimm halt eine Fliegenklatsche“ – aber so einfach ist das nicht. Man will ja auch langfristig Ruhe haben und braucht einen Plan.
Als ich mit dem Planen angefangen habe dachte ich sofort in größeren Dimensionen:



Leider hat sich sowohl Dimension als auch Dauer der Planungsphase etwas erhöht.
Aber die gute Nachricht ist; während dessen ist die Fliege weitergezogen. Sie hat sicher erkannt, dass ich Großes plane!


Nun aber zu anderen Planungen. Was haben wir bisher mit dem Patch Manager angestellt?
Das Ding läuft, WSUS ist integriert, Clients anhängend, wir haben ein komplettes Inventar und können loslegen.

Besorgen wir uns also zuerst einmal ein Paket zum Patchen. Glücklicherweise müssen wir uns in den meisten Fällen nicht selbst darum kümmern.

Solarwinds hat hier eine Liste mit betreuten Updates. Generell läuft das simpel aber wir müssen es noch kurz einrichten.

Klickt einmal auf Administration and Reporting --> Software Publishing, dann rechts auf Patch Manager Update Configuration Wizard



Den Schritten folgen



Wählt aus was von Interesse ist:



Wann soll nach neuen Updates gesucht werden -  das sind hier keine „Patch Dienstag“ Dinge, von daher schlage ich jede Nacht vor:



Lasst die Synchronisierung einmal durchlaufen – die kann man auch schnell manuell triggern – und sucht euch ein Paket aus. Ich nehme das Beispiel hier:



Ich habe nach „creation date“ sortiert um die aktuellsten Pakete direkt oben zu sehen, suche nach „upgrade“, rechtsklicke das oberste Paket und wähle „Download Content“



Patch Manager hüpft dann direkt zum Hersteller und lädt die Datei herunter:



Nochmal rechtsklicken aber dieses Mal wählen wir Publish Packages. Beachtet das kleine grüne Icon links – das sagt uns, dass die Datei runtergeladen wurde.
Unter Umständen wird dies erst nach einem Refresh angezeigt.



WSUS auswählen und weiter geht’s:



Was macht „publish“? Der Vorgang schnappt sich sowohl die Datei als auch das Script und leitet es an den WSUS weiter.
Sobald der Prozess fertig ist klicken wir auf Enterprise --> Update Service und den WSUS, dann Updates und Third Party Updates. Dort finde ich den Browser:



Rechtsklick und approve:



Das kennt ihr vom WSUS:




Okay fassen wir zusammen was wir gerade gemacht haben.
Ein „3rd party Paket“ wurde heruntergeladen, samt Script paketiert, in den WSUS weitergeleitet und dort zum Deployment erlaubt. Eigentlich ziemlich simpel, oder?

Jetzt verteilen wir es mal. Dazu klickt man irgendwo rechts, oder guckt einfach ganz nach rechts und wählt den Update Management Wizard



Das hier nutze ich normalerweise:


Next, nicht so spannend:


Aber jetzt!

Hier stellen wir ein, wann, warum und wie ein Neustart durchgeführt wird:



Links auch ein Knöpfchen zum Senden eines magischen Paketes!!

Ganz unten im gleichen Fenster gibt es noch zwei interessante Themen:



„Planning Mode“ geht durch die kompletten Schritte des Patchens ohne wirklich Aktionen durchzuführen. Das Ergebnis ist ein Report der mir anzeigt, was und wo patched wird.

Rechts kann man einstellen wie mit „exklusiven Updates“ umgegangen wird. Was ist das denn jetzt?!

Ihr habt sicher schon einmal gesehen wie nach Updates und Reboots plötzlich wieder Updates verfügbar sind die vorher noch nicht da waren.
Irgendwo bei dem Prozess sind Updates die Systemdateien blockieren und keine weiteren Updates erlauben bis zum Neustart. Ärgerlich! Aber hiermit stellen wir ein wie damit umzugehen ist.

Okay jetzt wählen wir die Ziele aus. Geht nicht über Los, geht direkt zu „Browse Computers“



Von den verschiedenen Möglichkeiten wähle ich die einfachste aus und gehe zu Update Services Servers und schnappe mir eine Maschine aus den existierenden WSUS Gruppen



Jetzt setzen wir endlich die Aufgabe an:



Wählen Zeit, Frequenz und Ablaufdatum aus:




Das war es – die Aufgabe sitzt dann unter Administration and Reporting --> Scheduled Tasks



Man könnte jetzt noch durch den Prozess gehen um eigene Pakete zu erstellen!
Das ist tatsächlich ein ganz interessantes Thema, aber auch wieder ein längeres.
Ich glaube ich benötige erst eine Kickstarter Kampagne um mir einen Schokoriegel leisten zu können…falls es mal wieder länger dauert!

There were two articles that I've read recently that helped me create a solution to a question that my boss want answered.

Basically, she wants our team, the Monitoring Support team, to be able to offer a SW page where any person can check & search for which types of data are being collected by our NPM and SAM modules from each machine/node.

One article is from adatole where he posted a custom SQL query that exactly does this. His article can be found here -> 4 Inevitable Questions When Joining a Monitoring Group, Pt.3 - Packet Pushers -


I used the custom SQL query mentioned in the article and have put it into a "Custom Table" custom resource, selecting Advanced SQL.

We have around 2,500 nodes and we have around 100,000 component monitors. These are distributed in 14 polling engines.

The query is taking a lot of time as it attempts to load a lot of stuff.


Then I came across another article, this time from antonis.athanasiou about leveraging the "Custom Query" custom resource in using its pagination and search features. His article can be found here -> SolarWinds Orion Custom Query Resource - A Hidden Gem!


The problem I then encountered is that the Custom Query resource does not accept SQL. It only accepts SWQL.

I took the time & converted the SQL query from adatole's article to SWQL. The SWQL version of the query is then used inside Custom Query resource, all the while leveraging its 'Enable Search' option.


** Notes **

  1. The "SELECT TOP 2500" part was what I've decided to use in my environment. You can change this to what you want or what works for you.
  2. Since the 'Enable Search' option relies on the ${SEARCH_STRING} macro, I've utilized it in the final WHERE clause so that the Search box of the Custom Query resource can look things up either for a node's node name, DNS name, Sys name, IP Address, vendor or machine type.
  3. Initially when you've finished configuring this resource, it will load empty. The only time that it will spit out data is after you've used the search box to look up either a node's node name, DNS name, Sys name, IP Address, vendor or machine type.


Here's the result of the conversion:


    nodes.StatusLed AS [icmpStatus],

    nodes.caption AS [NodeName],


    s1.elementtype AS [ElementType],

    s1.element AS [Element],

    s1.LED AS [ElementStatus],

    s1.Description AS [ElementDescr],

    s1.capacity AS [ElementCapacity],

    s1.threshold_value AS [threshold_for],

    s1.warn AS [warningLevel],

    s1.crit AS [criticalLevel]


    orion.nodes AS nodes

        LEFT JOIN



                    '01' as elementorder,

                    'CPU' as elementtype,


                    'Up.gif' as LED,

                    'CPU Count:' as element,

                    TOSTRING(COUNT(c1.CPUIndex)) as description,

                    '' as capacity,

                    'CPU Utilization' as threshold_value,

                    TOSTRING(t1.Level1Value) as warn,

                    TOSTRING(t1.Level2Value) as crit



                        SELECT DISTINCT CPUMultiLoad.NodeID, CPUMultiLoad.CPUIndex from Orion.CPUMultiLoad

                    ) AS c1

                        join Orion.CpuLoadThreshold t1 on c1.nodeID = t1.InstanceId

                GROUP BY

                    c1.NodeID, t1.Level1Value, t1.Level2Value

                    -- 01 conversion from sql to swql = successful


                UNION ALL (



                    '02' as elementorder,

                    'RAM' as elementtype,


                    'Up.gif' as LED,

                    'Total RAM' as element,

                    '' as description,

                    TOSTRING(ROUND(((nodes.TotalMemory/1048576)/1024),2)) + ' Gigabytes' as capacity,

                    'RAM Utilization' as threshold_value,

                    TOSTRING(NodesPercentMemoryUsedThreshold.Level1Value) as warn,

                    TOSTRING(NodesPercentMemoryUsedThreshold.Level2Value) as crit

                FROM Orion.nodes AS Nodes

                    JOIN Orion.PercentMemoryUsedThreshold AS NodesPercentMemoryUsedThreshold on nodes.nodeid = NodesPercentMemoryUsedThreshold.InstanceId

                    -- 02 conversion from sql to swql = successful



                UNION ALL (



                    '95' as elementorder,

                    'HW' as elementtype,


                    APM_HardwareAlertData.StatusLED as LED,

                    APM_HardwareAlertData.Description as element,

                    APM_HardwareAlertData.CategoriesWithStatus as description,

                    '' as capacity,

                    '' as threshold_value,

                    '' as warn,

                    '' as crit

                FROM Orion.HardwareHealth.HardwareInfo as APM_HardwareAlertData

                    -- 95 conversion from sql to swql = successful



                UNION ALL (



                    '03' as elementorder,

                    'NIC' as elementtype,

                    interfaces.nodeid as NodeID,

                    interfaces.statusled as LED,

                    interfaces.InterfaceName + ' @ifIndex ' + TOSTRING(interfaces.InterfaceIndex) as element,

                    interfaces.InterfaceTypeDescription as Description,

                    TOSTRING(interfaces.InterfaceSpeed) as capacity,

                    'bandwidth in/out' as threshold_value,

                    TOSTRING(i1.Level1Value)+'/'+TOSTRING(i2.level1value) as warn,

                    TOSTRING(i1.Level2Value)+'/'+TOSTRING(i2.level2value) as crit

                FROM Orion.NPM.Interfaces as interfaces

                    JOIN (

                            SELECT InterfacesThresholds.instanceid, InterfacesThresholds.level1value , InterfacesThresholds.level2value

                            FROM Orion.NPM.InPercentUtilizationThreshold AS InterfacesThresholds

                            WHERE = 'NPM.Interfaces.Stats.InPercentUtilization'

                        ) AS i1 on interfaces.interfaceid = i1.InstanceId

                    JOIN (

                            SELECT InterfacesThresholds.instanceid, InterfacesThresholds.Level1Value, InterfacesThresholds.level2value

                            FROM Orion.NPM.OutPercentUtilizationThreshold AS InterfacesThresholds

                            WHERE = 'NPM.Interfaces.Stats.OutPercentUtilization'

                    ) AS i2 on interfaces.interfaceid = i2.InstanceId

                        -- 03 conversion from sql to swql = successful



                UNION ALL (



                    '04' as elementorder,

                    'DISK' as elementtype,

                    volumes.nodeid as NodeID,

                    volumes.statusled as LED,

                    volumes.caption as element,

                    volumes.VolumeType as description,

                    TOSTRING(ROUND(((volumes.VolumeSize/1048576)/1024),2)) + ' Gigabytes' as capacity,

                    '' as threshold_value,

                    '' as warn,

                    '' as crit

                FROM Orion.volumes AS volumes

                    -- 04 conversion from sql to swql = successful



                UNION ALL (



                    '05' AS elementorder,

                    'APP component' AS elementtype,

                    cs.NodeID AS NodeID,

                    si.ShortDescription + '.gif' AS LED,

                    cs.ComponentName AS element,

           AS description,

                    '' AS capacity,

                    'CPU ; PhyMem ; VirtMem ; Stat ; RespTime' as threshold_value,

                    ISNULL(TOSTRING(cat.ThresholdCPUWarning),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdPhysicalMemoryWarning),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdVirtualMemoryWarning),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdStatisticWarning),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdResponseTimeWarning),'no_data') + ' ; ' AS warn,

                    ISNULL(TOSTRING(cat.ThresholdCPUCritical),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdPhysicalMemoryCritical),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdVirtualMemoryCritical),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdStatisticCritical),'no_data') + ' ; ' +  ISNULL(TOSTRING(cat.ThresholdResponseTimeCritical),'no_data') + ' ; ' AS crit


                    Orion.APM.CurrentStatistics AS cs

                        INNER JOIN Orion.APM.ComponentAlertThresholds AS cat ON cs.ComponentID = cat.ComponentID

                        INNER JOIN Orion.APM.Component AS c ON cs.ComponentID = c.ComponentID

                        INNER JOIN Orion.StatusInfo AS si ON cs.ComponentAvailability = si.StatusID

                    -- 05 conversion from sql to swql = successful



                UNION ALL (



                    '06' as elementorder,

                    'POLLER' as elementtype,


                    'up.gif' as LED,

                    CustomPollerAssignmentView.CustomPollerName as element,

                    CustomPollerAssignmentView.CustomPollerDescription as description,

                    '' as capacity,

                    '' as threshold_value,

                    '' as warn,

                    '' as crit

                FROM (


                        AncestorDetailsUrls, AncestorDisplayNames, AssignmentName, CurrentValue, CustomPollerAssignmentID,

                        CustomPollerDescription, CustomPollerID, CustomPollerMIB, CustomPollerName, CustomPollerOid,

                        Description, DetailsUrl, DisplayName, ID, Image, InstanceSiteId, InstanceType,

                        InterfaceID, NodeID, Status, StatusDescription, StatusIconHint, StatusLED, UnManaged, UnManageFrom, UnManageUntil, Uri

                    FROM Orion.NPM.CustomPollerAssignmentOnNode


                    UNION ALL (



                                AncestorDetailsUrls, AncestorDisplayNames, AssignmentName, CurrentValue, CustomPollerAssignmentID,

                                CustomPollerDescription, CustomPollerID, CustomPollerMIB, CustomPollerName, CustomPollerOid,

                                Description, DetailsUrl, DisplayName, ID, Image, InstanceSiteId, InstanceType,

                                InterfaceID, NodeID, Status, StatusDescription, StatusIconHint, StatusLED, UnManaged, UnManageFrom, UnManageUntil, Uri

                            FROM Orion.NPM.CustomPollerAssignmentOnInterface


                    ) AS CustomPollerAssignmentView

                    -- 06 conversion from sql to swql = successful


        ) AS s1 ON nodes.nodeid = s1.NodeID


Nodes.Caption LIKE '%${SEARCH_STRING}%' OR


Nodes.Sysname LIKE '%${SEARCH_STRING}%' OR

Nodes.IP_Address LIKE '%${SEARCH_STRING}%'   OR

Nodes.Vendor LIKE '%${SEARCH_STRING}%' OR

Nodes.MachineType LIKE '%${SEARCH_STRING}%'


    nodes.nodeid, s1.elementtype



Here are some screenshots of how it looks like on my end.


Am Montag morgen kommt ein Prio 1 + Ticket rein, direkt vom Vorstand. Die weltwichtigste Videokonferenz von Europa nach Amerika funktioniert nicht. Im Ticket steht " bitte das gesamte Netzwerk neu starten".

Solche oder so ähnliche Anfragen sind immer eine Herausforderung. Man muss unter Zeitdruck schnell herausfinden was das eigentliche Problem ist.

Einige Probleme können einfach gelöst werden, wenn man direkt herausbekommt wo die Ursache liegt. Seit langer Zeit ist ping und traceroute eines der meistbenutzten Werkzeuge des Administrators.

Es ist überall verfügbar und bietet direkt eine Aussage über Erreichbarkeit und RoundTripTimes.

Wenn es aber dazu kommt, wie im oben beschriebenen Beispiel mit der Videokonferenz, dass die erste Analyse mit ping und traceroute keine Probleme aufzeigt, wird es meistens zeitintensiver den Fehler zu finden.

In Zeiten von Overlays, SDN und MPLS ist es komplexer geworden eine Fehlersuche durchzuführen. Hier kann es passieren, dass unsere alten Werkzeuge ping und traceroute sich als falsche Freunde erweisen.

Wenn unsere Testwerkzeuge einen anderen Weg durch das Netzwerk gehen als die gestörte Applikation wie die Pakete der Videokonferenz, werden wir bei der Fehlersuche in die falsche Richtung gelenkt.

Auch von der Provider Seite bekommt man oft nur nichtssagende Port Uplink Statistiken des eigenen Anschlusses geliefert, wenn man ein Ticket dort eröffnet. Nicht sehr hilfreich, wenn die Statistik vom eigenen

Asnchluss OK ist mit 10% Auslastung, der Uplink des Providers aber 100% Auslastung durch einen anderen Kunden hat.

Auch beim Provider sind die Uplinks geshared für alle angeschlossenen Endkunden. Teure, gemietete MPLS, private WAN Verbindungen des Providers stellen sich als Wolke dar, die für den Endkunden keinerlei oder

nur sehr eingeschränkte Möglichkeiten bieten was Monitoring und Verfügbarkeit angeht.


Wenn man sich nur auf seinen Provider verlässt, ist man oft verlassen. Hier hilft es sehr, wenn man in diesem

Bereich ausserhalb der eigenen Infrastruktur mehr Informationen bekommt.

Die angesprochenen Probleme werden von SolarWinds NetPath addressiert. Mit NetPath kann man einfach

Ende zu Ende Messungen durch komplexe Netzwerke durchführen, egal ob diese zur eigenen Netzwerk

Infrastruktur oder der des Providers gehört.


Das Prinzip ist einfach und genial. Es wird der Netpath discovered und danach eine permanente Ende zu Ende

Messung durchgeführt. Man kann in NetPath Traffic auf beliebigen Ports generieren um z.B. Video oder

Voice Traffic zu emulieren. Dadurch erhält man eine detaillierte Grafik über alle Komponenten im "NetPath"

der Kommunikation darstellt.

Neben dem Dokumentation Aspekt hat man auch sofort Hop-by-Hop live Daten aus der Messung und kann schnell

Flaschenhälse identifiezieren. Gerade in Situationen, in denen man keine aktuelle Dokumentation verfügbar hat,

ist dies sehr hilfreich. Die Dokumentation zu erstellen während der Fehlersuche ist nicht gerade ideal. Dazu ist die automatisiert ausgelesene Topologie aktuell und man sucht keine Phantomkomponenten aus der

Dokumentation, die vielleicht schon gar nicht mehr exsistieren.


Ist der Netpath einmal generiert, bekommt man sofort aus der live Messung Updates sobald sich etwas ändert. Gerade diese kontinuierliche Überwachung lässt uns besser die eigentlichen Probleme verstehen. Um das Bild

zu vervollständigen hat SolarWinds auch noch eine Integration des traditionellen Monitorings in NetPath. Wenn man z.B. eine hohe Latenz auf einem Link sieht und diese sofort

in Kontext mit Paketverlusten auf einem Interface bringen kann, ist die Fehlersuche schnell erfolgreich. Wenn die Videokonferenz wieder läuft kann man sich entspannt dem nächsten Ticket zuwenden.

Hallo Zusammen!


Knapp zwei Monate nach wannacry und wir spüren immer noch die Nachbeben.
Ich erspare uns das nochmalige Nachbeten der Details – die gibt es ohnehin hier


Wir wissen ja, dass Maschinen hauptsächlich durch das Fehlen eines vorab veröffentlichten Sicherheitspatches infiziert worden sind. Somit wäre der Großteil des Desasters vermeidbar gewesen.

Warum wird Patching so stiefmütterlich behandelt? Darüber könnten wir einen ganzen Tag diskutieren.
Aber erstellen wir eine Kette um einen der Hauptgründe zu identifizieren:

1. Es muss sichergestellt werden, dass Unternehmenssoftware auch nach dem Einspielen von Patches noch läuft und keine Probleme zu erwarten sid

2. Administratoren brauchen Kontrolle über den Patchprozess, um dies sicherzustellen

3. Administratoren brauchen Zeit, um die obige Kontrolle auszuüben

4. Zeit ist richtig teuer und, ich erinnere mich an BWL, ein „knappes Gut“


Also: Keine Zeit = kein Patch


Wo kommt jetzt Solarwinds ins Spiel? Das Beste wäre natürlich dieses neue Produkt auf das alle warten, GITDLM – GetIntoTheDeLoreanManager - um in der Zeit zu reisen, aber das steckt aus unbekannten Gründen im QA Prozess fest. Seit Jahren!

Hier ist das einzige existierende Foto der Betaversion:





Also schauen wir uns einmal den Patch Manager an.
Dies ist hier das erste von zwei Blogeinträgen und ich will den Hintergrund sowie den Installationprozess erklären.

Patch Manager, oder auch SPM, setzt auf bestehende Microsoft Infrastruktur auf und nutzt den WindowsUpdateAgent um nicht-MSFT Updates zu verteilen, und benötigt eine WSUS oder SCCM Umgebung.
SPM wird meist auf der gleichen Box installiert auf der der WSUS läuft und benötigt eine SQL DB im Hintergrund.

Da die Menge an Daten üblicherweise ziemlich gering ist, kann die SQL Express Version tatsächlich ausreichend sein.

Bedient wird SPM innerhalb einer MMC und diese kann problemlos auf einer Workstation installiert werden. Ebenso gibt es eine Komponente die SPM in ein bestehendes Orion System integrieren kann.


Aber mal von Anfang an!


Hier die Auswahl der Optionen, wir folgen dem Standard:


Dann klicke ich auf Express



Express installiert einen WSUS sowie eine SQL Express lokal und stellt keine dummen Fragen
Für einen Produktivbetrieb würde ich natürlich die zweite Variante auswählen und meinen eigenen WSUS einhängen, sowie optional auf eine dedizierte SQL verweisen.


Das hier dauert ein Weilchen:



Dieses Fenster kommt beim Starten:




Dann wird ein Benutzer angelegt, dies sollte ein lokaler Admin sein:




Okay das hier klingt verlockend, aber ich gehe die Schritte manuell mit euch durch damit ihr wisst, was passiert. Also bitte die Box abwählen und das Fenster schliessen:




In der MMC links oben klickt auf Enterprise --> Update Services und überprüft ob der WSUS da ist:




Schaut vielleicht auch einmal unter Patch Manager System Config --> Security and User --> Credential Ring und klickt auf Default, dann „next“.
Es sollte etwa so aussehen:



Hier kann man später bei einem Produktivsystem verschiedene Benutzerkonten zuweisen.
Wenn alles passt, cancel und tschüss.


An dieser Stelle würde man jetzt den WSUS einrichten. Das kann man entweder in der WSUS Konsole selbst erledigen oder aber im Patch Manager beim Klick auf den WSUS ganz rechts die folgenden Optionen:




Das Auswählen der Produkte (Windows/Exchange etc) und setzen weiterer WSUS-spezifischer Optionen erkläre ich an dieser Stelle nicht und verweise faul auf die Suchmaschine eurer Wahl.
Gehen wir davon aus, dass WSUS eingerichtet ist und ein paar Clients dranhängen, und machen weiter.


Wechselt zu Patch Manager System Config --> Management Groups --> Managed Enterprise und klickt auf den Server, dann rechts auf „Schedule Inventory“


Setzt die Frequenz etc wie es passt, hier ein Beispiel:




Ein paar Auswahlmöglichkeiten – beim Klick auf eine Zeile sieht man eine Erklärung




Wir haben gerade unsere erste Aufgabe angelegt!
Verifiziert schnell unter Administration and Reporting --> Scheduled Tasks:



Wenn die SPM Maschine in einer Domain sitzt, kann man über den Management Group Wizard den DC hinzufügen.
Es sieht dann so aus (Screenshots kommen von einem anderen System):




Beim Klicken auf den DC habe ich rechts eine weitere Inventarisierungsfunktion:



Dort wählt ihr aus was interessant ist und setzt direkt eine zweite Aufgabe an.



Mittels rechter Maustaste kann ich diese Aufgaben adhoc starten, damit ich auch vor dem eigentlichen Startzeitpunkt Resultate bekomme.

SPM ist jetzt einsatzbereit und kann schon benutzt werden, aber wir müssen ja noch mit den Clients kommunizieren.


Klicken wir einmal auf Administration and Reporting à Software Publishing, dann ganz rechts auf Server Publishing Wizard und wählen den WSUS aus.

Es sollte wie folgt aussehen:



Kickt auf next. Und next. Und…wartet. Dann auf Finish!




Wir haben jetzt ein Zertifikat aber das reicht noch nicht. Leider wird es jetzt kompliziert.
Ich erklär es daher g-a-n-z l-a-n-g-s-a-m.


Klickt rechts auf Client Publishing Setup Wizard. Wählt den WSUS aus und klickt Distribute:




Hier wählen wir die Zielsysteme aus, z.B. über Browse Computers und Update Services Servers, gefolgt von einer Gruppe, oder einem einzelnen System.

Im nächsten Fenster lasse ich alles bei den Standards und klicke direkt auf Finish.

Das Resultat ist höchstwahrscheinlich eine Warnung:




Ok, dann aber ignorieren wir das Fenster und machen etwas Anderes.

Geht ganz hoch zu Enterprise --> Update Services und klickt einmal auf den WSUS, dann ganz rechts etwas weiter unten auf Software Publishing Certificate.
Dort dann bitte rechts auf die drei Punkte:



Details, copy to file



DER passt, klickt next und legt es irgendwo hin. Nur nicht unter den Tannenbaum!


Nun brauchen wir den Group Policy Editor, entweder direkt auf dem DC oder aber in einer Remote-Konsole.

Wie man mit dem Ding umgeht ist auch wieder ausserhalb des Umfangs dieses Blogposts, in meinem Beispiel schnappe ich mir einfach die ganz normale Domain-Policy und editiere.


Wir gehen zu Computer Configuration --> Policies --> Windows Settings --> Security Settings --> Public Key Policies --> Trusted Root, rechtsklicken dann irgendwo und importieren die DER Datei.

Das gleiche dann noch einmal für die Trusted Publisher. Erledigt? Gut.


Jetzt zu Computer Configuration --> Administrative Templates --> Windows Components --> Windows Update und sucht nach “Allow signed updates from an intranet Microsoft update service location” oder dem Deutschen Äquivalent bei Deutschem OS.
Aktiviert die Einstellung. Perfekt.


Das System ist jetzt komplett einsatzbereit und ich könnte entweder auf das hervorragende Rezept für Tiramisu hinweisen, das ich am Freitag ausprobiert habe, oder einfach das Posting beenden und mit der Arbeit an den nächsten Schritten – dem Patchen – beginnen.

Nach kurzer Überlegung entscheide ich mich für letzteres da ich gerade von einer Fliege angegriffen werde und fliehen muss:

Greetings fellow THWACK® comrades!

In a slight deviation from my usual PowerShell® posts, I wanted to share a sneak peek of some of the work that is going on behind the scenes at the Cork office for next week’s SolarWinds® Partner Bootcamp EMEA.

If you’re not familiar with our SolarWinds Partner Bootcamp, it’s a multi-day event in Cork, where SolarWinds technical and sales staff host a series of product workshops with our channel partners from across Europe, the Middle East, and Africa. During these face-to-face sessions, we’re able to cover advanced topics, provide technical training, and receive feedback directly from our partners in the field.

Expect another post in the near future, but in the meantime, here’s a little teaser of some of the welcome kit items our attendees might expect!



Dismantling Internet Privacy Laws


Back on March 23, a set of Internet privacy rules were repealed. These rules would have required consent to be given for internet service providers (ISPs) to sell your browsing data.


In early 2015, the Federal Communications Commission (FCC) classified ISPs as a utility. This is much like your water, or electricity. This change in classification opened the doors for net neutrality laws. These laws made it illegal to throttle Internet bandwidth based on what the user was doing (i.e streaming videos online or other high usage activities).


These laws also meant that ISPs had to follow privacy guidelines. These guidelines protect the user’s privacy and information. For example, telemarketers are required to have a do not call list and can only call within certain hours of the day. For internet users, these rules protect your browsing history, data, and personal information.


What do ISPs want with our online data?


Much of the internet is now ad based. Those ads are developed to target specific groups of people. Often they are targeted for having certain interests or online behaviors.


ISPs want to sell users data to advertising agencies under the premise that doing so will better market products and service to you through ads. But the data includes the web pages visited, personal information, and creates user profiles It can even include financial or medical information. The data they collect is far too elaborate for simply connecting us with better products/services.


Protecting our privacy online


The current solution most are resorting to for working online is either creating (that guy wrote a great article) or investing in a VPN. Since this method effectively hides data from ISP, it prevents them from being able to sell our information.


However, as most of us have noticed over the past few years, there has been an increasingly large amount of cheap VPN scam services. Problem is that the general public doesn't know any better than to use them. I have recently been working with a local IT/Comm business (ESI Communications) owned by a buddy of mine that is working on a VPN solution for their residential clients.

Hallo Zusammen,


Wie der Titel schon andeutet stelle ich heute den „Server & Application Monitor“ vor und führe durch die ersten Schritte.


SAM kümmert sich um physische und virtuelle Server sowie Anwendungen.

Bei der Überwachung von Anwendungen nutzen wir einen Ansatz basierend auf Vorlagen, damit man nicht Ewigkeiten damit verbringen muss Dokumentationen zu lesen und von Anfang an die korrekten Daten überwacht.


Fangen wir erst einmal damit an unsere Infrastruktur zu scannen. Wie das grundsätzlich abläuft hatte ich ja schon hier beschrieben – am 14. Februar!

Heute - fast vier Monate später - fällt mir auf, dass das Valentinstag war…plötzlich bekomme ich Angstschweiß…hatte ich meiner Partnerin ein kleines Geschenk besorgt? Waren wir irgendwo nett essen? Ich muss das unauffällig herausfinden oder besser einfach auf sich beruhen lassen.


Was auch immer! Ich schreibe lieber schnell weiter bevor mir was passiert!

Beim Scanvorgang gibt es zwei Dinge die durch SAM hinzugefügt werden. Zum einen in der Mitte „discovered applications“:


Diese sind immer limitiert auf zwei Dinge, Scheduled Tasks oder AppInsight. AppInsight ist die Bezeichnung für eine recht spezielle Vorlage in der Solarwinds Welt und existiert zurzeit für Exchange, IIS und SQL.

Am Ende des Erkennungsvorgangs kann man dann nach weiteren Anwendungen suchen lassen:


Hier wähle ich zuerst die Maschinen aus auf denen gesucht werden soll:


Dann gibt es eine Übersicht über Anwendungen:



Ich schalte oben von „populär“ auf „Windows“ und wähle eine Handvoll Anwendungen aus von denen ich weiss, dass sie irgendwo laufen:



Rein theoretisch kann ich all meine Server auswählen und alle Anwendungen die in der Liste aufgeführt sind, jedoch wird dies den Erkennungsvorgang gewaltig in die Länge ziehen.

Ich schlage vor kurz einmal gedanklich ein System zu skizzieren und vielleicht nach Standort, Subnet, Aufgabenbereich oder ähnlichem zu sortieren. Meistens weiss man auch ungefähr welche Anwendungen in Betrieb sind und kann diese vorauswählen.

Jetzt brauchen wir natürlich noch Zugangsdaten und könnten hier auch beliebig viele angeben:



Bei mir ging das natürlich schnell:



Aber wie sieht das denn aus, Hilfe!



Grün, gelb, rot. Schauen wir uns erst einmal etwas Grünes an um das Konzept von Vorlagen zu verstehen.


Die einzelnen Elemente sind von uns vorgeschlagen und sind als wichtig für einen DHCP erachtet. Wir nutzen dazu zum einen natürlich unsere Erfahrung, zum anderen Quellen wie – in diesem Falle – msdn und der entsprechenden Doku beim Hersteller.


Die Vorlagen sind also vorgefertigte Masken die automatisch alle relevanten Elemente überwachen um den Aufwand zum Einrichten so gering wie möglich zu halten.

Vorlagen sind aber nicht statisch! Man kann jederzeit zusätzliche Dinge hinzufügen oder andere entfernen, sollten diese in einem speziellen Geschäftsfall keine Rolle spielen.


Wo kommen die Vorlagen her und wie findet man sie? Klickt einfach bei der Übersicht wie unten auf „manage applications“



Dort sind jetzt drei Reiter. Ganz links zeigt uns an, welche Vorlagen gerade in Benutzung sind.




Der in der Mitte zeigt die Vorlagen die sofort bei der Installation verfügbar sind:



226 Anwendungen, das ist nicht schlecht, wenn man bedenkt, dass die meisten Firmen in der Welt ohnehin immer die gleichen Anwendungen nutzten. Aber da geht noch was! Klickt einmal auf Shared Templates in thwack:



Thwack ist...achso, wir sind hier in thwack und ich spare mir die Erklärung!


Wir sehen hier einen ganzen Haufen Vorlagen. Da die Frage schon ein paar Mal aufgekommen ist: Die Vorlagen hier sind nicht getestet aber recht sicher zu nutzen, da keine Änderungen vorgenommen werden. Wenn wir jedoch sehen, dass eine Vorlage sehr gefragt ist treten wir früher oder später mit dem „Hersteller“ in Kontakt und fragen diesen, ob wir die Vorlage offiziell in SAM aufnehmen können womit diese dann ein unterstützter Teil des Produktes wird.

Manchmal kommt es auch vor, dass wir die entsprechende Person fragen ob sie nicht bei Solarwinds arbeiten möchte.



Wenn ich eine Community-Vorlage testen möchte wähle ich sie einfach aus und importiere – kostenlos:



Genug Theorie für jetzt, lasst uns einmal ein paar der grauen und roten Lampen beseitigen!


Ach Moment, doch noch etwas Theorie! AppInsight – was war das jetzt noch einmal genau? AppInsight ist im Prinzip auch eine Vorlage jedoch geht diese viel tiefer in die Materie ein und ist ziemlich günstig mit einem „one size fits all“ Ansatz. AppInsight SQL überwacht die komplette Instanz bis herunter zum SQLAgent oder Queries, AppInsight Exchange behält die DAG im Auge inklusive sämtlicher Mailboxen, und AppInsight IIS wie hier im Beispiel kontrolliert alle Webseiten und Anwendungspools. Eine Randnotiz: Im Gegensatz zu normalen Vorlagen sind AppInsights statisch und bieten nicht viele Optionen zum Anpassen.


Jetzt aber! Wer noch kein Problem hat – hier kommt eins!



Eine der Webseiten wird als fehlerhaft angezeigt. Klicken wir einmal drauf:



Zu einfach! Der Link erklärt den Grund und was zu tun ist.

Ich entscheide mich für letzteres und zeige damit gleich wie man eine Vorlage editiert, in diesem Fall mit „Edit Thresholds“:



Beim SSL Cert Monitor kann ich einfach auf „Disabled“ wechseln und speichern:



Rein theoretisch gibt es auch noch eine dritte Möglichkeit:


Was auch immer ihr macht wird vermutlich noch ein paar Minuten lang „grau“ aussehen, bis neue Daten zur Verfügung stehen. Das kann man immer etwas beschleunigen mit dem Kollegen „poll now“:




Sehr gut!


Ein IIS fehlt noch. Ich klicke auf Orion und plötzlich erscheint ein Popup:



Habe ich die richtigen Zugangsdaten?




Gut. Bevor ich den Prozess starte einmal kurz auf „Advanced…“, wo genau erklärt wird, welche Schritte automatisch vom Assistenten durchgeführt werden und diese theoretisch auch manuell abgehen kann.



Dieses Fenster wird in manchen Situationen auch bei den anderen AppInsights stehen. In jedem Fall hat man die Auswahl die Automatik alle Schritte durchführen zu lassen oder diese vorab per Hand zu erledigen.


Ich klicke auf „Configure Server“ und sehe etwa zwei Minuten später die folgende Meldung:




Okay, wir können jetzt einfach warten oder die Zeit nutzen und uns die anderen Vorlagen anschauen.



Zuerst wieder meine eigene VM auf der eine SQL Express läuft. Total grau!

Das Problem liegt offensichtlich in einer einzelnen DB:



Grau! Klick:



Ich zeige euch einmal etwas. Geht einen Schritt zurück zu der gesamten Vorlage und klickt oben rechts auf „Edit…“



Hier kann ich jetzt von den Zugangsdaten die wir beim Scan ausgewählt haben umstellen auf beliebige andere und auch SQL Credentials wie vielleicht hier unten:


Das übrigens geht nicht nur bei AppInsights sondern allen Vorlagen.


Bei der anderen SQL kommt eines meiner Lieblingsthemen!



AppInsight beschwert sich hier über den Index:



Im Grunde genommen ist das sinnvoll, zeigt es doch Potential zur Optimierung an und erinnert mich daran den SQLAgent zu nutzen um den Index zu re-organisieren oder neu anzulegen. Das kann ich aber nur so-und-so-oft machen, irgendwann ist die Last in der Relation nicht mehr tragbar.

Also ignoriere ich die Beschwerde über den Index. Ich versuche es zumindest. Aber es ist ja nicht nur grau sondern gerne auch gelb wie oben oder – Gott bewahre – rot!

Dann kommt hier der administrative Holzhammer. Edit Thresholds recht oben und:



Immergrüner Index! Party on!




Doch genug gefixed, werden wir kurz noch einmal aktiv.

Gehen wir einmal davon aus, dass es für unsere aktuelle Anwendung noch keine Vorlage gibt. Weder direkt bei der Installation noch später in der Community. Wann passiert das? Wenn ich etwas nutze, das sonst kein anderer benutzt. Vielleicht habe ich eine selbstgeschriebene Anwendung (gibt es das eigentlich noch?).


In dem Fall klicke ich auf die Einstellungen oben und dann bei den Produkteinstellungen auf SAM



Dort habe ich die Möglichkeit meine eigenen Vorlagen zu erstellen:



Aber wir haben ja schon gelernt: Eine Vorlage besteht aus überwachten Komponenten. Bei einer benutzerdefinierten Vorlage fangen wir also bei Null an und wählen eine Komponente:



Glücklicherweise gibt es auch hier wieder vordefinierte Elemente, die ich einfach auswählen kann:



Insgesamt knapp 49 verschiedene Elemente wobei die populärsten sicherlich Dinge wie ein Prozessmonitor sind. Wenn ich eine bestimmte Komponente anpassen möchte um sie mehrfach zu verwenden gibt es auch dafür wieder einen Assistenten:



Der Wizard bietet Optionen für Windows links:



Und den Rest der freien Welt rechts:




Was auch immer ihr auswählt, es startet den entsprechenden Assistenten Schritt für Schritt.


Eine letzte Sache noch!

Wenn ich in irgendeiner Vorlage auf Edit klicke und dann eine beliebige Komponente auswähle habe ich beim Setzen der Schwellwerte eine kleine Box:


Das ist eine tolle Sache da hier die historischen Daten der überwachten Umgebung zu Rate gezogen werden um individuelle Schwellwerte vorzuschlagen. Es gibt nur ein kleines Problem:

Diese Funktion benötigt mindestens sieben Tage an Daten, bevor die Vorschläge realistisch werden.


Um den SAM abzuschliessen müsste ich jetzt noch über das Überwachen von Serverhardware referieren und vielleicht auch noch in wieweit wir hier in die Virtualisierung hineinschauen.

Aber das kommt in einem späteren Post zu einem späteren Zeitpunkt.

Ich gehe jetzt Blumen kaufen. Einfach so, man weiss ja nie!



Der erste Mai ist gerade vorbei.
Ich komme ja aus dem Ruhrgebiet und dort verbringt man den 01.05. traditionell bei der Eröffnung der Ruhrfestspiele .

Man könnte jetzt sagen, dass ich die Zeremonie vermisse seitdem ich in Irland wohne aber tatsächlich vermisse ich nur die Erbsensuppe!

Kulinarische Spezialitäten aus dem Pott.


Also, keine Erbsensuppe, von daher führe ich heute einmal durch die ersten Schritte mit dem Virtualization Manager.

Im Gegensatz zu normalen Orion Produkten ist VMan tatsächlich etwas komplexer in den ersten Schritten, da wir es hier mit zwei Systemen zu tun haben.


Wenn man das Archiv entpackt befinden sich dort mehrere Dateien:



Einen Hotfix, einmal Orion, sowie eine Vorlage für die virtuelle Appliance.
Ich habe in meinem Beispiel Vmware gewählt selbstverständlich steht aber auch Hyper-V zur Verfügung.

Fangen wir mit dem Einsetzen der virtuellen Appliance an – einfach importieren:







Wir haben die Wahl zwischen dynamischer IP:


Oder statischer IP:



Klick, klick, klick und ein paar Minuten später ist die VA einsatzbereit und leuchtet in Blau:




Prima! Starte wir den Browser unserer Wahl und navigieren zu der IP wie oben vorgeschlagen.
Nach dem Login mit admin/admin




Begrüßt uns der Configuration Wizard:


Wir legen also Zugangsdaten an:


Das Passwort ist wie üblich LordVader. Ganz sicher!

Danach das vcenter:



Wir können auch einen einzelnen Host anlegen und kommunizieren gerne mit dem. Das macht aber nur Sinn wenn der Host auch wirklich alleinstehend ist.
Vcenter ist immer die bevorzugte Methode da das vcenter ohnehin alles abfragt was in Reichweite steht und wir dadurch doppelte Last auf dem Host vermeiden können.

Collection Schedules sind die Abfrage-Frequenzen. Es gibt hier zwei verschiedene Aufgaben; Config und Performance.




Aufgepasst – das ist jetzt wichtig.

Der Vorgang „Configuration“ sammelt eine gewaltige Menge an Daten und braucht meistens eine Weile bis er abgeschlossen ist.

Sämtliche Standarddaten zur Performance aber auch Dinge wie z.B. vmotion sind im „Performance“ Vorgang enthalten.

Ich schlage vor an dieser Stelle beide Vorgänge zu aktivieren und es erst einmal bei den Standardfrequenzen zu belassen, also alle 10 Minuten für Perf und 12 Stunden für Conf.

Später schauen wir dann einmal wie lange die Vorgänge gebraucht haben. Bei mir sieht es so aus:



Theoretisch könnte ich in meinem Beispiel also die Frequenz für Perf auf 60 Sekunden setzen und für Conf auf alle 30 Minuten, vorausgesetzt die CPU sowohl auf dem vcenter als auch dem VMan zeigt nichts außergewöhnliches.

Es macht aber keinen Sinn Conf öfter als einmal pro Stunde abzufragen da ihr sicherlich nicht jede Stunde neue Hosts hinzufügt.


Okay, damit ist das erledigt. Im Moment gibt es in der VA auch nicht viel zu sehen. Vielleicht kommen wir später noch einmal hierher.

Es gibt bei den Ruhrfestspielen nicht nur Erbsensuppe, sondern auch Theater. Von daher kommen wir jetzt zum zweiten Akt, der Orion Installation.


Im Grunde genommen ist das identisch zur dem Ding hier von daher überspringe ich einmal die next-next-finish Geschichte mit einer Ausnahme:


Vier vCPU, nee mein Freund, zwei müssen heute reichen.

Sobald Orion steht verknüpfen wir die beiden Systeme miteinander:



Nach dem Verbinden wir die Synchro eingerichtet:



Ich folge wie üblich den Vorschlägen ohne irgendwas in Frage zu stellen. Ja, ich habe 1984 gelesen und VMan ist mein grosser Bruder.



Alles klar, das System ist nun komplett:



Noch schnell einen Blick hierhin und klickt auf die Empfehlungen:



Der Grund dafür das so früh wie möglich durchzuführen wird hier verständlich. Das Feature braucht Zeit:



An dieser Stelle ist VMan einsatzbereit und sammelt Daten und meine persönliche Empfehlung lautet wie gehabt das System hier erst einmal laufen zu lassen.

Nach ein paar Tagen schaut dann vielleicht einmal in Themen wie „Wildwuchs“ hinein um schon die ersten sinnvollen Einblicke zu erhalten.


In einem späteren Posting zeige ich ein paar interessante Dinge die man mit dem Produkt anstellen kann. Aber jetzt habe ich Hunger. Bis dann!

SolarWinds uses cookies on its websites to make your online experience easier and better. By using our website, you consent to our use of cookies. For more information on cookies, see our cookie policy.