SCOM SDK – PowerShell – Creating monitor

 

icon_sdkOne of my customers wanted to monitor a 3rd party solution by monitoring events and asked if it`s possible with SCOM. As you probably know it`s one of the easiest tasks in SCOM to create monitors to monitor events on event viewer for specific or bunch of servers.

I was told to send them instructions to create a monitor based on Windows events. I started to get screenshots from create management pack and create monitor wizards, and then creating a group for the servers need to be monitored and finally overriding my monitor to enable monitoring for this specific computer group. At the end I realized it was about 30 page screenshots. Instead of sending these screenshots I though it would be much easier and sexy to send them a single PowerShell script to create a monitor. I thought SCOM Shell would have these cmdlets.

I was wrong.

Unfortunately, SCOM Shell doesn`t have any supported shell to create a unit monitor for Windows events. Then I decided to check SCOM SDK.

https://msdn.microsoft.com/en-us/library/hh329086.aspx

That was the first time for me to deal with SDK with PowerShell. SDK is much more powerful than PowerShell but you need to figure out how to deal with objects and methods.

There is an example to create a unit monitor by using SCOM SDK but as you may realize it`s written in C#. That was a good starting point for me.

https://msdn.microsoft.com/en-us/library/hh329015.aspx

So I started my journey, spent couple of hours to create my PowerShell script that uses SCOM SDK binaries. You can find the script below.

