prometheus+node_exporter+grafana监控K8S信息

prometheus+node_exporter+grafana监控K8S

1.prometheus部署

包下载地址:https://prometheus.io/download/

将包传至/opt

解压
tar xf prometheus-2.53.3.linux-amd64.tar.gz

移动到 /usr/local/prometheus
mv prometheus-2.53.3.linux-amd64 /usr/local/prometheus

prometheus配置文件,可以根据需求更改配置
/usr/local/prometheus/prometheus.yml


配置systemd,用systemctl来管理prometheus

复制代码
cat > /usr/lib/systemd/system/prometheus.service <<'EOF'
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io
After=network.target
   
[Service]
Type=simple
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data/ \
--storage.tsdb.retention=15d \
--web.enable-lifecycle
     
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
   
[Install]
WantedBy=multi-user.target
EOF

启动prometheus

systemctl start prometheus

systemctl enable prometheus

netstat -lntp | grep 9090



Status-Targets 下看到prometheus状态为up

代表能正常采集到数据



2.node_exporter部署

在集群中每个需要监控的K8s节点上部署node_exporter

下载node_exporter包

地址:https://prometheus.io/download/

上传包至/opt

解压包
tar xf node_exporter-1.8.2.linux-amd64.tar.gz

移动到 /usr/local/bin
mv node_exporter-1.8.2.linux-amd64 /usr/local/bin


配置systemd,用systemctl来管理node_exporter

复制代码
cat > /usr/lib/systemd/system/node_exporter.service <<'EOF'
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter \
--collector.ntp \
--collector.mountstats \
--collector.systemd \
--collector.tcpstat
 
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
 
[Install]
WantedBy=multi-user.target
EOF

启动node_exporter

systemctl start node_exporter

systemctl enable node_exporter

netstat -lntp | grep :9100


3.修改prometheus配置文件

修改prometheus配置文件,在末尾加入被监控的k8s集群信息

vim /usr/local/prometheus/prometheus.yml

复制代码
  - job_name: nodes
    metrics_path: "/metrics"
    static_configs:
    - targets:
	  - 192.168.xx.x:9100
	  - 192.168.xx.x:9100
	  - 192.168.xx.x:9100
      labels:
        service: kubernetes

重载prometheus服务

systemctl reload prometheus

再次打开prometheus,验证k8s集群数据是否采集到


4.grafana部署

grafana官网:https://grafana.com/grafana/download/11.5.0

安装grafana

sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-11.5.0-1.x86_64.rpm


启动grafana

复制代码
systemctl start grafana-server

systemctl enable grafana-server

netstat -lntp | grep 3000

访问http://grafana服务IP:3000/

用户名/密码:admin/admin

进入主界面

配置数据源

添加新的数据源

选择prometheus

配置prometheus地址

在最下方点保存

添加模版

导入模版

在模版网站,选择模版,复制ID

我用的模版地址:

https://grafana.com/grafana/dashboards/16098-node-exporter-dashboard-20240520-job/

导入ID

最后在面板上查看监控的k8s的信息即可


参考文档:

https://blog.csdn.net/G_D0120/article/details/139652201?fromshare=blogdetail\&sharetype=blogdetail\&sharerId=139652201\&sharerefer=PC\&sharesource=Wangjiachenga\&sharefrom=from_link

https://blog.csdn.net/weixin_42171272/article/details/138714827?fromshare=blogdetail\&sharetype=blogdetail\&sharerId=138714827\&sharerefer=PC\&sharesource=Wangjiachenga\&sharefrom=from_link

相关推荐
Connie14513 小时前
记一次K8s故障告警排查(Grafna告警排查)
云原生·容器·kubernetes·grafana
谷隐凡二11 小时前
Kubernetes主从架构简单解析:基于Python的模拟实现
python·架构·kubernetes
陈陈CHENCHEN12 小时前
SuperMap iManager for K8s 离线环境镜像仓库 Containerd 部署
kubernetes
会飞的小蛮猪14 小时前
Ubuntu24.04 基于Containerd部署K8s1.34(私服部署)
docker·云原生·kubernetes
间彧1 天前
Kubernetes滚动发布详解
kubernetes
间彧1 天前
在实际生产环境中,Kubernetes声明式API如何实现蓝绿部署、金丝雀发布等高级部署策略?
kubernetes
间彧1 天前
Kubernetes声明式API相比传统命令式API在故障恢复场景下的具体优势有哪些?
kubernetes·github
间彧1 天前
为什么说Kubernetes的API设计是其成功的关键因素之一?
kubernetes
间彧1 天前
Kubernetes Deployment 配置简化实战:从复杂到高效
kubernetes
可爱的小小小狼1 天前
k8s:服务网格Service Mesh(服务网格)istio和envoy
kubernetes·istio·service_mesh