[Operação e Manutenção de TI] Introdução básica ao Prometheus e implantação da plataforma de monitoramento (Prometheus+Grafana)

1. Introdução básica ao Prometheus

Prometheus (desenvolvido pela linguagem go) é uma combinação de bancos de dados de monitoramento de código aberto, alarmes e séries temporais (classificados por tempo). Porque a popularidade do kubernetes (comumente conhecido como k8s) impulsionou o desenvolvimento do prometheus. Ele pode monitorar hosts, serviços e contêineres, oferece suporte a vários exportadores para coletar dados e oferece suporte a pushgateway para relatórios de dados. O desempenho do Prometheus é suficiente para suportar dezenas de milhares de clusters.
https://prometheus.io/docs/introduction/overview/

Dados de série temporal : os dados que registram mudanças no status do sistema e do equipamento em ordem cronológica são chamados de dados de série temporal. Este tipo de dados de série temporal será aplicado a muitos cenários, como:

  • O mais comum é o log em nosso sistema
  • A longitude, latitude, velocidade, direção, distância de objetos próximos, etc. precisam ser registradas durante a operação do veículo não tripulado. Os dados devem ser registrados e analisados ​​em todos os momentos.
  • Dados de trajetória de condução e volume de tráfego de cada veículo em uma determinada área
  • Dados de transações em tempo real da indústria tradicional de valores mobiliários
  • Dados de monitoramento de operação e manutenção em tempo real, gráficos de tráfego de placas de rede, status atual de serviços e uso de recursos. Por exemplo, se o conteúdo que você está monitorando apresentar um aumento acentuado, uma queda abrupta ou uma desconexão, isso geralmente significa que há é um problema, seja sempre que acontecer, você deve descobrir rapidamente o que deu errado.

1.1. Principais vantagens do banco de dados de séries temporais

O banco de dados de série temporal é usado principalmente para processar dados com tags de tempo (mudança na ordem do tempo, ou seja, serialização de tempo).Os dados com tags de tempo também são chamados de dados de série temporal.

  • Boa performance

Os bancos de dados relacionais apresentam baixo desempenho no processamento de dados em grande escala, o que pode ser claramente refletido na E/S. O uso do NOSQL pode lidar melhor com dados em grande escala, mas ainda não é tão bom quanto um banco de dados de série temporal.

  • Baixos custos de armazenamento

Como adota o método de armazenamento de dados de métricas: chave = valor (tag: palavra-chave = valor) e usa um algoritmo de compactação eficiente, o custo médio de armazenamento é de cerca de 3,5 bytes, economizando espaço de armazenamento e pode reduzir efetivamente o IO

O Prometheus tem um método de armazenamento de dados de série temporal muito eficiente. Cada dado amostrado ocupa apenas cerca de 3,5 bytes de espaço. Milhões de dados de série temporal são coletados a cada 30 segundos e retidos por 60 dias, ocupando cerca de 200 G de espaço (do documento oficial dados)

1.2. Principais recursos do Prometheus

  1. O modelo de dados multidimensional pode modelar dados por meio de múltiplas dimensões e consultar dados por meio de múltiplas dimensões.

  2. Linguagem de consulta flexível, fornece método de consulta PromQL flexível e também fornece interface de consulta HTTP, que pode ser facilmente combinada com Grafana e outros componentes para exibir dados

  3. Ele não depende de armazenamento distribuído e oferece suporte ao armazenamento local de um único nó. Através do banco de dados de série temporal que acompanha o Prometheus, o armazenamento de dados de milhões por segundo pode ser concluído. Se uma grande quantidade de dados históricos precisar ser armazenada, ele também pode ser conectado a um banco de dados de série temporal de terceiros.

  4. Usando HTTP para extrair dados de série temporal por meio do modelo pull e fornecendo um padrão de dados de indicador aberto

  5. O modelo push também pode ser suportado através do gateway intermediário
    . O monitoramento pull é, na verdade, monitoramento ativo e passivo. Por padrão, está no modo pull, ou seja, o host de monitoramento vai até o host monitorado para obter os dados. Se for a ser implementado O método push requer o suporte de um gateway intermediário, que é apenas diferente do nome do zabbix.

  6. Descubra objetos de serviço de destino por meio de descoberta de serviço ou configuração estática

  7. Suporta uma variedade de gráficos e exibições de interface e pode usar ferramentas de terceiros para exibir conteúdo, como Grafana

