Implantando Grafana-prometheus em k8s, o segundo artigo da série

Prefácio

Anterior descreve a configuração de instalação prometheus, podemos acessar o sistema de alarme de monitoramento prometheus implantado k8s -prometheus série primeira visualização do artigo , isso será seguido pela introdução Grafana peças de conteúdo e o guia de interface da web Grafana dos nós físicos e O modelo de monitoramento de o contêiner, e exibir os indicadores de monitoramento do prometheus, e então realizar o alarme de monitoramento através do alertmanager.

Pontas

Este artigo usa o mesmo ambiente experimental do anterior. Antes de ler este artigo, você precisa implantar o sistema de alarme de monitoramento prometheus no k8s - o primeiro artigo da série prometheus , e fazer o experimento conforme necessário, para que possamos continuar seguintes conteúdos

Planejamento da máquina:

Use o mesmo ambiente experimental do artigo anterior:

O ip da máquina do nó mestre é 192.168.0.6 e o ​​nome do host é master1

O ip da máquina do nó do nó é 192.168.0.56 e o ​​nome do host é node1

Consulte o seguinte artigo para a instalação do cluster mestre de alta disponibilidade:

k8s1.18 de instalação de cluster de alta disponibilidade - documento oficial chinês superdetalhado

K8s1.18 multi-master node instalação de cluster de alta disponibilidade - documento oficial chinês superdetalhado

Instalação e configuração do Grafana

Baixe e instale a imagem necessária para o Grafana

Faça upload da imagem heapster-grafana-amd64_v5_0_4.tar.gz para cada nó mestre de k8s e cada nó de nó de k8s e, em seguida, descompacte manualmente cada nó:
docker load -i heapster-grafana-amd64_v5_0_4.tar.gz

O endereço do disco de rede do Baidu onde a imagem está localizada é o seguinte:

Link: https://pan.baidu.com/s/1TmVGKxde_cEYrbjiETboEA Código de extração: 052u

Crie grafana.yaml no nó master1 de k8s

# As seguintes variáveis ​​env são necessárias para tornar o Grafana acessível por meio do # proxy do servidor api do kubernetes. Em clusters de produção, recomendamos # remover essas variáveis ​​env, configurar a autenticação para grafana e expor o serviço # grafana usando um LoadBalancer ou um IP público. - nome: GF_AUTH_BASIC_ENABLED valor: "false" - nome: GF_AUTH_ANONYMOUS_ENABLED valor: "true" - nome: GF_AUTH_ANONYMOUS_ORG_ROLE valor: Admin - nome: GF_SERVER_ROOT_URL # Em vez disso, se você estiver usando este valor apenas / proxy: # api / v1 / namespaces / kube-system / services / monitoring-grafana / proxy valor: / volumes: - nome: ca-certificados hostPath: caminho: / etc / ssl / certs - nome: grafana-storage emptyDir: {} --- apiVersion: v1kind: Servicemetadata: labels: # Para uso como um complemento do Cluster (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) # If você NÃO está usando isso como um complemento, você deve comentar esta linha. kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana name: monitoring-grafana namespace: kube-systemspec: # Em uma configuração de produção, recomendamos acessar o Grafana por meio de um Loadbalancer externo # ou por meio de um público IP. # type: LoadBalancer # Você também pode usar NodePort para expor o serviço em uma porta gerada aleatoriamente # type: NodePort portas: - port: 80 targetPort: 3000 seletor: k8s-app: grafana type: NodePortEOF com / kubernetes / kubernetes / tree / master / cluster / addons) # Se você NÃO estiver usando isso como um complemento, deve comentar esta linha. kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana name: monitoring-grafana namespace: kube-systemspec: # Em uma configuração de produção, recomendamos acessar o Grafana por meio de um Loadbalancer externo # ou por meio de um público IP. # type: LoadBalancer # Você também pode usar NodePort para expor o serviço em uma porta gerada aleatoriamente # type: NodePort portas: - port: 80 targetPort: 3000 seletor: k8s-app: grafana type: NodePortEOF com / kubernetes / kubernetes / tree / master / cluster / addons) # Se você NÃO estiver usando isso como um complemento, deve comentar esta linha. kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana name: monitoring-grafana namespace: kube-systemspec: # Em uma configuração de produção, recomendamos acessar o Grafana por meio de um Loadbalancer externo # ou por meio de um público IP. # type: LoadBalancer # Você também pode usar NodePort para expor o serviço em uma porta gerada aleatoriamente # type: NodePort portas: - port: 80 targetPort: 3000 seletor: k8s-app: grafana type: NodePortEOF kube-systemspec: # Em uma configuração de produção, recomendamos acessar o Grafana por meio de um balanceador de carga externo # ou por meio de um IP público. # type: LoadBalancer # Você também pode usar NodePort para expor o serviço em uma porta gerada aleatoriamente # type: NodePort portas: - port: 80 targetPort: 3000 seletor: k8s-app: grafana type: NodePortEOF kube-systemspec: # Em uma configuração de produção, recomendamos acessar o Grafana por meio de um balanceador de carga externo # ou por meio de um IP público. # type: LoadBalancer # Você também pode usar NodePort para expor o serviço em uma porta gerada aleatoriamente # type: NodePort portas: - port: 80 targetPort: 3000 seletor: k8s-app: grafana type: NodePortEOF

