k8s监控方案:prometheus+exporter+grafana
官方文档:
https://prometheus.io/docs/introduction/first_steps/
https://prometheus.io/docs/guides/node-exporter/
https://grafana.com/docs/grafana/latest/guides/getting_started/
1.Prometheus安装步骤
(1)下载并解压Prometheus到k8s的master机器
Prometheus下载地址:
解压:
tar xvfz prometheus-*.tar.gz
cd prometheus-*
(2)配置
查看prometheus.yml,修改和添加以下配置:
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: '
node-admin-10.4.64.39' #配置k8s的master和所有node的name和ip:port,格式如下static_configs:
- targets: ['
localhost:9090']- job_name: '
node1-10.4.65.154'static_configs:
- targets: ['
10.4.65.154:9100']
(3)启动prometheus
./prometheus --config.file=prometheus.yml
(4)访问prometheus
本地浏览器访问:
(5)查看监控指标
-- status-> Targets 查看node节点运行情况(此时所有的node都是down,因为还没有部署agent)
-- 下图中1查看所有监控指标
-- 下图中2执行监控指标
-- 下图中3图形化展示监控指标
2.Prometheus Node Exporter安装步骤
Prometheus Node Exporter需要部署在所有的node机器上。安装步骤如下:
(1)Prometheus Node Exporter下载地址
(2)安装步骤
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64
nohup ./node_exporter &
您应该看到如下所示的输出,指示节点导出器正在运行并在端口9100上公开指标:
INFO[0000] Listening on :9100 source="node_exporter.go:111"
验证安装是否成功:
curl http://localhost:9100/metrics
输出如下,表示成功:
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summarygo_gc_duration_seconds{quantile="0"} 3.8996e-05
go_gc_duration_seconds{quantile="0.25"} 4.5926e-05
go_gc_duration_seconds{quantile="0.5"} 5.846e-05# etc.
(3)重启prometheus (如需要)
netstat -nap | grep 9090 #查看prometheus 的进程号
kill -9 PID #关闭prometheus 的进程
./prometheus --config.file=./prometheus.yml #重启prometheus
(4)验证node_exporter的数据被正确收集
http:// localhost:9090
status-> Targets中所有Endpoint 的state为up
3.Grafana安装步骤
Grafana部署在prometheus的master同一机器上
(1)Grafana下载地址,并按照说明进行安装
(2)启动Grafana
sudo service grafana-server start
(3)浏览器访问Grafana
http://ip:3000
用户名/密码:admin/admin
(4)Grafana基本配置
* 添加Data Sources
- 在Dashboards中,点击Data Sources,单击+ Add data source
- 选择Prometheus
- 添加name,URL,sava&test
* 根据需要导入展示模板
- 查看所有模板:https://grafana.com/grafana/dashboards?dataSource=prometheus&search=node_exporter
- 选择需要的模板
- 进入模板后,复制模板ID
- import模板:
(5)Grafana数据展示
可根据需要展示的数据,添加panel。
可根据需要拖动panel的位置。