1.3. Princípio de monitoramento do Prometheus

  1. O Prometheus Server é responsável por capturar regularmente dados de métricas no destino.
  2. Cada destino de rastreamento [host, serviço] precisa expor uma interface de serviço HTTP para rastreamento agendado do Prometheus. Ou seja, o prometheus empacotará os dados de monitoramento obtidos em uma página da web acessível e determinará o status do host acessando o URL especificado.

A vantagem do método pull é que ele pode realizar automaticamente o monitoramento upstream e o monitoramento horizontal, requer menos configuração, é mais fácil de expandir, é mais flexível e é mais fácil de obter alta disponibilidade. Simplificando, o método Pull pode reduzir o acoplamento. Porque no sistema push é fácil causar o problema de paralisia do sistema monitorado devido à falha no envio de dados para o sistema de monitoramento. Porque se houver muitos hosts monitorados enviando dados para o host de monitoramento ao mesmo tempo, é muito provável que o host de monitoramento não consiga processá-los.Portanto, através do método Pull, a extremidade coletada não precisa estar ciente da existência de o sistema de monitoramento e é completamente independente do sistema de monitoramento, de modo que a coleta de dados seja totalmente controlada pelo sistema de monitoramento.

1.4. O significado das seis principais seções de configuração do arquivo de configuração do Prometheus

  • Cada grande seção de configuração do arquivo de configuração do prometheus

    • scrape_configs coleta segmentos de configuração como um coletor
    • Alarme Rule_files, segmento de arquivo de configuração de pré-agregação
    • segmento de consulta remota remote_read
    • segmento de gravação remota remote_write
    • alerta: segmento de informações do Alertmanager
  • A imagem abaixo mostra a arquitetura do Prometheus e como cada componente interage e colabora.

Insira a descrição da imagem aqui

  • A maioria dos excelentes projetos de código aberto são modulares, permitindo que os usuários decidam quais configurações ativar com base nos cenários de negócios.
A seção de configuração correspondente usar
Seção de configuração de coleção Seja um coletor e salve os dados localmente
Seção de configuração de coleção + seção de gravação remota Funciona como coletor + transmissor, e os dados são salvos localmente + armazenados remotamente
seção de consulta remota Seja um consultador para consultar dados de armazenamento remoto
Seção de configuração de coleção + seção de consulta remota Seja um coletor + consultador, consulte dados locais + dados de armazenamento remoto
Seção de configuração da coleção + seção de informações do Alertmanager + seção do arquivo de configuração de alerta Faça um coletor + disparador de alarme, consulte dados locais, gere alarmes e envie para o Alertmanager
Seção de consulta remota + seção de informações do Alertmanager + seção do arquivo de configuração de alerta Crie um acionador de alarme remoto, consulte dados remotos, gere um alarme e envie-o para o Alertmanager
Segmento de consulta remota + segmento de gravação remota + segmento de arquivo de configuração pré-agregado Pré-agregar indicadores e gravar os indicadores do conjunto de resultados gerados no armazenamento remoto
  • formato de configuração específico do yaml
# 全局配置段
global:
  # 采集间隔 
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  # 计算报警和预聚合间隔
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # 采集超时时间
  scrape_timeout: 10s 
  # 查询日志,包含各阶段耗时统计
  query_log_file: /opt/logs/prometheus_query_log
  # 全局标签组
  # 通过本实例采集的数据都会叠加下面的标签
  external_labels:
    account: 'huawei-main'
    region: 'node1'

# Alertmanager信息段
alerting:
  alertmanagers:
  - scheme: http
    static_configs:
    - targets:
      - "localhost:9090"

# 告警、预聚合配置文件段
rule_files:
    - /etc/prometheus/rules/record.yml
    - /etc/prometheus/rules/alert.yml

# 采集配置段
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

# 远程查询段
remote_read:
  # prometheus 
  - url: http://prometheus/v1/read
    read_recent: true

  # m3db 
  - url: "http://m3coordinator-read:7201/api/v1/prom/remote/read"
    read_recent: true

# 远程写入段
remote_write:
  - url: "http://m3coordinator-write:7201/api/v1/prom/remote/write"
    queue_config:
      capacity: 10000
      max_samples_per_send: 60000
    write_relabel_configs:
      - source_labels: [__name__]
        separator: ;
        # 标签key前缀匹配到的drop
        regex: '(kubelet_|apiserver_|container_fs_).*'
        replacement: $1
        action: drop

2. Implantar plataforma de monitoramento Prometheus

  • Instalar e implantar terminal de monitoramento de serviço prometheus
  • Monitore uma máquina remota
  • Monitore um serviço: mysql
