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.

Orchestrator Runbook Schedule

Bildiğiniz gibi Orchestrator içerisindeki runbookların başlaması için bir tetikleyici gerekiyor. Bu tetikleyici kimi zaman bir file, folder, incident kimi zaman ise schedule edilmiş bir tarih olabiliyor.

Ancak runbookların schedule edilmesinde çıkan sorunların başında şu geliyor;

Örneğin ilk runbook için bir tarih set ettiniz ancak diğer runbookların bu tarihten sonraki belirli periyodlarda çalışmasını istiyorsunuz. Ancak bu noktada çıkan temel problem her ayın gün sayısının farklı olması. Örneğin 24 saat sonrasında çalışmasını istiyorsanız bu kimi zaman ayın 3'ü çarşambaya denk gelecekken kimi zaman ayın 2'sine denk gelebilmektedir.

Farklı bir schdule senaryosu.. Runbook'un ayın son iş günü çalışmasını istiyorsunuz. Örneğin 31 cumartesi ise 30'unda çalışması gibi. Bu noktada trigger aşamasında bu ayın kaç gün olduğuna dair bir kontrol ile başlamanız işinizi kolaylaştırır. Aşağıdaki powershell script ile içinde bulunulan ayın kaç gün olduğu çıktısı alabilirsiniz.
essay writing help online

$a = Get-Date

$year = $a.year

$result = $a.month | foreach { “{0}” -f [datetime]::DaysInMonth($year,$_),(get-date -month $_ -f MMMM),$year }

$result

Ardından çıkan sonuca göre conditionlar oluşturarak devam edebilirsiniz.

765qwerty765

Orchestrator Loglarının Temizlenmesi

Orchestrator loglarının temizlenmesi için bir çok farklı yol kullanılabilir. Aşağıdaki benim projelerde kullandığım yöntemi bulabilirsiniz:

  • Orchestrator veritabanını yedekleyin
  • Tüm Orchestrator servislerinin ve runbook servislerinin durdurulduğundan emin olun
  • SQL Management Studio içerisinde aşağıdaki komutları koşturun

USE Orchestrator

DELETE FROM POLICYINSTANCES

TRUNCATE TABLE OBJECTINSTANCEDATA

TRUNCATE TABLE OBJECTINSTANCES

TRUNCATE TABLE EVENTS

SCOM 2012 DB taşıma işlemi

SCOM 2012 kurulumundan sonra veritabanını farklı bir sunucuya taşımak isterseniz aşağıdaki adımları izleyebilirsiniz:

  • Operations Manager servislerini durdurun
  • SQL Management Studio ile ilgili DB full yedeğini alın.
  • Yeni sunucu üzerinde Microsoft SQL Management Studio kullanarak DB'yi restore edin.

Bu noktadan sonra regedit üzerinde bazı güncellemeler gerçekleştirmeniz gerekiyor.

  • Management Server üzerinde HKEY_LOCAL_MACHINESOFTWAREMicrosoftSystem Center2010CommonDatabase anahtarı için yeni SQL Server sunucu hostname girilir.

Her bir Management Server sunucu üzerinde aşağıdaki configurasyon dosyası editlenerek “cmdb” tagı içerisindeki servername değişkeni için SQL Server ismi girilir.

%ProgramFiles%System Center 2012Operations ManagerServerConfigService.config

DB yeni sunucu ismi ile update edilir:

  • SQL Server Management Studio açılır
  • Databases, OperationsManager, Tables, dbo.MT_Microsoft$SystemCenter$ManagementGroup sağ tıklanarak Edit Top 200 Rows tıklanır.

Yeni SQL Sunucu üzerinde Management Sunucu içerisinde DB için Securit/Logins sekmesinde Data Writer hesabı eklenmelidir.

Aşağıdaki SQL komutları yeni DB üzerinde çalıştırılır:

sp_configure ‘show advanced options’,1

reconfigure

sp_configure ‘clr enabled’,1

reconfigure

Aşağıdaki SQL komutları yeni DB üzerinde çalıştırılır:

SELECT is_broker_enabled FROM sys.databases WHERE name='OperationsManager'

Orchestrator Monitor Folder Activity Çalışma Mantığı

Monitor Folder aktivitesini kullanan müşterilerde genellikle çalışma mantığında bazı soru işaretleri oluşabiliyor. Özellikle folder içerisine eklenen yeni dosyaların Orchestrator tarafından fark edilmediğine dair geri dönüşler geliyor. Bu noktada Monitor Folder aktivitesinin çalışma mantığını kısa bir örnek üzerinden anlatmak faydalı olacaktır:

