Aracılığıyla paylaş


Komut dosyası izleyicileri ve kuralları

 

Uygulama Alanı: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

Gereken veriler bir olay veya performans sayacı gibi standart diğer araçlarla toplanamadığında izleme betikleri kullanılır. Betik verilerini aracı üzerinde bilgileri toplar ve MOM kullanarak bir özellik paketi oluşturur. İle yüklenen ScriptAPI nesnesi Operations Manager aracı.

İzleme betikleri MOM erişebilirsiniz herhangi bir komut dosyası dilde yazılabilir. Tüm yüklü ScriptAPI nesne Operations Manager aracıları. Komut dosyaları VBScript veya JScript'e oluşturmak için Operations konsolunu kullanabilirsiniz. Kullanılacak bir Windows PowerShell komut dosyası, başka bir yazma aracı gibi kullanmalıdır System Center Operations Manager 2007 R2 yazma Konsolu veya MP Yazar.

Özellik Paketleri

Bir özellik paket gibi bir izleyici için bir ifade hesaplanan veya performans verileri veya bir toplama kuralı için bir olay eşlenen izleme betikleri tüm çıktı verilerini gönderir. Bir özellik paketi her bir ada sahip bir değerler kümesidir. Ancak belirli bir değerin açıklayıcı adını kullanmak için en iyi yöntem, herhangi bir ad atanabilir. İş akışı ömrü yalnızca bir özellik paketi var. İş akışı çalıştıran, bir sonraki başlatılışında komut dosyası çalışır ve yeni değerlere sahip yeni bir özellik paketi oluşturur.

Tüm veri kümesi 4 MB'den fazla olamaz, ancak bir özellik paketi herhangi bir sayı değeri olabilir. Çoğu komut dosyalarının toplam boyutu bu sınıra kadar altında bazı değerler yalnızca gerektirir. İş akışı tarafından kullanılmak üzere tüm değerleri için gereksinim değildir.

Komut dosyaları üzerinde MOM CreatePropertyBag yöntemini kullanarak özellik paketleri oluşturun. ScriptAPI nesnesi. İş akışı aşağıdaki sözdizimini kullanan bir $Data değişken sahip bir özellik paketi değerleri kullanır:

$Data/Property[@Name="PropertyName"]

Örneğin, bir komut dosyası oluşturma performans verilerini aşağıdaki tabloda değerlere sahip bir özellik paketi oluşturabilirsiniz. Bu tablo komut dosyası ve performans verilerini özellik paketi verileri eşlemek için kullanılacak olan karşılık gelen $Data değişkeni tarafından oluşturulan değer adını gösterir.

Özellik paketi değer adı

Bu örnek değer

Değişken

ObjectName

MyObject

$Data/Property[@Name='ObjectName']$

CounterName

Sayacım

$Data/Property[@Name='CounterName']$

InstanceName

MyInstance

$Data/Property[@Name='InstanceName']$

Değer

10

$Data/Property[@Name='Value']$

Betik yapısı

Aşağıdaki kod izleme betiği temel yapısını göstermek üzere komut dosyası izleme bir örnek gösterir. Bu örnek komut dosyası, aşağıdaki özelliklere sahiptir.

  • Komut dosyasını çalıştıran bilgisayarın adını ve bir uygulama konumu yolu için bağımsız değişken kabul eder.

  • ComputerName, InstanceName ve PerfValue adlı değerlere sahip bir özellik paketi oluşturur.

sComputerName = WScript.Arguments(0) 
sApplicationPath = WScript.Arguments(1)

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0

oAPI.Return(oBag)

Komut dosyası her bir bölümünü ayrıntılarını burada açıklanan.

sComputerName = WScript.Arguments(0) 
sApplicationPath = WScript.Arguments(1)

Komut dosyasının ilk iki satır bağımsız değişkenleri kabul edin. Bu değerleri kural veya İzleyici komut dosyasını çalıştıran bağımsız değişkenleri parametresinde olması bekleniyor. Komut dosyasını herhangi bir sayıda betik mantığını için gerekli olan bağımsız değişkenler kullanabilirsiniz.

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

Sonraki iki satır bir özellik paketi oluşturun. Bu satırlar da içinde çoğu izleme betikleri değişmez. Komut dosyasını geri kalanı ana amacı, aracı bilgisayardan toplanan verileri kullanarak değerleri için özellik paketi eklemek için olacaktır.

oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0

Özellik paketi oluşturulduktan sonra herhangi bir sayıda değerleri eklenebilir. AddValue bunu öğesinin adını kullanarak bir özellik paketi nesnesi üzerinde yöntemi değerini izler. Bu örnek açık değerler kullanır. İçindeki izleme betiği gerçek, ek kod aracı bilgisayardan bu değerleri dahil etmek için bilgi toplamak beklenen.