prometheus 主程序包:wget https://github.com/prometheus/prometheus/releases/download/v2.11.1/prometheus-2.16.0.linux-amd64.tar.gz

远端主机监控插件(类似于zabbix-agent): wget  https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-1.0.0-rc.0linux-amd64.tar.gz

mysql业务监控插件: wget   https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.0/mysqld_exporter-0.12.1.linux-amd64.tar.gz
  • Diagrama de topologia experimental
    diagrama experimental do prometheus.png

2.1. Implantar terminal de monitoramento de serviço prometheus

[root@node1 ~]# tar xf prometheus-2.11.1.linux-amd64.tar.gz -C /usr/local/
[root@node1 ~]# cd /usr/local/prometheus-2.11.1.linux-amd64/
[root@node1 prometheus-2.11.1.linux-amd64]# ./prometheus --config.file=prometheus.yml &

Comece a testar
Prometeu_1.png

Ver esta página mostra que o prometheus foi iniciado com sucesso e monitorado por padrão. Vamos dar uma olhada no status de monitoramento desta máquina.
Prometeu_2.png

Clique em status-targets para ver as máquinas ou recursos monitorados
Prometeu_3.png

Depois de ver esta máquina, você também pode inserir http://IP ou nome de domínio:9090/metrics no navegador de acordo com as instruções para visualizar os dados de monitoramento.

显示监控数据
http://192.168.98.201:9090/metrics

Prometheus_node1_metrics4.png

Se você puder ver esta informação, significa que o sistema de monitoramento obteve os dados, uma vez obtidos os dados, eles podem ser exibidos normalmente. Através desta URL, podemos saber que o prometheus armazena todos os dados monitorados juntos e, em seguida, gera uma página web. Os usuários podem visualizar dados relevantes através da página web. Esses dados seguem o formato do banco de dados de série temporal, ou seja, no formato de chave = valor. Esses dados são nossos indicadores de monitoramento, mas ainda não há como analisá-los. Precisamos usar exibição gráfica para facilitar a leitura.

O display do Prometheus também fornece gráficos, você pode ver intuitivamente o status dos itens de monitoramento por meio dos gráficos, mas os gráficos integrados não são muito bonitos.

Clique em Gráfico para exibir os seguintes gráficos: Insira palavras-chave na barra de pesquisa para corresponder aos itens de monitoramento que você deseja ver.

imagem20200225140312916.png
A entrada aqui é process_cpu_seconds_total, e a tabela de status de uso da CPU aparecerá. Preste atenção ao botão Gráfico no canto superior esquerdo do gráfico. O padrão está na página do botão do console.

2.2. Monitore uma máquina comercial remota

a. Instale o cliente de monitoramento

[root@node2 ~]# tar xf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/
[root@node2 ~]# cd /usr/local/node_exporter-0.18.1.linux-amd64/
[root@node2 node_exporter-0.18.1.linux-amd64]# ls
LICENSE  node_exporter  NOTICE

#后台启动
[root@node2 node_exporter-0.18.1.linux-amd64]# nohup /usr/local/node_exporter-0.18.1.linux-amd64/node_exporter &
[1] 7281
[root@node2 node_exporter-0.18.1.linux-amd64]# nohup: 忽略输入并把输出追加到"nohup.out"


#业务机器监控插件服务端口
[root@node2 node_exporter-0.18.1.linux-amd64]# lsof -i :9100
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node_expo 7281 root    3u  IPv6  42486      0t0  TCP *:jetdirect (LISTEN)

#验证  http://被监控机名称:9100/metrics
http://192.168.98.202:9100/metrics
现在这台机器上的数据被打包成了一个可以访问的页面,所以可以使用浏览器去访问这个页面,看下能否获取到相关的数据,如果能够获取的话就表示没有问题了。 

b. Adicionar informações de monitoramento no prometheus

#被监控主机设置完成之后,需要在prometeus主配置文件中添加被监控机信息
[root@node1 prometheus-2.11.1.linux-amd64]# tail -4  prometheus.yml 

  - job_name: 'node2'	#定义名称
    static_configs:#定义具体配置
    - targets: ['192.168.98.202:9100']#定义目标
 
 ####注意缩进  两个空格
     
 #重启服务    
[root@node1 prometheus-2.11.1.linux-amd64]# pkill prometheus
[root@node1 prometheus-2.11.1.linux-amd64]# ./prometheus --config.file=prometheus.yml &