Atualizar grafana via kubectl apply

kubectl apply -f grafana.yaml

Verifique se o grafana foi implantado com sucesso

kubectl get pods -n kube-system

A exibição é a seguinte, indicando que a implantação foi bem-sucedida

monitoramento-grafana-7d7f6cf5c6-vrxw9 1/1 Executando 0 3h51m

Ver o serviço de
grafana kubectl get svc -n kube-system

A exibição é a seguinte:

monitoramento-grafana NodePort 10.111.173.47 <nenhum> 80: 31044 / TCP 3h54m

Você pode ver acima que a porta do host exposta pela grafana é 31044

Podemos acessar a interface web da grafana visitando o ip do nó mestre do cluster k8s: 31044

Acesso da interface Grafan à fonte de dados prometheus

1) Faça login na grafana e visite no navegador

192.168.0.6:31044

A senha da conta é admin

Você pode ver a seguinte interface:


2) Configure a interface grafana:
comece a configurar a interface web grafana:
selecione Criar sua primeira fonte de dados

imagem

Aparece como segue

imagem

Nome: Prometheus 

Tipo: Prometheus

O URL em HTTP é escrito da seguinte forma:

http: //prometheus.monitor-sa.svc: 9090

A página geral configurada é a seguinte:

imagem

Clique em Salvar e testar no canto esquerdo inferior e a seguinte fonte de dados está funcionando é exibida, indicando que a fonte de dados prometheus foi acessada com sucesso pela grafana

imagem

导入监控模板,可在如下链接搜索
https://grafana.com/dashboards?dataSource=prometheus&search=kubernetes
也可直接导入node_exporter.json监控模板,这个可以把node节点指标显示出来

node_exporter.json在百度网盘地址如下:

链接:https://pan.baidu.com/s/1vF1kAMRbxQkUGPlZt91MWg 提取码:kyd6

还可直接导入docker_rev1.json,可以把容器相关的数据展示出来
docker_rev1.json在百度网盘地址如下:


链接:https://pan.baidu.com/s/17o_nja5N2R-g9g5PkJ3aFA 提取码:vinv

怎么导入监控模板,按如下步骤

上面Save & Test测试没问题之后,就可以返回Grafana主页面

点击左侧+号下面的Import,出现如下界面

选择Upload json file,出现如下

选择一个本地的json文件,我们选择的是上面让大家下载的node_exporter.json这个文件,选择之后出现如下

imagem

注:箭头标注的地方Name后面的名字是node_exporter.json定义的

Prometheus后面需要变成Prometheus,然后再点击Import,就可以出现如下界面:

imagem

导入docker_rev1.json监控模板,步骤和上面导入node_exporter.json步骤一样,导入之后显示如下:

imagem


Vendo isso, temos implantado com sucesso e configurado Grafana, e com sucesso acessada a fonte de dados Prometeu, mas não se preocupe, este é um artigo de série, o próximo artigo irá seguir este conteúdo para introduzir Alertmanager , e perceber o alarme através alertmanager , por favor Continue prestando atenção à minha conta oficial, continuarei a compartilhar os conhecimentos mais recentes com você.


Acho que você gosta

Origin blog.51cto.com/15127502/2655056
Recomendado
Clasificación