oAPI.Return(oBag)

Tüm değerleri için özellik paketi eklendikten sonra iş akışına döndürülür. Bu satır gereklidir ve komut dosyası sona erdiğinde özellik paketi atılır. Komut dosyası yalnızca tek bir özellik paketi oluşturduğunda, bu yöntem yalnızca kullanılır. Bu strateji kullanıldığında, birden çok özellik paketleri ve koşulları döndüren komut dosyaları hakkında daha fazla bilgi için bakın Cookdown bölümünü System Center Operations Manager 2007 R2 Authoring Guide.

Betik Bağımsız Değişkenleri

Çoğu betiklerini komut dosyasını çalıştırdığınızda, komut dosyasına komut satırından gönderilen değerler bağımsız değişkenleri kullanın. Bağımsız değişkenler kullanılarak betik değiştirmeden birden çok senaryolar için kullanılacak tek bir komut dosyası sağlar.

Komut dosyası çalıştığı her aracı üzerinde farklı olarak komut dosyası gerektirir bilgileri olabileceğinden içindeki izleme betiği, bağımsız değişkenler kritik önem taşımaktadır. Herhangi bir özellik için İzleyici veya kural hedef nesnenin bir komut dosyası bağımsız değişkenin değeri için kullanılabilir. Bu değer, komut dosyasını çalıştırmak anda ayrı ayrı her Aracısı'nı çözümlenir.

Bağımsız değişkenler Operations konsolundan erişilir parametreleri düğmesine tıklayın. Tek tek bağımsız değişken komut dosyasında erişilen sırada boşluklarla ayrılmalıdır. Bu komut dosyası komut satırında çalıştırıldığında verilen komut satırı aynıdır.

Her bağımsız değişken açık bir değer veya hedef nesnenin bir özelliğin değerini kullanmak için bir $Target değişkeni olabilir. Herhangi bir $Target değişkeni betik böylece komut dosyası komut satırında çözümlenen değerlerle birlikte sağlanan çalıştırıldığında çözümlenir. Uygun sözdizimi biliyorsanız $Target değişkeninde yazabilirsiniz. Ancak özelliğinden seçmek için kolaydır hedef tüm hedef nesnenin ve üst öğelerinden özelliklerini listelenecektir düğmesine tıklayın.

System_CAPS_importantÖnemli

Boşluk içeren bir değere çözümlenebilir herhangi bir $Target değişkeni tırnak işaretiyle kapatılmalıdır. Bir değer boşluk içeriyorsa ve tırnak işareti yok, ardından bu komut dosyası tarafından iki ayrı bağımsız değişken olarak görürler. Tırnak işaretleri değerin tek bir bağımsız değişken olarak göründüğünü sağlayacaktır. Özelliğinden seçerseniz hedef menüsünde, tırnak işaretleri sizin için içermez. Bu özellik seçtikten sonra yazmanız gerekir.

Örneğin, örnek betik erken iki bağımsız değişken için bilgisayar adı ve uygulama yolu bekler. Bu İzleyici veya kural tarafından barındırılan bir sınıfı hedefleyen bir parçası olduğunu varsaymak Windows bilgisayarı sınıfı, bilgisayar adı PrincipalName özelliğinden alınabilir. Uygulama yolu hedef sınıfta bir özellik idiyse bağımsız değişkenler aşağıdaki örneğe benzer görünür. Bunu boşluk içeren bir değere çözmek için ApplicationPath özelliğinin çevresindeki tırnak işaretlerine dikkat edin.

$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ "$Target/Property[Type="MyApp.MyClass"]/ApplicationPath$"

Komut dosyası adını veren girildiğini varsayın MyScript.vbs, bilgisayar adı MyServer01, ve uygulama yolu C:\Program Files\Contoso\My Application, bu komut dosyası olacaktır için çalıştırılacak komut satırı:

MyScript.vbs MyServer01 "C:\Program Files\Contoso\My Application"

Komut dosyası izleyicileri ve kuralları konuları

  • Komut dosyası toplama kuralları

    Bir kural oluşturma performans veya olay verilerini toplamak için betik kullanır.

  • Komut dosyası izleyicileri

    Bir izleyici oluşturma sistem durumunu ayarlamak için bir komut dosyası sonuçlarını değerlendirir.

  • UNIX/Linux Kabuk komutu izleyicileri

    Bir izleyici oluşturma yürütme bir UNIX/Linux komut, komut dosyası ya da tek satırlı (ardışık düzen işleçler kullanarak) birden çok komut dizisi çıktısını değerlendirir.