博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2020/07/14 Prometheus+Grafana监控Docker
阅读量:3926 次
发布时间:2019-05-23

本文共 2880 字,大约阅读时间需要 9 分钟。

Prometheus监控系统概述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
类似zabbix的proxy这个中间人
在这里插入图片描述
可以通过ansible批量consul来监控主机
在这里插入图片描述
pushgateway就是用来采集短周期的数据,不是持续进行的,比如定时任务
在这里插入图片描述
常规任务,exporter去采集
在这里插入图片描述
服务发现,原生支持对k8s的服务发现
在这里插入图片描述
服务端
在这里插入图片描述
告警,微信告警,webhook,钉钉告警都能支持,支持告警收敛,防止告警信息轰炸
在这里插入图片描述
可以用grafana、来进行展示
在这里插入图片描述
在这里插入图片描述
两个概念,实例可以认为是被监控端,作业就是实例的集合(一堆被监控端服务器可以进行分组)

在这里插入图片描述

Prometheus监控Docker主机

在这里插入图片描述

准备好两台安装好docker的,前提是有一个主配置文件

采集周期和评估周期

# my global configglobal:  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.  # scrape_timeout is set to the global default (10s).# Alertmanager configuration  告警是由独立组件来完成的,需要指定组件在什么位置alerting:  alertmanagers:  - static_configs:    - targets:      # - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files:  # - "first_rules.yml"  # - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.下面是监控配置scrape_configs:  # The job name is added as a label `job=
` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090'] - job_name: "docker" static_configs: - targets: ['192.168.31.62:8080'] - job_name: "Linux" static_configs: - targets: ['192.168.31.62:9100']

docker run起来就可以了

在这里插入图片描述

现在就可以访问了

在这里插入图片描述

有自己的数据模型,度量指标名,里面有多个标签,为了让这个指标存入多维度的数据模型
在这里插入图片描述
监控docker主机,要先运行一个容器
在这里插入图片描述
在这里插入图片描述
可以用states内置命令查看容器内的情况
在这里插入图片描述
现在是交互式一直在变动
在这里插入图片描述
可以加上no-stream
在这里插入图片描述
可以通过shell的awk把值取出来
在这里插入图片描述
直接取利用率百分比
在这里插入图片描述
Prometheus的都要按照这个来,度量指标名称+依赖
在这里插入图片描述
google开源了容器指标采集的系统cadvisor,内置在了K8S里,也是收集k8s里pod相关的指标的

cadvisor通过docke安装

在这里插入图片描述
挂载一个根
在这里插入图片描述
挂载/var/run目录里面会有一些pid

在这里插入图片描述

系统启动的一些信息,当前统计的一些信息
在这里插入图片描述
挂载docker工作目录,通过这个目录可以获取运行的容器,要监控哪些容器
在这里插入图片描述
硬盘信息
在这里插入图片描述
在这里插入图片描述
8080访问看看,cadvisor只负责采集数据,不负责存储
在这里插入图片描述
cadvisor暴露了一个metrics指标,每一行都是监控指标,度量名称和标签,后面是对应的值,prometheus拿到这些数据放到tsdb时序数据库里
在这里插入图片描述
修改普罗米修斯的配置文件,采集监控端,指定连接协议 http,连接接口默认metrics
在这里插入图片描述
重启下容器就好

在这里插入图片描述

container开头的都是cadvisor发过来的数据
在这里插入图片描述

Prometheus+Grafana可视化展示

在这里插入图片描述

安装grafana,增加一个数据源,创建仪表盘,创建用户,安装插件

增加数据源,就把普罗米修斯的访问地址9090即可

在这里插入图片描述

这样就完成了添加数据源

在这里插入图片描述
建议先去grafana的仪表盘库里去找,监控docker有一个不错的,id号是193
在这里插入图片描述
苦于直接选择导入仪表盘
在这里插入图片描述
输入193
在这里插入图片描述
选择数据源
在这里插入图片描述
这样数据就出来了,起来的两个容器都采集到了

在这里插入图片描述

上面是对容器的监控,还可以对主机的监控,需要下载exporter
在这里插入图片描述
在这里插入图片描述
跑一下脚本,node_exporter.sh

#!/bin/bashwget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gztar zxf node_exporter-0.17.0.linux-amd64.tar.gzmv node_exporter-0.17.0.linux-amd64 /usr/local/node_exportercat <
/usr/lib/systemd/system/node_exporter.service[Unit]Description=https://prometheus.io[Service]Restart=on-failureExecStart=/usr/local/node_exporter/node_exporter[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable node_exportersystemctl restart node_exporter

这样就起来了

在这里插入图片描述
node_exporter监控地址是9100
在这里插入图片描述
Prometheus配置文件修改

在这里插入图片描述

可以重读配置也可以直接重启容器

在这里插入图片描述

现在都好了

在这里插入图片描述

grafana有个9276模板
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如果遇到不出图,可能遇到很多原因,没数据(编辑的时候把公式复制到prometheus里执行看看),时间不对(选择7天这种,看能否出图,能出图多半是时间不对),promsql语句不对

转载地址:http://mqzgn.baihongyu.com/

你可能感兴趣的文章
gdb中设置共享库断点问题
查看>>
GBD调试程序(转)作者:Janlex
查看>>
OpenOBEX代码
查看>>
第16章可移植性
查看>>
linux下open()与fopen()
查看>>
小型软件公司的绩效考核
查看>>
程序编译中如何调试configure
查看>>
关于安装multiget出现XML::Parser perl module is required for intltool错误问题的解决
查看>>
从学习export命令理解到的Shell环境和变量生存期
查看>>
《程序员》杂志:小公司如何建设技术中层
查看>>
glibc是什么,以及与gcc的关系?
查看>>
转 arm-linux-gcc和arm-elf-gcc 区别
查看>>
使用 typedef 抑制劣质代码
查看>>
Bluez下的rfcomm层通信测试程序
查看>>
GCC参数详解
查看>>
软件开发者面试百问
查看>>
硬盘安装Fedora 9
查看>>
嵌入式Linux系统的GDB远程调试实践
查看>>
Linux下基于bluez与obex的服务端实现流程
查看>>
Linux命令行程序设计
查看>>