Déploiement de Grafana-prometheus dans K8s, le deuxième article de la série

Préface

Précédent décrit la configuration de l'installation prometheus, nous pouvons accéder au système d'alarme de surveillance de prometheus déployé par k8s -prometheus series premier article vue, cela sera suivi de l'introduction des éléments de contenu Grafana et du guide de l'interface Web Grafana des nœuds physiques et du modèle de surveillance de le conteneur, et affichez les indicateurs de surveillance de prometheus, puis réalisez l'alarme de surveillance via alertmanager.

Des astuces

Cet article utilise le même environnement expérimental que le précédent. Avant de lire cet article, vous devez déployer le système d'alarme de surveillance prometheus dans k8s - le premier article de la série prometheus , et faire l'expérience selon les besoins, afin que nous puissions continuer la contenu suivant

Planification de la machine:

Utilisez le même environnement expérimental que l'article précédent:

L'adresse IP de la machine du nœud maître est 192.168.0.6 et le nom d'hôte est master1

L'adresse IP de la machine du nœud de nœud est 192.168.0.56 et le nom d'hôte est node1

Reportez-vous à l'article suivant pour l'installation du cluster maître à haute disponibilité:

k8s1.18 installation du cluster haute disponibilité - document officiel chinois très détaillé

K8s1.18 multi-master node installation de cluster haute disponibilité - document officiel chinois très détaillé

Installation et configuration de Grafana

Téléchargez et installez l'image requise pour Grafana

Téléchargez l'image heapster-grafana-amd64_v5_0_4.tar.gz sur chaque nœud maître de k8s et chaque nœud de nœud de k8s, puis décompressez manuellement chaque nœud:
docker load -i heapster-grafana-amd64_v5_0_4.tar.gz

L'adresse du disque réseau Baidu où se trouve l'image est la suivante:

Lien: https://pan.baidu.com/s/1TmVGKxde_cEYrbjiETboEA Code d'extraction: 052u

Créez grafana.yaml sur le nœud master1 de k8s

# Les variables d'environnement suivantes sont nécessaires pour rendre Grafana accessible via # le proxy du serveur api de kubernetes. Sur les clusters de production, nous vous recommandons de # supprimer ces variables d'environnement, de configurer l'authentification pour grafana et d'exposer le service grafana # à l'aide d'un LoadBalancer ou d'une adresse IP publique. - nom: GF_AUTH_BASIC_ENABLED valeur: "false" - nom: GF_AUTH_ANONYMOUS_ENABLED valeur: "true" - nom: GF_AUTH_ANONYMOUS_ORG_ROLE valeur: Admin - nom: GF_SERVER_ROOT_URL # Si vous utilisez uniquement le proxy du serveur API: définissez cette valeur à la place api / v1 / namespaces / kube-system / services / monitoring-grafana / valeur proxy: / volumes: - nom: ca-certificates hostPath: chemin: / etc / ssl / certs - nom: grafana-storage emptyDir: {} --- apiVersion: v1kind: Servicemetadata: labels: # À utiliser comme module complémentaire de cluster (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) # If vous n'utilisez PAS ceci comme add-on, vous devriez commenter cette ligne. kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana nom: monitoring-grafana namespace: kube-systemspec: # Dans une configuration de production, nous vous recommandons d'accéder à Grafana via un Loadbalancer externe # ou via un public IP. # type: LoadBalancer # Vous pouvez également utiliser NodePort pour exposer le service sur un port généré de manière aléatoire # type: NodePort ports: - port: 80 targetPort: 3000 selector: k8s-app: grafana type: NodePortEOF com / kubernetes / kubernetes / tree / master / cluster / addons) # Si vous n'utilisez PAS ceci comme add-on, vous devriez commenter cette ligne. kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana nom: monitoring-grafana namespace: kube-systemspec: # Dans une configuration de production, nous vous recommandons d'accéder à Grafana via un Loadbalancer externe # ou via un public IP. # type: LoadBalancer # Vous pouvez également utiliser NodePort pour exposer le service sur un port généré de manière aléatoire # type: NodePort ports: - port: 80 targetPort: 3000 selector: k8s-app: grafana type: NodePortEOF com / kubernetes / kubernetes / tree / master / cluster / addons) # Si vous n'utilisez PAS ceci comme add-on, vous devriez commenter cette ligne. kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana nom: monitoring-grafana namespace: kube-systemspec: # Dans une configuration de production, nous vous recommandons d'accéder à Grafana via un Loadbalancer externe # ou via un public IP. # type: LoadBalancer # Vous pouvez également utiliser NodePort pour exposer le service sur un port généré de manière aléatoire # type: NodePort ports: - port: 80 targetPort: 3000 selector: k8s-app: grafana type: NodePortEOF kube-systemspec: # Dans une configuration de production, nous vous recommandons d'accéder à Grafana via un Loadbalancer externe # ou via une adresse IP publique. # type: LoadBalancer # Vous pouvez également utiliser NodePort pour exposer le service sur un port généré de manière aléatoire # type: NodePort ports: - port: 80 targetPort: 3000 selector: k8s-app: grafana type: NodePortEOF kube-systemspec: # Dans une configuration de production, nous vous recommandons d'accéder à Grafana via un Loadbalancer externe # ou via une adresse IP publique. # type: LoadBalancer # Vous pouvez également utiliser NodePort pour exposer le service sur un port généré de manière aléatoire # type: NodePort ports: - port: 80 targetPort: 3000 selector: k8s-app: grafana type: NodePortEOF

Mettre à jour grafana via kubectl apply

kubectl applique -f grafana.yaml

Vérifiez si grafana est déployé avec succès

kubectl obtenir des pods -n kube-system

L'affichage est le suivant, indiquant que le déploiement a réussi

monitoring-grafana-7d7f6cf5c6-vrxw9 1/1 Course 0 3h51m

Voir le service de
grafana kubectl get svc -n kube-system

L'affichage est le suivant:

monitoring-grafana NodePort 10.111.173.47 <aucun> 80: 31044 / TCP 3h54m

Vous pouvez voir ci-dessus que le port hôte exposé par grafana est 31044

Nous pouvons accéder à l'interface Web de grafana en visitant l'adresse IP du nœud maître du cluster k8s: 31044

Accès à l'interface Grafan à la source de données prometheus

1) Connectez-vous à grafana et visitez le navigateur

192.168.0.6:31044

Le mot de passe du compte est admin

Vous pouvez voir l'interface suivante:


2) Configurez l'interface grafana:
commencez à configurer l'interface web grafana:
sélectionnez Créer votre première source de données

image

Apparaît comme suit

image

Nom: Prométhée 

Type: Prométhée

L'URL sur HTTP s'écrit comme suit:

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

La page globale configurée est la suivante:

image

Cliquez sur Enregistrer et tester dans le coin inférieur gauche, et la source de données suivante fonctionne apparaît, indiquant que la source de données prometheus est accédée avec succès par grafana

image

导入监控模板,可在如下链接搜索
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这个文件,选择之后出现如下

image

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

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

image

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

image


Voyant cela, nous avons déployé avec succès et configuré Grafana, et réussi à accéder à la source de données prometheus, mais ne vous inquiétez pas, cela est un article de série, le prochain article suivra ce contenu à introduire AlertManager , et de réaliser l'alarme par AlertManager , s'il vous plaît Continuez à faire attention à mon compte officiel, je continuerai à partager les dernières connaissances avec vous.


Je suppose que tu aimes

Origine blog.51cto.com/15127502/2655056
conseillé
Classement