O APM normalmente se concentra na atividade da aplicação, mas coletar informações sobre o uso do sistema fornece dados de contexto importantes que ajudam a entender e gerenciar o desempenho da sua aplicação, portanto estou incluindo o Monitor de Histórico do IRIS nesta série.
Neste artigo, descreverei brevemente como iniciar o Monitor de Histórico do IRIS ou Caché para criar um registro da atividade em nível de sistema, complementando as informações de atividade e desempenho da aplicação que você coleta. Também apresentarei exemplos de SQL para acessar as informações.
O que é o Monitor de Histórico do IRIS ou Caché?
O Monitor de Histórico está disponível no IRIS ou nas plataformas anteriores Caché e Ensemble. Ele é uma extensão do Monitor do Sistema do IRIS ou Caché. Mantém um registro persistente das métricas relacionadas à atividade do banco de dados (por exemplo, leituras e atualizações de globais) e ao uso do sistema (por exemplo, uso de CPU).
Existem várias ferramentas para coletar essas estatísticas, algumas das quais entram em enorme nível de detalhe, mas podem ser difíceis de entender. O Monitor de Histórico foi projetado para ser simples de usar, para executar continuamente em sistemas em produção e exigir menos esforço e conhecimento especializado para compreender a saída.
Ele armazena informações em um pequeno número de tabelas horárias e diárias que podem ser facilmente consultadas com SQL. Portanto, se você iniciá-lo hoje, o registro histórico estará disponível quando você precisar. E, claro, você ainda pode complementar o registro histórico com uma coleta de dados mais detalhada quando tiver um problema para investigar.
Quais são os custos e benefícios?
O Monitor de Histórico é muito leve e não adicionará uma carga significativa ao sistema em execução. O espaço em disco utilizado também é muito pequeno, com o armazenamento somando cerca de 130 MB por ano, mesmo que você opte por estender o tempo de retenção das estatísticas horárias, conforme recomendado neste artigo.
É fácil de configurar e a saída não requer análise adicional para ser utilizada.
No dia em que você ativar o Monitor de Histórico, verá pouca ou nenhuma vantagem em relação a outras ferramentas que podem fornecer detalhes mais imediatos. O benefício aparece semanas ou meses depois, quando você estiver trabalhando em um plano de capacidade ou investigando um problema de desempenho.
Ele fornece um registro histórico de muitas métricas importantes, incluindo:
- Uso de CPU
- Tamanho dos arquivos de banco de dados e dos journals
- Referências e atualizações de globais
- Leituras e gravações físicas
- Uso de licenças
Também registra um grande número de métricas técnicas mais detalhadas que podem ser úteis ao investigar mudanças no desempenho de uma aplicação.
Como acesso os dados armazenados pelo Monitor de Histórico?
Tabelas
As informações são armazenadas no namespace %SYS. Elas podem ser facilmente acessadas usando SQL e, portanto, podem ser analisadas com qualquer ferramenta popular de relatórios. Existem quatro tabelas principais diárias: SYS_History.Daily_DB, SYS_History.Daily_Sys, SYS_History.Daily_Perf e SYS_History.Daily_WD, que armazenam os resumos diários. Existem tabelas equivalentes que armazenam os resumos horários.
Campos diários e horários
As tabelas diárias e horárias possuem, respectivamente, um campo diário ou horário no formato ‘64491||14400’, em que as duas partes correspondem aos valores de data e hora em $h no momento em que o processo em segundo plano foi executado para gerar os dados. A parte referente ao horário não tem muito significado nas tabelas diárias.
Campo Element_key
Algumas tabelas incluem os valores médios e máximos observados em cada período de tempo, além do desvio padrão. O tipo de registro é indicado pelo valor do campo element_key.
Portanto, uma consulta típica para visualizar o crescimento no uso médio diário de CPU seria:
SELECT Substr(DS.Daily,1,5) as DateH, (100-DS.Sys_CPUIdle) as AvgCPUBusy
FROM SYS_History.Daily_SYS DS
WHERE element_key='Avg'
ORDER BY DateH
Como configuro e inicio o Monitor de Histórico?
Abra uma sessão de terminal do Caché e altere para o namespace %SYS. Em seguida, execute o comando
Do ^%SYSMONMGR
Serão apresentados vários menus de caracteres. Digite os números para fazer as seguintes seleções:
- Manage Application Monitor
2) Manage Monitor Classes
Em seguida, selecione a opção de ativar duas vezes e informe os nomes das classes
1)Activate/Deactivate Monitor Class
%Monitor.System.HistoryPerf
Yes
1) Activate/Deactivate Monitor Class
%Monitor.System.HistorySys
Yes
Existem várias outras classes, mas não se sinta tentado a ativá-las sem testar primeiro. Algumas utilizam o PERFMON e não são adequadas para execução em um sistema em produção.
Em seguida, utilize a opção de sair até retornar ao primeiro menu. Para ativar as alterações, pare e depois inicie o monitor do sistema a partir do primeiro menu.
1) Start/Stop System Monitor
1) Start/Stop System Monitor
O Monitor de Histórico será executado continuamente, mesmo que o sistema seja reiniciado.
Você pode querer manter as estatísticas horárias por mais tempo do que o padrão de 60 dias. Para isso, utilize o método SetPurge(). Por exemplo, para manter as estatísticas horárias por um ano:
%SYS>do ##class(SYS.History.Hourly).SetPurge(365)
Exemplo de SQL mais complexo
Para um exemplo mais complicado, se você também quiser a média diária de CPU e o uso médio de CPU entre 9h e 12h, além de informações sobre referências e atualizações de globais:
SELECT Substr(DS.Daily,1,5) Day,
(100-DS.Sys_CPUIdle) as Daily_Avg_CPU,
Round(AVG(100-H1.Sys_CPUIdle),2) Morning_Avg_CPU ,
DP.Perf_GloRef, DP.Perf_GloUpdate
FROM SYS_History.Daily_Perf DP,
SYS_History.Daily_SYS DS,
SYS_History.Hourly_Sys H1
WHERE DP.Daily=DS.Daily and DP.element_key='Avg' and DS.element_key='Avg'
and H1.element_key='Avg'and substr(DS.Daily,1,5)=Substr(H1.Hourly,1,5)
and Substr(H1.Hourly,8,12) in (32400,36000,39600)
GROUP BY DS.daily
O que no meu sistema de teste resulta em …
|
Day |
Daily_Avg_CPU |
Morning_Avg_CPU |
Perf_GloRef |
Perf_GloUpdate |
|
64514 |
13.64 |
2.25 |
99.03 |
7.73 |
|
64515 |
19.94 |
14.67 |
91.95 |
6.32 |
|
64516 |
8.79 |
12.14 |
102.21 |
6.91 |
|
64517 |
14.09 |
3.36 |
39729.06 |
5393.97 |
|
64518 |
20.26 |
25.11 |
15036.53 |
60.63 |
|
64519 |
9.27 |
15.5 |
3898.47 |
153.68 |
|
64520 |
5.54 |
1.78 |
87.94 |
5.65 |
|
64521 |
6.08 |
1.89 |
117.49 |
6.73 |
|
64524 |
17.8 |
16.81 |
70.8 |
5.14 |
|
|
|
|
|
|
Documentação
O Monitor de Histórico é descrito completamente na documentação.

(1).jpg)
.png)





.png)




.png)