Please note that this is really an ugly script, no error handling, structure or sexy functions. This is just a sample to deal with SDK. If you are interested in to learn how to deal with SDK using PowerShell, it`s a good chance to open my script and C# example and see the integration between them.

Also SCOM MVP Tao Yang has done great job with Automating OpsMgr series on his blog http://blog.tyang.org/ .

He also shared with me an article yet to be written regarding monitor creation using SDK. It`s much more better than my ugly script 🙂 So if you need more details, follow Tao`s automation series.

My ugly script:

https://onedrive.live.com/redir?resid=3CAAB02B9CC620D5!57641&authkey=!AKbaImed7116Ig8&ithint=file%2cps1

 

SCOM 2012 Agent Troubleshooting Adımları

SCOM 2012 agent kurulumu sırasında alınan sık hatalardan birisi de admin$ paylaşımına erişilememesidir. Bu sebeple Management Server ilgili istemciye ulaşıp ajan kurulum paketlerini kopyalayamaz. Paralelde Wİndows Remote Registry’e ulaşımda da problem olacağı için Health Service kurulumunda sıkıntı olacaktır.

Bunun için gerekli ilk kontrollerden birisi Management Server ve istemci bilgisayar arasında aşağıdaki portların açık olması gerekiyor.

  • RPC endpoint mapper Port number: 135 Protocol: TCP/UDP
  • *RPC/DCOM High ports (2000/2003 OS) Ports 1024-5000 Protocol: TCP/UDP
  • *RPC/DCOM High ports (2008 OS) Ports 49152-65535 Protocol: TCP/UDP
  • NetBIOS name service Port number: 137 Protocol: TCP/UDP
  • NetBIOS session service Port number: 139 Protocol: TCP/UDP
  • SMB over IP Port number: 445 Protocol: TCP
  • MOM Channel Port number: 5723 Protocol: TCP/UDP

Aynı zamanda hedef bilgisayardaki aşağıdaki servislerin çalışıyor durumda olması gerekiyor:

  • Netlogon
  • Remote Registry
  • Windows Installer
  • Automatic Updates

SCOM 2012 R2 – SQL 2014 Desteği

İki gün önce önemli bir destek duyurusu System Center ailesi için yapıldı. Artık System Center Operations Manager 2012 R2 için veritabanı olarak SQL Server 2014 kullanılabilir durumda.

Enterprise veya Standard 64-Bit sürüm desteği sayesinde yapınızda SQL 2014 kurulumu gerçekleştirdiyseniz aynı zamanda SCOM veritabanı olarak kullanabilirsiniz.

OM DW ile SPF entegrasyonunun sağlanması

WAP üzerindeki usage bilgisinin alınabilmesi için VMM ve OM DW entegrasyonundan sonra OM üzerinde aynı zamanda SPF entegrasyonu yapılması gerekiyor. Ancak bu noktadan sonra veritabanımızda utilizasyon bilgisini görebiliriz. Bu entegrasyon için aşağıdaki komutların koşturulması yeterlidir.

Import-module spfadmin

$OMDWSqlServer = "sql.domain.local"

$OMServer = "scom.domain.local"

$stamp = Get-SCSPFStamp;

$server = New-SCSPFServer -Name $OMServer -ServerType OMDW -Stamps $stamp[0];

$setting = New-SCSPFSetting -Name $OMDWSqlServer –Value "Data Source=$OMDWSqlServer;Initial Catalog=OperationsManagerDW;Integrated Security=True" -SettingType DatabaseConnectionString –Server $server

Microsoft Özel Bulut (Private Cloud) Bileşenleri

Sanallaştırma teknolojileri ile birlikte, IT servislerinin konumlandırılması ve yönetiminde kullanılan ve IT harcamalarının büyük bir kısmını oluşturan fiziksel kaynaklar önemli ölçüde konsolide olmuştu. Sanallaştırma teknolojisinin bizi getirdiği son nokta ise Bulut teknolojileri.

Bulut teknolojisi adaptasyonu ile birlikte var olan veri merkezinizi uçtan uca yönetebilir, kaynak tüketen altyapı ve servisleri bulut ortamına taşıyabilir yada siz, veri merkezinizi kullanarak bulut üzerinden hosting hizmeti verebilirsiniz.

Bu noktada karşımıza Hybrid, Private ve Public Cloud kavramları çıkıyor.

Public Cloud servislerine aylık/yıllık üyelik gerçekleştirerek kaynaklarınızı bulut hizmet sağlayıcı üzerinden kullanabilir, ek kaynak ihtiyacı durumunda satın aldığınız pricing-model’e göre ek ücretler ödeyerek yapınıza kaynak ekleyebilirsiniz.

Private Cloud ise hali hazırda var olan altyapınızı, sanallaştırma teknolojileri ile donatmak ve tüm bu sanal altyapıyı uçtan uca yönetebilmek anlamına geliyor. Yönetmek kavramını biraz daha açmak gerekirse, tüm altyapıyı ve servisleri proaktif ve canlı olarak izlemeli, izlenen verileri analiz ederek gerekli aksiyonları alabilmeli, belirli aksiyonları kriterlere bağlayarak otomatize hale getirebilmelisiniz.

Bu iki teknolojinin bir arada kullanılmasını gerektiren yapılarda ise Hybrid Cloud tasarımı kullanılabilir.

Microsoft Private Cloud çözümü için güncel 2012 ürün ailesi ile birlikte çok önemli geliştirmeleri duyurdu. Private Cloud ile önceden manuel işlem gerçekleştirilmesini zorunlu kılan aksiyonlar otomatize edilmeli ve böylece operasyonel maliyetlerin azaltılması sağlanmalıdır. Tüm bu automation ise önceden oluşturulan servis katalogları ile birlikte self-service yani kendi kendine hizmet verebilecek şekilde tasarlanmalıdır. Kendi kendini yöneten IT altyapısı aynı zamanda organizasyon içerisinde bulunan diğer farklı departmanlara da SLA’ lere bağımlı kalarak hizmet verebilir olmalıdır.

Bu yazımızda yukarıdaki gereksinimleri karşılamak için Microsoft’un sunduğu bileşenleri inceleyelim.

Windows Server / Hyper-V

Windows Server 2012 Microsoft tarafından sunulan en güncel ve güvenli işletim sistemi olarak karşımıza çıkıyor. Sahip olduğu yenilenmiş ve geliştirilmiş Hyper-V rolü ile birlikte tüm Private Cloud altyapısı için Hypervisor yani sanallaştırma katmanı görevi görmektedir. 2012 versiyonu ile birlikte sunulan basitleştirilmiş merkezi yönetim ile birlikte tek bir konsol içerisinden ortamda bulunan tüm Windows Server 2012 sunucular kolaylıkla yönetilebilir. Bu aynı zamanda sanallaştırma altyapısı için de esnek, güvenli ve basit bir arayüz deneyimi sunmaktadır.

Microsoft System Center Virtual Machine Manager

System Center 2012 içerisinde yer alan Virtual Machine Manager ile varolan sanallaştırma sunucuları, sanal makineler yönetilebilir ve bulut mimarisi için hizmet dağıtımı yapılabilir. Sağladığı çoklu sanallaştırma ortam desteği ile kompleks ve karmaşık sanallaştırma ortamlarını dahi kolaylıkla yönetebilen SCVMM aynı zamanda oluşturulan servis şablonları ile sanal makine provision işlemlerini de rahatlıkla sağlayabilir.

Microsoft System Center App Controller

App Controller sayesinde, sunulan web konsolu kullanılarak hizmetler oluşturulabilir ve Private/Public Cloud ortamlarına dağıtılabilir. App Controller sayesinde farklı cloud ortamlarında bulunan Hybrid uygulamalar merkezi bir konsol içerisinden yönetilebilir.

Microsoft System Center Operations Manager

SCOM 2012 versiyonu veri merkezlerini uçtan uca izleyebilecek şekilde tasarlandı. Geliştirilen network monitoring özelliği ve hizmet seviyesi izleme yapabilmesi sayesinde Private Cloud ortamlarının performans ve availability durumlarını uçtan uca izleyebilirsiniz.

Microsoft System Center Orchestrator

Private Cloud ortamların iskeletini oluşturan, manuel işlemlerin otomatize edilmesi görevini gerçekleştiren ürün System Center Orchestrator’dır. Oluşturulan workflow/runbook lar ile private cloud ortamlarındaki kaynaklar talep edilen ihtiyaçlara, açılan çağrılara, monitoring tool’dan gelen alertlere göre oluşturulabilir. Orchestrator aynı zamanda Private Cloud ortamlarında bulunan Microsoft olmayan sistemlere de Integration Packler sayesinde erişebilir, bu sistemleri akışlar içerisine yerleştirebilir.

Microsoft System Center Service Manager

Service Manager, ITIL içerisinde yer alan IT Hizmet yönetimi yöntemlerini organizasyonunuzda uygulamanızı sağlar. Service Manager sayesinde cloud mimarisi içerisinde self-service yönetim tam anlamıyla sağlanmış olur. Varolan Private Cloud ortamınızda değişiklik kontrolü, olay yönetimi ve problem çözümünü tümleşik gelen processler ile sağlayabilirsiniz.

Microsoft System Center Data Protection Manager

Data Protection Manager ile birlikte disk bazlı yada tape bazlı veri koruması sağlayabilirsiniz. Private Cloud ortamınızda bulunan kritik sunuucların ve sanal makinelerin canlı yedeklerini alabilir, Bare Metal Recovery yapabilirsiniz.

Diğer yazılarımızda Cloud mimarisi fiyatlandırma modellerine ve değişen IT rollerine göz gezdireceğiz.

zp8497586rq

SCOM agent başına toplam workflow sayısı

SCOM içerisinde herhangi bir Management Group üzerindeki toplam workflow sayısını rapor olarak alabilirsiniz. Tüm health service instanceları üzerinde çalışan workflow sayısının günlük summarize edilmiş halini elde etmek mümkün.

Aslında bu bilgi Health ServiceWorkflow Count ismindeki performance counter içerisinde saklanıyor.

Aşağıdaki query ile SCOM MP’nin zaten veritabanına attığı veriyi summarize edebilirsiniz.

SELECT CONVERT(Date, Perf.vPerfDaily.DateTime, 111) AS [Date], ROUND(SUM(Perf.vPerfDaily.AverageValue),0) AS "Workflow Count"

FROM vRule

INNER JOIN vPerformanceRuleInstance ON vRule.RuleRowId = vPerformanceRuleInstance.RuleRowId

INNER JOIN Perf.vPerfDaily ON vPerformanceRuleInstance.PerformanceRuleInstanceRowId = Perf.vPerfDaily.PerformanceRuleInstanceRowId

WHERE vRule.RuleDefaultName = ‘Collect Health ServiceWorkflow Count’

GROUP BY Perf.vPerfDaily.DateTime

ORDER BY Perf.vPerfDaily.DateTime DESC

SQL Server 2012 AlwaysOn–System Center 2012 SP1

SQL Server 2012 ile birlikte sunulan en önemli yeniliklerden birisi AlwaysOn teknolojisi. Bu yazımız daha çok System Center ağırlıklı olsa da öncelikle AlwaysOn ile birlikte veritabanı seviyesinde ne gibi avantajlarımız var inceleyelim.

2012 versiyonu öncesi SQL Sunucularda yüksek erişebilirlik sağlamak için sıklıkla Database Mirroring ve Log Shipping yöntemleri kullanılıyordu. Ancak bu yöntemlerin bağımlı olduğu bazı bileşenler vardı. Daha da büyük sıkıntı son dönemlerin popüler konusu olan Cloud yapısına geçilmek istenirse mevcut HA yöntemleri farklı sitelar arasındaki erişilebilirliği istenildiği kadar yeterli şekilde sağlayamıyordu.

Önceki versiyonların sunduğu HA çözümlerindeki sıkıntıları hızlıca inceleyelim.

Database Mirroring çok sık kullanılan bir yöntem. Bir instance içerisinde bulunan SQL veritabanlarını farklı bir instance’a senkronize işlemini database mirroring ile gerçekleştirebiliyorduk. Ancak yaşanan en büyük sıkıntı aynı instance içerisinde bulunan ve birbirine bağımlı olarak çalışan farklı veritabanlarının bir failover durumunda grup halinde taşınamamasıydı. Aynı zamanda mirror edilen veritabanına da erişim mümkün değildi.

Database Mirroring ile her bir veritabanının ancak bir mirror kopyası oluşturulabiliyordu.

Log Shipping yöntemi ise konfigure edilmesi oldukça kompleks olmakla birlikte receiving veritabanının recovery state durumda olduğu için kullanılamamasıydı.

SQL Server 2012 AlwaysOn teknolojisi ile bu noktalarda önemli gelişmeler var.

Bana göre sunulan en önemli yenilik artık sahip olunan AlwaysOn Availability Group mimarisi sayesinde shared storage ihtiyacının ortadan kalkması. Özellikle bulut mimarisinde, private ve public cloud yapılarında SQL cluster mimarisi için costu arttıran en önemli bileşenlerden birisi shared storage ihtiyacı idi. AlwaysOn ile birlikte nodelar üzerindeki DAS ları storage olarak kullanmak mümkün kılındı.

AlwaysOn ile birlikte artık Primary olarak set edilen veritabanının secondary kopyalarını oluşturabiliyoruz. Bu noktada mimari Exchange 2010 ile birlikte sunulan DAG yapısına benzer. Tek bir primary kopyasının 4 farklı secondary kopyası farklı instanceler üzerinde oluşturulabilir.

Primary replica okuma ve yazma için uygun durumdayken aynı zamanda secondary kopyalar da read-only mode için konfigure edilebilir. Bu şu demek, secondary kopyalar üzerinde Database Backup, reporting ve snapshot işlemlerinin gerçekleştirilmesi mümkün.

Güvenlik anlamında da SQL Server 2008 ile birlikte sunulan Transparent Database Encryption (TDE) Enterprise sürüm ile birlikte sunuluyor. TDE’den kısaca bahsetmek gerekirse:

Oracle ve Microsoft tarafından sunulan veritabanı Encrypt yöntemi. Microsoft SQL 2008 ve 2012 sürümü ile TDE desteğini açıkladı. SQL tarafında sağladığı fayda ise bağımlı aplikasyonları etkilemeden var olan herşeyi encrypt etmesi.

Aktif etmek için bir master key oluşturulması, gerekli sertifikanın oluşturulması ve yedeklenmesi yeterli olacaktır. TDE için en kritik nokta master ley için oluşturulan sertifikanın asla ve asla kaybedilmemesi.

AlwaysOn arka tarafta Windows Cluster servisine bağımlı çalışıyor. Aktif etmek için yapılması gereken iki farklı standalone SQL kurulumunun yapılması ve ardından AlwaysOn enable edilerek Availability grupların oluşturulması.

Bu yazının asıl amacına gelirsek:

Bildiğimiz gibi System Center 2012 ile birlikte cloud mimarinizi uçtan uca yönetmeniz mümkün. AlwaysOn ile birlikte veritabanı bazında da datacenterlar arasındaki HA konfigurasyonu artık oldukça kolay ve başarılı.

En önemli nokta ise System Center 2012 SP1 ile birlikte SQL Server 2012 AlwaysOn’un desteklenmesi.

Özellikle Cloud Management için kullanılan System Center ürünleri olan:

  • System Center 2012 SP1 Operations Manager
  • System Center 2012 SP1 Orchestrator
  • System Center 2012 SP1 Virtual Machine Manager
  • System Center 2012 SP1 Data Protection Manager
  • System Center 2012 SP1 Service Manager
  • System Center 2012 SP1 App Controller

Tek eksik Configuration Manager 2012. Bunun sebebi olarak kişisel görüşüm ise ConfigMgr’nin Cloud Management vizyonu içerisinde kendisine çok fazla yer bulamaması.

Yukarıdaki ürünler için ise veritabanlarını SQL Server 2012 içerisinde barındırmak istersek AlwaysOn özelliğinden yararlanabilmeniz mümkündür.