Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
No System Center Operations Manager, o console Web fornece uma interface de monitoramento para um grupo de gerenciamento que pode ser aberta em qualquer computador usando qualquer navegador que tenha conectividade com o servidor do console Web. As etapas a seguir descrevem como adicionar um widget personalizado a um painel no novo console da Web HTML5, que está usando uma nova API baseada em REST. Ele executa o código HTML especificado e visualiza a saída desejada em várias visualizações.
Observação
O Operations Manager 2019 UR1 e posterior oferece suporte a tokens CSRF (Cross-Site Request Forgery) para evitar ataques CSRF. Se você estiver usando o Operations Manager 2019 UR1 ou posterior, deverá inicializar o token CSRF. Os scripts HTML não funcionam sem a inicialização do token CSRF.
Inicializar o token CSRF
Ação necessária, aplicável ao Operations Manager 2019 UR1 e posterior.
- No cabeçalho HTML do painel, adicione o seguinte código:
var requestHeaders = {
Accept: 'q=0.8;application/json;q=0.9',
"Content-Type": "application/json"
};
InitializeCSRFToken();
function InitializeCSRFToken() {
var documentcookies = document.cookie.split('; ');
var result = {};
for (var i = 0; i < documentcookies.length; i++) {
var cur = documentcookies[i].split('=');
result[cur[0]] = cur[1];
}
if (result["SCOM-CSRF-TOKEN"] && result["SCOM-CSRF-TOKEN"] != null) {
requestHeaders["SCOM-CSRF-TOKEN"] = decodeURIComponent(result["SCOM-CSRF-TOKEN"]);
}
}
- Na função onload, altere o valor do cabeçalho para requestHeaders. Se o valor do cabeçalho não existir, adicione-o como mostrado abaixo.
Exemplo:
Usar a referência da API REST do Operations Manager
Use a referência da API REST para saber mais sobre as operações disponíveis que você pode executar com o widget personalizado para apresentar dados operacionais no painel. Se você é novo na API REST, dê uma olhada nas informações sobre como começar a usar essa API se ainda não a viu.
Estrutura do script
Um script de widget personalizado tem três seções principais:
- Definição da API REST e suas propriedades. Esta seção define quais dados precisam ser recuperados do Operations Manager para visualização, como alertas, estado ou dados de desempenho.
- Especifique a lógica de negócios para identificar os resultados a serem apresentados na visualização, como a identificação de uma classe ou grupo, condições como gravidade, estado de integridade ou uma instância específica do objeto de desempenho.
- Visualização de terceiros, que são bibliotecas de código aberto hospedadas em cloudflare.com que são necessárias para renderizar os dados dependendo do tipo de gráfico selecionado.
Propriedades do widget
Para que o script consulte e retorne dados na visualização, o parâmetro URL especifica o endereço do console Web do Operations Manager e o tipo de dados. A sintaxe da URL é http://<nome do servidor>/operationsmanager/data/<dataitem> e o valor de dataitem é um dos seguintes:
- alerta representa um alerta de monitorização
- estado representa a monitorização de dados do estado de saúde
- O desempenho de representa a monitorização dos dados de desempenho
<!DOCTYPE HTML>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
var criticalCounter = 0;
var informationCounter = 0;
var warningCounter = 0;
window.onload = function () {
$.ajax({
url: "/OperationsManager/data/alert",
type: "POST",
Para definir o escopo dos dados de monitoramento para cada tipo de dados, você pode selecionar uma classe para ver todas as instâncias dessa classe, ou para ver apenas um subconjunto de objetos da classe selecionada, você também pode incluir um grupo. Por exemplo, para especificar todos os objetos da classe Windows Server DC Computer, você modificaria o valor da propriedade para classId.
Observação
Isso só é aplicável aos dados do estado, não ao alerta ou ao desempenho. Para dados de desempenho, especifique um grupo ou objeto monitorado.
<!DOCTYPE HTML>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
var criticalCounter = 0;
var informationCounter = 0;
var warningCounter = 0;
window.onload = function () {
$.ajax({
url: "/OperationsManager/data/alert",
type: "POST",
data: JSON.stringify({
"classId": "Microsoft.Windows.Library!Micr…ft.Windows.Server.DC.Computer",
"objectIds": { }),
Para especificar um grupo que contém um subconjunto de objetos da mesma classe especificada para a propriedade classId, modifique o valor objectIds e especifique o GUID do grupo. O valor deve estar entre aspas.
<!DOCTYPE HTML>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
var criticalCounter = 0;
var informationCounter = 0;
var warningCounter = 0;
window.onload = function () {
$.ajax({
url: "/OperationsManager/data/alert",
type: "POST",
data: JSON.stringify({
"classId": null,
"objectIds": { "3c8ac4f3-475e-44dd-4163-8a97af363705": -1 }),
Depois de especificar a classe de destino e, opcionalmente, um grupo para definir o escopo adicional dos resultados, você pode especificar os critérios para limitar o tipo de dados a serem exibidos de acordo com os valores de uma ou mais propriedades.
Exemplos de widgets
O widget suporta renderização de dados de monitoramento nos seguintes tipos de gráficos:
- Gráfico de barras (dados do estado)
- Gráfico de spline (dados de desempenho)
- Gráfico de barras (dados de alerta)
- Gráfico de pizza e gráfico de pizza 3D
- Donut e Donut 3D
- Gráfico de combinação
- Gráfico de barras empilhado
Você pode configurar um tipo de gráfico para apresentar dados de estado, desempenho e alerta. Para cada exemplo abaixo, são retornados alertas do grupo Computadores Windows para qualquer nível de gravidade, correspondendo a estados de resolução específicos.
Selecione a guia necessária para visualizar o código HTML para o respetivo tipo de gráfico:
- Gráfico de barras (dados do estado)
- Gráfico Spline (dados de desempenho)
- Gráfico de barras (dados de alerta)
- Gráfico circular
- gráfico circular 3D
- Gráfico Donut
- Gráfico 3D Donut
- Gráfico de combinação
O código HTML a seguir demonstra a renderização de um gráfico de barras com dados de estado:
<!DOCTYPE HTML>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
var criticalCounter = 0;
var healthyCounter = 0;
var warningCounter = 0;
var unmonitoredCounter = 0;
window.onload = function () {
$.ajax({
url: "/OperationsManager/data/state",
type: "POST",
data: JSON.stringify({
"classId": "System.Library!System.Computer",
"objectIds": {
// Key value pairs => id: 0 (For objects)/-1 (For groups)
"1d62280e-f437-1369-316b-1e8659500e9a": -1
},
"criteria": "((HealthState = '0') OR (HealthState = '1') OR (HealthState = '2') OR (HealthState = '3') OR HealthState is null)",
"displayColumns": [
"healthstate",
"displayname",
"path",
"maintenancemode"
]
}),
success: function (result) {
for (var i = 0; i < result.rows.length; i++) {
switch (result.rows[i].healthstate) {
case "critical":
criticalCounter++;
break;
case "healthy":
healthyCounter++;
break;
case "warning":
warningCounter++;
break;
case "unmonitored":
unmonitoredCounter++;
break;
}
}
renderChart();
}
});
}
function renderChart() {
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Health State of Windows Computers"
},
data: [{
type: "column",
dataPoints: [
{ y: criticalCounter, label: "Critical", color: "Red" },
{ y: healthyCounter, label: "Healthy", color: "Green" },
{ y: warningCounter, label: "Warning", color: "Yellow" },
{ y: unmonitoredCounter, label: "Unmonitored", color: "Gray" }
]
}]
});
chart.render();
}
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/canvasjs/1.7.0/canvasjs.min.js"></script>
<title>CanvasJS Example</title>
</head>
<body>
<div id="chartContainer" style="height: 400px; width: 100%;"></div>
</body>
</html>
Adicionar widget ao painel
Abra um navegador da Web em qualquer computador e digite
http://<web host>/OperationsManager
, onde hospedeiro Web é o nome do computador que hospeda o console da Web.No painel esquerdo do console Web, selecione + Novo painel.
Na página Criar Novo Painel, forneça um nome e uma descrição para o painel que você deseja criar.
Você pode salvar o painel num pacote de gestão existente não selado, selecionando-o na lista suspensa Pacote de Gerenciamento, ou pode salvar o painel criando um novo pacote de gestão ao escolher Novo junto à lista suspensa Pacote de Gerenciamento, fornecendo um nome, uma descrição e, opcionalmente, um número de versão.
Depois de especificar onde salvar o novo painel, selecione OK.
Selecione Salvar depois de fornecer um nome e uma descrição para o novo painel.
No painel vazio em branco, você vê o nome do painel, Adicionar widget, Editar painel, Excluir painel e Exibir em tela cheia opções no topo da página.
Selecione Widget Personalizado na lista suspensa Selecionar Widget.
No painel Widget personalizado, selecione critérios para o widget adicionar o código HTML usando um dos exemplos anteriores para visualizar dados de monitoramento em uma das visualizações de gráfico suportadas.
Conclua a configuração fornecendo um Nome, Descriçãoe intervalo de atualização do widget (o intervalo padrão é de 5 minutos) para o widget. Selecione Guardar Widget para guardar o seu novo painel de instrumentos.
Depois que o widget foi criado, ele exibe a saída do código HTML.