注意:prometheus启动报错
**lock DB directory: resource temporarily unavailable"** 
原因:prometheus没有正常关闭,锁文件存在
rm $prometheus_dir/data/lock

c. Verificação de teste

Após a configuração, visualize a página do prometheus
Prometeu_6.png

Após visualizar a página Status-Targets, você pode ver que a máquina monitorada node2 (192.168.98.202) já está na lista de monitoramento, e você pode visualizar seus dados de monitoramento através do navegador.

Prometheus_node2_metrics5.png

Digite http://192.168.98.202:9100/metrics no navegador para ver os dados

2.3. Monitore um serviço: mysql

Para monitorar o mysql, duas condições são necessárias. Uma é que haja mysql no sistema e a outra é que haja um plug-in de monitoramento. Agora que o plug-in de monitoramento foi baixado, precisamos instalar o mysql primeiro, e, em seguida, execute a autorização correspondente para que o plug-in possa obter todas as informações. Informações necessárias, configure os plug-ins relevantes e modifique o arquivo de configuração do prometheus

a. Implantar negócios mysql

[root@node2 node_exporter-0.18.1.linux-amd64]# dnf -y install mariadb-server mariadb
[root@node2 mysqld_exporter-0.12.0.linux-amd64]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@node2 mysqld_exporter-0.12.0.linux-amd64]# systemctl start mariadb

#创建监控用户
MariaDB [(none)]> grant select,replication client,process on *.* to 'hello'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

b. Implantar plug-in de monitoramento

[root@node2 ~]# tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local
[root@node2 ~]# vim /usr/local/mysqld_exporter-0.12.1.linux-amd64/.my.cnf
[root@node2 ~]# cat /usr/local/mysqld_exporter-0.12.1.linux-amd64/.my.cnf
[client]
user=hello
password=123456

#启动
[root@node2 ~]# nohup /usr/local/mysqld_exporter-0.12.1.linux-amd64/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter-0.12.1.linux-amd64/.my.cnf &

[root@node2 ~]# lsof -i :9104
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld_ex 7698 root    3u  IPv6  46415      0t0  TCP *:peerwire (LISTEN)

c. Adicione monitoramento no arquivo de configuração principal do prometheus

#
[root@node1 prometheus-2.11.1.linux-amd64]# tail -10 prometheus.yml 
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'node2'
    static_configs:
    - targets: ['192.168.98.202:9100']
  
  - job_name: 'mariadb'
    static_configs:
    - targets: ['192.168.98.202:9104']

d. Reinicie o serviço prometheus

[root@node1 prometheus-2.11.1.linux-amd64]# pkill prometheus
[root@node1 prometheus-2.11.1.linux-amd64]# ./prometheus --config.file=prometheus.yml &

e. Visualize serviços através da página de monitoramento

Prometheus_node2_mysql9.png

Confira gráficos relacionados na página Gráfico

Prometheus_node2_mysql8.png

Você pode marcar empilhado para exibir o gráfico em uma forma empilhada.

3. Exibição de dados e alarme do Prometheus Grafana

A interface de exibição do software de monitoramento prometheus é realmente feia, então vamos mudar o método de exibição: Grafana. Grafana é uma ferramenta de análise e visualização de medição de código aberto (sem função de monitoramento). Ele pode analisar, consultar e visualizar os dados coletados. Exibir, e pode alcançar o alarme.

3.1. Implantar grafana

a. instalação de grafana

Obtenha o pacote de software no
site oficial: grafana: https://grafana.com/

Instalação do pacote

[root@manage01 ~]# dnf -y localinstall grafana-6.6.1-1.x86_64...

Início do serviço

#服务启动
[root@manage01 ~]# systemctl enable grafana-server
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
[root@manage01 ~]# systemctl start grafana-server

#验证启动
[root@manage01 ~]# lsof -i :3000
COMMAND     PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
grafana-s 17154 grafana    8u  IPv6  53939      0t0  TCP *:hbci (LISTEN)

Depois que o grafana for iniciado com sucesso, você poderá acessar a página do grafana através da página

Digite http://IP ou nome de domínio:3000 no navegador

grafana1.png
Requer senha da conta: admin/admin (padrão)

Quando você vê esta página, significa que o grafana foi instalado com sucesso e está funcionando.

Ao inserir sua conta e senha para fazer login, como é a primeira vez que você faz login, você deve alterar sua senha por motivos de segurança antes de fazer login. Após inserir a nova senha duas vezes, clique em salvar para fazer login
grafana2.png
.

