Script monitores e regras
Aplica-se a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
Os scripts de monitorização são utilizados quando não é possível recolher os dados necessários através de outros meios padrão, como um contador de desempenho ou eventos. O script recolhe dados de informações no agente e cria uma matriz de propriedades, utilizando a MOM. Objeto de ScriptAPI que é instalado com o Operations Manager agente.
Os scripts de monitorização podem ser escrito qualquer idioma de script que pode aceder a MOM. Objeto de ScriptAPI que está instalado em todos os Operations Manager agentes. Pode utilizar a consola de operações para criar scripts em VBScript ou JScript. Para utilizar um Windows PowerShell script, tem de utilizar outra ferramenta de criação de conteúdos, tais como o Consola de criação do System Center Operations Manager 2007 R2 ou Autor de MP.
Matrizes de Propriedades
Scripts de monitorização enviam os dados de saída como uma propriedade de matriz para que possam ser avaliada numa expressão para um monitor ou mapeada para dados de desempenho ou um evento para uma regra de recolha. Uma matriz de propriedades é um conjunto de valores, cada um com um nome. Pode ser atribuído qualquer nome embora seja recomendável utilizar um nome descritivo do valor em questão. Uma matriz de propriedades existe apenas durante a vigência do fluxo de trabalho. Da próxima vez que executa o fluxo de trabalho, o script é executado e cria uma nova matriz de propriedades com novos valores.
Uma matriz de propriedades pode ter qualquer valores de números, apesar de todo o conjunto de dados não pode exceder 4 MB. A maioria dos scripts exigirá apenas alguns valores com um tamanho total até ao momento neste limite. Não é necessário para todos os valores ser utilizado pelo fluxo de trabalho.
Scripts criar matrizes de propriedades utilizando o método CreatePropertyBag na MOM. Objeto de ScriptAPI. O fluxo de trabalho utiliza valores a partir de uma matriz de propriedades com uma variável de $Data que utiliza a seguinte sintaxe:
$Data/Property[@Name="PropertyName"]
Por exemplo, um script criar dados de desempenho poderá criar uma matriz de propriedades com valores na tabela seguinte. Esta tabela mostra o nome do valor criado pelo script e $Data variável correspondente que deverá ser utilizada para mapear os dados da matriz de propriedade para dados de desempenho.
Nome do valor de propriedade matriz |
Valor de exemplo |
Variável |
---|---|---|
ObjectName |
MyObject |
$Data/Property[@Name='ObjectName']$ |
CounterName |
MyCounter |
$Data/Property[@Name='CounterName']$ |
InstanceName |
MyInstance |
$Data/Property[@Name='InstanceName']$ |
Valor |
10 |
$Data/Property[@Name='Value']$ |
Estrutura de script
O código seguinte mostra uma amostra script para ilustrar a estrutura básica de um script de monitorização de monitorização. Este script de exemplo tem as seguintes características.
Aceita argumentos para o nome do computador que está a executar o script e um caminho da localização da aplicação.
Cria uma matriz de propriedades com os valores com o nome ComputerName, InstanceName e PerfValue.
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)
Detalhes de cada secção do script são debatidos aqui.
sComputerName = WScript.Arguments(0)
sApplicationPath = WScript.Arguments(1)
As duas primeiras linhas do script aceitar argumentos. Estes valores seriam ser esperados para ser no parâmetro de argumentos da regra ou monitor em execução de script. O script pode utilizar qualquer número de argumentos que são necessários para a lógica do script.
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
As duas linhas criar uma matriz de propriedades. Estas linhas também irão ser inalteradas na maioria dos scripts de monitorização. O principal objetivo do resto do script será para somar valores para a matriz de propriedades utilizando dados que são recolhidos a partir do computador de agente.
oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0
Depois da matriz de propriedades é criada, qualquer número de valores pode ser adicionado ao mesmo. Pode fazê-lo com o AddValue método do objeto de matriz de propriedade utilizando o nome do item seguido o respetivo valor. Este exemplo utiliza valores explícitos. No script de monitorização real, seria ser esperado código adicional que pretender recolher informações a partir do computador de agente para incluir estes valores.
oAPI.Return(oBag)
Depois de adicionar todos os valores para a matriz de propriedades,-é devolvido para o fluxo de trabalho. Esta linha é necessária e, sem ele a matriz de propriedades é rejeitada quando termina o script. Este método só é utilizado quando o script cria apenas uma matriz de propriedades único. Para mais informações sobre scripts que devolvem matrizes de propriedades e condições várias quando é utilizada como uma estratégia, consulte o Cookdown secção a Guia de criação do System Center Operations Manager 2007 R2.
Argumentos do Script
A maioria dos scripts utilizam argumentos, que são valores que são enviadas para o script na linha de comandos quando o script é executado. Utilizando argumentos permite um script único para ser utilizado para vários cenários de sem modificar o script propriamente dita.
Um script de monitorização, argumentos são críticos porque poderão existir informações que o script requer que serão diferente em cada agente onde o script é executado. Qualquer propriedade do objeto de destino para o monitor ou regra pode ser utilizada para o valor de um argumento de script. Este valor é resolvido individualmente cada agente no momento em que o script é executado.
Os argumentos são acedidos na consola de operações do parâmetros botão. Argumentos individuais devem ser separados por espaços pela ordem que são acedidas no script. Esta é idêntica à linha de comandos que seria fornecida se o script fosse executado numa linha de comando.
Cada argumento pode ser um valor explícito ou uma variável de $Target para utilizar o valor de uma propriedade do objeto de destino. Qualquer variáveis $Target são convertidas quando o script é executado para que o script é fornecido com os valores convertidos na linha de comandos. Pode escrever na variável $Target se souber a sintaxe correta. É mais fácil entanto selecionar a propriedade de destino botão que irá listar todas as propriedades do objeto de destino e respetivos pais.
![]() |
---|
Todas as variáveis $Target que possam ser convertidas num valor que inclui um espaço devem ser colocadas entre aspas. Se um valor incluir espaços e não tiver aspas, em seguida,-será visualizada pelo script como dois argumentos separados. As aspas serão Certifique-se de que o valor é visto como um argumento único. Se selecionar a propriedade de destino menu, não irá incluir as aspas por si. Tem de escrever estes no depois de selecionar a propriedade. |
Por exemplo, o script de exemplo anterior prevê dois argumentos para o nome do computador e o caminho da aplicação. Partindo do princípio de que este faz parte de um monitor ou regra visada numa classe alojada pelo computador Windows classe, o computador foi possível obter o nome da propriedade PrincipalName. Se o caminho da aplicação fosse uma propriedade a classe de destino, em seguida, os argumentos podem ser semelhantes ao seguinte exemplo. Tenha em atenção as aspas em volta a propriedade ApplicationPath, porque esta ação é possível resolver a um valor que contém um espaço.
$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ "$Target/Property[Type="MyApp.MyClass"]/ApplicationPath$"
Partindo do princípio que que forneceu o script um nome de MyScript.vbs, o nome do computador foi MyServer01, e o caminho da aplicação foi C:\Program Files\Contoso\My Application, a linha de comandos que seria executada para este script seria:
MyScript.vbs MyServer01 "C:\Program Files\Contoso\My Application"
Script monitores e regras tópicos
-
Criar uma regra que utiliza um script para recolher dados de evento ou de desempenho.
-
Criar um monitor que avalia os resultados de um script para definir o respetivo estado de funcionamento.
Monitores de comando de Shell de UNIX/Linux
Criar um monitor que avalia o resultado da execução de um comando UNIX/Linux, script ou sequência de uma linha de comandos várias (utilizando operadores de pipeline).