之前有寫過對于傳統(tǒng)項目的性能測試監(jiān)控,但是對于目前市場占比已經(jīng)很低,大部分項目使用k8s,今天講一下對于k8s如何去監(jiān)控。 對于k8s的監(jiān)控我們所有的操作都要在master下進行。 一、部署grafana作者會提供一個grafana的yaml文件,對于文件進行適配項目的修改即可 1、修改配置文件 spec:
containers:
- name: grafana
2、部署grafana創(chuàng)建garafana pod kubectl create -f /root/k8s/node_exporter.yaml 二、部署mysql_exporter由于mysql_exporter是對mysql數(shù)據(jù)庫進行監(jiān)控,我們需要把mysql_exporter和mysql數(shù)據(jù)庫打包在一個pod中,所以要對項目原有的mysql yaml文件進行update - name: mysql-exporter
env:
- name: DATA_SOURCE_NAME
上面的為新增內(nèi)容(有部分會與當前已有的重復),新增后重建pod。 如果有多個節(jié)點請在replicas : 后面增加節(jié)點數(shù) 三、部署node_exporterapiVersion: apps/v1
創(chuàng)建node_exporter pod: kubectl create -f /root/k8s/node_exporter.yaml
四、部署Prometheus1.修改configmap.yaml文件 - job_name: k8s-nodes
static_configs:
- targets:
2.訪問prometheus,http://ip:30003/targets3.訪問grafana并配置http://ip:31000/login,用戶名和密碼為創(chuàng)建pod時設置的賬號密碼。4.配置Prometheus數(shù)據(jù)源 http://ip:3000330003端口是在配置文件prometheus.svc.yml中配置 導入模板后的效果給大家看一下:
五、新增節(jié)點監(jiān)控操作如果集群中新增一個節(jié)點,此時我們的監(jiān)控已經(jīng)完成,我們應該如何去操作 1.當一個新的節(jié)點新增到集群中,node_exporter會自動在新的節(jié)點下創(chuàng)建一個pod,所以這里不需要額外操作 2.需要對Prometheus的配置文件進行uodate: 修改配置文件configmap.yaml: - job_name: k8s-nodes
static_configs:
- targets:
- 192.168.1.180:31672
- 192.168.1.181:31672
- 192.168.1.182:31672
# 增加新的節(jié)點地址
- 192.168.1.183:31672
然后執(zhí)行下面的操作: kubectl replace -f configmap.yaml #替換配置文件
kubectl delete -f prometheus.deploy.yml#刪除服務
kubectl create -f prometheus.deploy.yml #重建服務
此時,新的節(jié)點監(jiān)控添加完成
文章中提到的所有yaml文件分享在下面地址中,可以自行下載,如果需要監(jiān)控模板可以發(fā)送私信索要,如果還不清楚如何導入模板可以查看歷史隨筆。 鏈接:https://pan.baidu.com/s/17wV1m1fQK8oA4R92bPDeqg
|
|