b. Configurações da página Grafana - adicionar fonte de dados do prometheus

Após o login bem-sucedido, a página fornecerá uma linha de orientação de uso, configurada de acordo com os requisitos de orientação, principalmente configurando a fonte de dados para grafana.

imagem20200225145354437.png

Como pode ser visto no ícone, precisamos configurar a fonte de dados – exibir o painel – e adicionar essas operações do usuário.
Clique em Adicionar fonte de dados para adicionar fonte de dados

imagem20200225145454014.png

Selecione Prometheus para prosseguir para a próxima etapa.

imagem20200225153536052.png

As configurações da parte de autenticação são usadas principalmente em conjunto com HTTPS. Se você usar https, precisará de certificados, autenticação, etc., e precisará fazer algumas configurações para esta parte.

Basta preencher as informações correspondentes de acordo com os requisitos da página. Geralmente, os erros são causados ​​por erros de entrada. Clique em Salvar e testar e salve com sucesso.

grafana6.png

Você pode ver a fonte de dados que acabou de adicionar por meio da Fonte de dados no menu suspenso do ícone de engrenagem na barra de navegação esquerda.

3.2. Desenhar gráficos

a. Gerenciamento de painel

graphana7.png

Depois de adicionar a fonte de dados, você pode continuar adicionando um painel para que possamos ver os dados na forma de um gráfico. Continue clicando em Novo painel

grafana8.png

A imagem mostra que você pode adicionar um gráfico ao painel e também escolher um ícone de estilo

Você pode escolher qualquer um aqui. Não sei o que o autor pensa desta versão. Na verdade, todas as funções podem ser realizadas.

Selecione a primeira consulta Adicionar aqui

grafana9.png

Depois de entrar na página, existem quatro logótipos no lado esquerdo, nomeadamente

fonte de dados
imagem20200225154121203.png

gráfico
imagem20200225154146665.png

configurar
imagem20200225154213541.png

Alarme
imagem20200225154254663.png

Vamos seguir as etapas dos ícones para configurar a fonte de dados primeiro.

Conforme mostrado acima, no item A, combine seus itens de monitoramento de acordo com suas necessidades. Se houver vários itens, você pode adicioná-los por meio da consulta adicionar no canto superior direito. Após a conclusão da configuração, você pode definir o estilo do gráfico. Clique em no gráfico.

grafana10.png

O gráfico fala principalmente sobre o estilo do gráfico e os principais itens são explicados:

  • Os primeiros modos de desenho referem-se ao método de exibição da imagem no gráfico. Existem três tipos: faixas, linhas e pontos.
  • As segundas opções de modo falam sobre a espessura da linha no gráfico de transparência de sombra de preenchimento do gráfico.
  • Se o último ativa o empilhamento de gráficos e exibe porcentagens

Depois que as configurações forem concluídas, observe o ícone de configurações.

Esta página é usada principalmente para definir o nome e os comentários do gráfico.

grafana11_1.png

Depois de configurá-lo, nossas configurações de gráfico ficarão assim por enquanto. Discutiremos as configurações de alarme em detalhes para alarmes subsequentes.

Clique em Salvar para salvar o gráfico.

grafana11.png

Ao salvar o gráfico, você será solicitado a inserir um nome para o painel. Insira o Nó2 aqui

grafana12.png

Após confirmar que tudo está correto, clique em Salvar

grafana13.png

O painel está pronto e nossos gráficos também estão visíveis.

Em seguida, o usuário deve ser configurado. Esse usuário é adicionado usando um mecanismo de convite, o que significa que precisamos gerar um link de convite e enviá-lo ao usuário correspondente. Em seguida, a outra parte visita o link correspondente para se registrar. Dessa forma, o usuário pode ser adicionado com sucesso e clique no botão Adicionar usuários.

grafana14.png

Adicione um usuário conforme necessário

grafana15.png

Clique para convidar usuários

imagem20200225161454447.png

Insira o nome de usuário, a função do usuário e clique em Convidar

imagem20200225161653564.png

Após clicar no convite, você precisa enviar o link do convite ao usuário ou abri-lo no navegador para confirmar o convite.
Mude para outro host e abra-o no navegador.

imagem20200225162223119.png

Digite seu endereço de e-mail e senha de usuário e clique em Registrar

imagem20200225162409462.png

Volte para o host onde você usa a conta de administrador para fazer login no grafana. Após a atualização, você poderá ver o usuário recém-registrado. Você também pode excluir o usuário e modificar as permissões.

