k8s部署-55-k8s中Prometheus(普罗米修斯)的大屏展示Grafana+监控报警

要须心地收汗马,孔孟行世目杲杲。这篇文章主要讲述k8s部署-55-k8s中Prometheus(普罗米修斯)的大屏展示Grafana+监控报警相关的知识,希望能为你提供帮助。
【k8s部署-55-k8s中Prometheus(普罗米修斯)的大屏展示Grafana+监控报警】

到现在我们已经创建好了Prometheus监控,虽然prometheus中也有图表展示,但是我们更推荐使用Grafana来进行数据展示,以及监控触发阈值、触发报警之后,通过什么方式来实现报警。
1、查看Prometheus(普罗米修斯)中的监控项点击??Status???下面的??Rules???菜单,即可查看??Prometheus??的监控项;
k8s部署-55-k8s中Prometheus(普罗米修斯)的大屏展示Grafana+监控报警

文章图片

那么如果我们想修改??Prometheus??监控项的话怎么办呢?如何进行修改,配置文件在哪里呢?
[root@node1 ~]# cd prometheus-operator/templates/prometheus/rules
[root@node1 rules]# ls
alertmanager.rules.yamlkube-apiserver.rules.yamlkubernetes-apps.yamlkube-scheduler.rules.yamlprometheus-operator.yaml
etcd.yamlkube-prometheus-node-alerting.rules.yamlkubernetes-resources.yamlnode-network.yamlprometheus.rules.yaml
general.rules.yamlkube-prometheus-node-recording.rules.yamlkubernetes-storage.yamlnode.rules.yaml
k8s.rules.yamlkubernetes-absent.yamlkubernetes-system.yamlnode-time.yaml
[root@node1 rules]#

上面的目录中显示的就是??prometheus??默认的监控项目,想修改的话直接在此修改即可,修改完毕之后使用如下命令进行重新加载即可;
# 比如我们修改了etcd的监控项,也就是修改了etcd.yaml的配置文件,使用如下命令更新即可
[root@node1 ~]# pwd
/root
[root@node1 ~]# helm upgrade monitor ./prometheus-operator/ -f ./prometheus-operator/templates/prometheus/rules/etcd.yaml

也可以直接查看??prometheus??有多少监控规则;
[root@node1 ~]# kubectl get PrometheusRule
NAMEAGE
monitor-prometheus-operato-alertmanager.rules17h
monitor-prometheus-operato-etcd17h
monitor-prometheus-operato-general.rules17h
monitor-prometheus-operato-k8s.rules17h
monitor-prometheus-operato-kube-apiserver-availability.rules17h
monitor-prometheus-operato-kube-apiserver-slos17h
monitor-prometheus-operato-kube-apiserver.rules17h
monitor-prometheus-operato-kube-prometheus-general.rules17h
monitor-prometheus-operato-kube-prometheus-node-recording.rules17h
monitor-prometheus-operato-kube-scheduler.rules17h
monitor-prometheus-operato-kube-state-metrics17h
monitor-prometheus-operato-kubelet.rules17h
monitor-prometheus-operato-kubernetes-apps17h
monitor-prometheus-operato-kubernetes-resources17h
monitor-prometheus-operato-kubernetes-storage17h
monitor-prometheus-operato-kubernetes-system17h
monitor-prometheus-operato-kubernetes-system-apiserver17h
monitor-prometheus-operato-kubernetes-system-controller-manager17h
monitor-prometheus-operato-kubernetes-system-kubelet17h
monitor-prometheus-operato-kubernetes-system-scheduler17h
monitor-prometheus-operato-node-exporter17h
monitor-prometheus-operato-node-exporter.rules17h
monitor-prometheus-operato-node-network17h
monitor-prometheus-operato-node.rules17h
monitor-prometheus-operato-prometheus17h
monitor-prometheus-operato-prometheus-operator17h
[root@node1 ~]#

2、查看Prometheus中的报警项点击??Alerts??即可查看,绿色表示正常状态,黄色表示等待报警状态,红色表示已经触发报警的状态,如下图;
k8s部署-55-k8s中Prometheus(普罗米修斯)的大屏展示Grafana+监控报警

文章图片