Senaryo: server1sharefolder dizini Orchestrator runbook içerisinde Monitor Folder aktivitesi ile izleniyor. Beklenen içerideki dosya sayısı 0'dan büyük olduğunda trigger etmesi

  • Bu klasör içerisine File1.txt eklenir. Monitor Folder içerideki dosyaların 0'dan büyük olduğunu fark eder ve trigger eder. Trigger condition false'den true'ya geçer.
  • File2.txt eklenir. Monitor Folder bu dosya içerisinde şimdi iki dosya olduğunu fark eder ancak trigger etmez. Trigger condition zaten true durumda olduğu için pas geçilir

Yukarıdaki senaryonun çalışması için aşağıdaki şekilde ilerlenmesi gerekmektedir

  • Bu klasör içerisine File1.txt eklenir. Monitor Folder içerideki dosyaların 0'dan büyük olduğunu fark eder ve trigger eder. Trigger condition false'den true'ya geçer.
  • File1.txt silinir ya da taşınır. Monitor Folder içerideki dosya sayısının 0 olduğunu görür ve trigger condition true'dan false'a döner.
  • File2.txt eklenir. Monitor Folder klasör içerisindeki sayının 0 iken 1' e çıktığını farkeder. Trigger condition false'dan true'ya döner ve trigger eder.

System Center 2012 SP1 Upgrade Sıralaması

Eğer ortamınızda Microsoft System Center 2012 bileşenlerinden iki ya da daha fazlasını barındırıyorsanız System Center 2012 Service Pack 1 Upgrade işleminde izleyeceğiniz sıralamanın önemi, upgrade sonrası bileşenlerin beklendiği gibi çalışması adına oldukça önemli.

Bu sebeple aşağıdaki sıranın izlenmesi MS tarafından test edilmiştir:

1.   Orchestrator

2.   Service Manager

3.   Data Protection Manager (DPM)

4.   Operations Manager

5.   Configuration Manager

6.   Virtual Machine Manager

7.   App Controller

SUSE Linux Enteprise Server – SCOM Agent Installation

SLES 11 üzerinde SCOM agentlarını remote kurmak isterseniz aşağıdaki noktalara dikkat etmenizde fayda var:

  • SCOM 2012 üzerinde en son cumulative update'in yüklü olduğundan emin olun
  • En güncel cross platform management packlerin import edildiğinden emin olun
  • SLES üzerinde aksiyon alabilmek içn Runas Account ve Profilleri konfigure edin

Biraz daha detaylandırırsak

  • SCOM üzerinde en güncel Linux Management Packler yüklenir
  • Yönetilen her Linux sunucu için forward ve reverse lookup zone konfigurasyonlarının tamamlandığından emin olun
  • SCOM üzerinde 3 accountı Basic Authentication ve more secure seçenekleri ile ekleyin
    • Unix/Linux Privileged Monitoring Account
    • Unix/Linux Unprivileged Monitoring Account
    • Unix/Linux Privileged Maintenance Account
  • SCOM üzerinde 3 varolan run-as profili editleyin
    • Unix/Linux Action Account – Assign the unprivileged monitoring account
    • Unix/Linux Privileged Account – Assign the privileged monitoring account
    • Unix/Linux Maintenance Account – Assign the privileged maintenance account
  • Administration/Discpvery Wizard kullanılarak Linux sunucular search edilir
    • IP adresleri, hostnameler vb search edilirken root/privileged credentials bilgisi girilir.

Orchestrator Servis Hesaplarının Değiştirilmesi

Orchestrator kurulumu sırasında bazı servis hesapları tanımlamaları yapılması gerekiyor. Eğer Orchestrator kurulumu sonrasında bu servis hesaplarının değiştirilmesini istiyorsanız aşağıdaki adımları izleyebilirsiniz:

  • Run as Administrator ile CMD konsolunu açın
  • System Center 2012 Orchestrator için Management Server üzerindeki kurulum dizinine inin
  • Aşağıdaki komutu değiştirmek istediğiniz kullanıcı hesap ve grupları ile birlikte çalıştırın

PermissionsConfig.exe -OrchestratorUsersGroup “DOMAINGROUPNAME” -OrchestratorUser “DOMAINUSERNAME” –remote