b. configurações do grafana – adicione gráficos para monitorar a carga da CPU

Clique na barra lateral esquerda: ➕—Escolha Visualização

Selecione o estilo do gráfico

Insira os itens de dados conforme necessário:

  • node_load1 Carga média da CPU em um minuto
  • node_load5 Carga média de cinco minutos da CPU
  • node_load15 Carga média da CPU em quinze minutos

Nota: Se várias máquinas forem monitoradas ao mesmo tempo, o gráfico exibirá todas as máquinas. Se você quiser exibir apenas uma determinada máquina, poderá usar a correspondência de monitoramento.

O método de entrada é o seguinte:

Item de monitoramento {instance="IP da máquina monitorada:porta"}

Como mostrado abaixo

imagem20200225163828382.png

Isso exibirá uma máquina.

c. configurações do grafana — use gráficos de modelo para exibir o monitoramento do MySQL

download do modelo de monitoramento mysql
https://github.com/percona/grafana-dashboards

Configurações do modelo

#在grafana配置文件中添加插件信息
[root@manage01 ~]# vim /etc/grafana/grafana.ini 
[root@manage01 grafana]# tail -3 /etc/grafana/grafana.ini 
[dashboards.json]
enabled = true
path = /var/lib/grafana/dashboards

#下载插件
[root@manage01 ~]# unzip grafana-dashboards-master.zip 


#拷贝插件到指定位置
[root@manage01 ~]# cd grafana-dashboards-master/
[root@manage01 grafana-dashboards-master]# cp -r dashboards /var/lib/grafana/
[root@manage01 dashboards]# vim /var/lib/grafana/dashboards/MySQL_Overview.json
#搜索pmm-singlestat-panel替换为singlestat
#重启生效
[root@manage01 grafana]# systemctl restart grafana-server.service 

Importe modelos através da interface web

grafana20.png

Selecione o menu esquerdo—➕—Importar

Selecione o arquivo json correspondente e importe-o

grafana21.png

Clique para importar e você verá a imagem.

imagem20200225171755015.png

3.3 Alarme Grafana

Defina o canal de alarme do grafana

imagem20200225174606552.png

Clique no gráfico do sino à esquerda — canais de notificação — Adicionar canal

imagem20200225175559736.png

  • Parte do nome: preencha um nome
  • Parte do tipo: selecione o método webhook
  • Enviar em todos os alertas: Se marcada, significa que todos os alarmes serão enviados por este canal por padrão.
  • Incluir imagem: Se marcada, significa que as capturas de tela serão enviadas ao mesmo tempo em que o alarme ocorre. Como a notificação de alarme atual não suporta imagens, não há necessidade de marcá-la aqui.
  • Desabilitar Resolver Mensagem: Se marcada, significa que quando o status voltar ao normal a partir do alarme, nenhuma mensagem será enviada, ou seja, nenhuma notificação será dada para voltar ao normal, não há necessidade de marcar aqui.
  • Enviar lembretes: Se marcada, significa que além de enviar uma mensagem de alarme quando o status mudar para alarme pela primeira vez, de vez em quando, se ainda estiver em estado de alarme, um alarme repetido será enviado.
  • Enviar lembrete a cada: indica com que frequência enviar alarmes repetidos. O valor padrão aqui é 30 minutos.
  • Url: servidor oficial de alarme do servidor
  • Método HTTP: Selecione POST

Após a configuração ser concluída, clique em enviar teste para verificar o e-mail de alarme no endereço de e-mail usado ao registrar a conta.

imagem20200225175125898.png

Após configurar o canal e concluir a verificação, defina alarmes para o gráfico

onealter7.png

Selecione o gráfico e clique no menu suspenso do nome do gráfico – editar para entrar no menu de edição.

onealter8.png

Selecione o gráfico do sino - crie um alerta para definir o alerta do gráfico

onealter9.png

A configuração do limite de alarme aqui é para calcular a carga média da CPU. Por se tratar de um experimento, o valor do aviso antecipado é 0,5 para facilitar o teste de alarmes.

onealter10.png

Após a configuração ser concluída, uma linha de aviso antecipado aparece no gráfico, clique em Salvar

Em seguida, aumente a carga da CPU no node2

imagem20200225220905872.png

imagem20200225222218919.png

Alarme concluído.

Acho que você gosta

Origin blog.csdn.net/qq_45277554/article/details/130917620
Recomendado
Clasificación