3、通过Grafana展示Prometheus数据
我们这里也使用ingress-nginx的方式来访问,那么就需要创建一下,看看如何配置吧。
PS:如果说最后监控显示有问题,请确认是否是最新版,有的老版本的k8s和新版本的差距还是挺大的,不兼容的可能性颇大。
(1)获取服务名
[root@node1 ~]# kubectl get svc
NAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGE
alertmanager-operatedClusterIPNone< none> 9093/TCP,9094/TCP,9094/UDP17h
kubernetesClusterIP10.233.0.1< none> 443/TCP8d
monitor-grafanaClusterIP10.233.149.179< none> 80/TCP17h
monitor-kube-state-metricsClusterIP10.233.141.38< none> 8080/TCP17h
monitor-prometheus-node-exporterClusterIP10.233.128.202< none> 9100/TCP17h
monitor-prometheus-operato-alertmanagerClusterIP10.233.4.203< none> 9093/TCP17h
monitor-prometheus-operato-operatorClusterIP10.233.59.244< none> 8080/TCP,443/TCP17h
monitor-prometheus-operato-prometheusClusterIP10.233.180.46< none> 9090/TCP17h
prometheus-operatedClusterIPNone< none> 9090/TCP17h
springboot-web-demoClusterIP10.233.16.229< none> 80/TCP7d19h
springboot-web-svcClusterIPNone< none> 80/TCP8d
[root@node1 ~]# kubectl get svc monitor-grafana -o yaml
apiVersion: v1
kind: Service
metadata:
# ---省略部分信息---
# ---省略部分信息---
time: "2022-05-04T16:55:04Z"
name: monitor-grafana
namespace: default
resourceVersion: "825149"
selfLink: /api/v1/namespaces/default/services/monitor-grafana
uid: 4bf86224-644b-4f3a-9ff6-6d082fdebb5e
spec:
clusterIP: 10.233.149.179
# ---省略部分信息---
# ---省略部分信息---
[root@node1 ~]#

从上面可以看到??grafana???的服务名字是??monitor-grafana??;
(2)创建ingress-nginx;
[root@node1 ~]# cd namespace/prometheus/
[root@node1 prometheus]#
[root@node1 prometheus]# vim ingress-grafana.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana
spec:
rules:
- host: grafana.yunweijia.com
http:
paths:
- backend:
serviceName: monitor-grafana
servicePort: 80
path: /
[root@node1 prometheus]#
[root@node1 prometheus]# kubectl apply -f ingress-grafana.yaml
ingress.extensions/grafana created
[root@node1 prometheus]#

(3)配置??hosts??文件
修改??Windows???的??hosts??文件,添加如下内容;
192.168.112.131 grafana.yunweijia.com

(4)浏览器验证
访问如下地址;
http://grafana.yunweijia.com

然后显示如下界面;
k8s部署-55-k8s中Prometheus(普罗米修斯)的大屏展示Grafana+监控报警

文章图片

(5)找寻??grafana??的用户名密码
可以看到??Grafana???登录的时候有一个用户名密码,我们看看??k8s???中的??Grafana??默认的用户名密码是多少,如何查看;
查看??charts??中的配置文件;
[root@node1 ~]# cd prometheus-operator/charts/grafana/
[root@node1 grafana]# vim values.yaml
adminUser: admin
# adminPassword: strongpassword

# Use an existing secret for the admin user.
admin:
existingSecret: ""
userKey: admin-user
passwordKey: admin-password
[root@node1 grafana]#

可以看到他读取的是一个已经存在的??secret??,那么我们就去看下;
剩余内容请转至VX公众号 “运维家” ,回复 “161” 查看。
------ 以下内容为防伪内容,忽略即可 ------
------ 以下内容为防伪内容,忽略即可 ------
------ 以下内容为防伪内容,忽略即可 ------
warlinux解压,linux教程百度网盘,linux无法运行程序,linux移动指令,linux的主要版本,linux宝塔网页浏览器,linux怎么打开.d,linux应用安装空间不足,linux下复制备份吗,linux查看需要的依赖库,linux中htons,linux远程机器,nas与linux系统,linux下鼠标左键消息,修改linux绝对路径,linux服务器部署项目步骤,linux二进制文件存放目录,linux给一个文件做备份,linux移除空文件夹,linux输出文件到日志文件。







    推荐阅读