Prometheus监控and可视化Grafana

当谈到监控和可视化时,Prometheus和Grafana是两个非常受欢迎的开源工具。它们在监控、度量和数据可视化方面发挥着关键作用。以下是对Prometheus和Grafana的详细介绍以及它们的优势和用途的解释:

  1. Prometheus:

    • Prometheus是一个开源的系统监控和报警工具。它专门设计用于收集、存储和查询时间序列数据。
    • 优势:
      • 多维度数据模型:Prometheus使用标签(Labels)来标识和分组时间序列数据,使得数据可以根据不同的维度进行查询和聚合。
      • 灵活的查询语言:PromQL是Prometheus的查询语言,它提供了丰富的功能,可以进行灵活的数据查询和聚合操作。
      • 强大的告警机制:Prometheus具有内置的告警规则和报警管理器,可以根据自定义的规则对监控数据进行分析,并在触发条件时发送报警通知。
      • 自动服务发现:Prometheus支持自动发现和监控目标,可以通过诸如Kubernetes、Consul等服务发现机制动态添加和移除目标。
      • 可扩展性:Prometheus的架构非常可扩展,可以在需要时添加更多的实例以处理大规模的监控数据。
    • 用途:Prometheus适用于收集和监控各种系统和应用程序的指标数据,例如服务器资源利用率、网络流量、应用程序性能等。它广泛应用于云原生环境和容器化应用的监控。
  2. Grafana:

    • Grafana是一个开源的数据可视化和仪表盘工具。它可以连接多种数据源,包括Prometheus、InfluxDB、Elasticsearch等,并提供丰富的可视化选项。
    • 优势:
      • 多数据源支持:Grafana支持连接多种数据源,包括Prometheus、InfluxDB、MySQL等,使得用户可以从不同的数据源中获取数据并进行可视化。
      • 灵活的仪表盘配置:Grafana提供了直观的仪表盘编辑器,使用户可以轻松创建和配置自定义的仪表盘,包括图表、面板和警报。
      • 多种可视化选项:Grafana支持多种图表类型和可视化选项,包括折线图、柱状图、仪表盘、地图等,使用户可以根据需要选择最适合的方式展示数据。
      • 告警通知集成:Grafana可以与各种告警通知渠道集成,如电子邮件、Slack等,以便在触发条件时发送报警通知。
      • 社区支持和插件生态系统:Grafana拥有活跃的社区,并提供了丰富的插件生态系统,可以扩展和定制其功能。
    • 用途:Grafana广泛用于可视化和监控数据的展示。它可以连接各种数据源,创建漂亮的仪表盘,并提供实时的数据可视化和监控报警功能。

综上所述,Prometheus和Grafana是一对强大的组合,它们共同提供了监控、度量和数据可视化的解决方案。Prometheus用于收集和存储时间序列数据,并提供强大的查询和告警功能,而Grafana则用于连接数据源、创建仪表盘和可视化数据。这两个工具的结合使得用户可以更好地理解和分析系统和应用程序的性能,并及时采取措施来解决潜在的问题。

——接下来我们来部署一下这两个服务,并结合起来一起使用

首先我们需要三台用来学习的虚拟机

关闭selinux跟防火墙(每台机器都要操作的哦,不要马虎)

systemctl stop firewalld 

setenforce 0

有docker的话最好,没有docker的话直接执行 yum -y install docker  可以直接下载最新版本的docker

拉取镜像

docker pull prom/prometheus     ①服务器拉取  (①=我们要部署普罗米修斯+Grafana的机器)

docker pull grafana/grafana    ①服务器拉取

docker pull prom/node-exporter 三台都拉取

docker pull google/cadvisor 三台都拉取

EXPORTR(三节点启动,访问IP+9100端口测试)

docker run -d  --name node-exporter -v /proc:/host/proc -v /sys:/host/sys -v /:/rootfs --net=host docker.io/prom/node-exporter:latest --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"

CADVISOR(三节点部署,访问IP+8080测试)

***大概率出现报错在测试的时候,在run之后再执行下面的logs指令,看里面有没有error,有的话就按下面步骤来进行挂载跟软连接跟重启

(docker logs -f cadvisor

mount -o remount,rw '/sys/fs/cgroup'

ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

docker restart cadvisor)

docker run -v /:/rootfs:ro -v /var/run:/var/run/:rw -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro --detach=true --name=cadvisor --net=host docker.io/google/cadvisor:latest

到我们能够访问出来猫头鹰的时候就没有问题啦,证明是对的

接下来我们就来搞一搞普罗米修斯吧 

docker run -d --name prometheus --net=host docker.io/prom/prometheus:latest

启动监控把配置文件映射出来进行修改,去监控另外两台的机器,修改完再重新启动监控,去访问测试IP+9090端口

docker cp prometheus:/etc/prometheus/prometheus.yml

修改完重启的时候切记要停掉跟删掉之前的,不然会出现报错的
docker stop prometheus
docker rm prometheus

再来重新启动一下就没有问题咯

 docker run -d --name prometheus --net=host -v /root/prometheus.yml:/etc/prometheus/prometheus.yml docker.io/prom/prometheus:latest

去访问,按步骤点击可以看到我们配置文件内写进的需要监控的机器,另外两台机器上运行的服务可以试一试停掉再启动,看Prometheus的变化

这个时候的普罗米修斯基本上算是完成了,但是还得需要加上我们的可视化页面,这时候去搞Granfana

在runGrafana前先创建个目录,并授权

去启动我们的Grafana

docker run -d --net=host --name grafana -v /root/grafana:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=123456" docker.io/grafana/grafana:latest

run完之后就可以去页面访问了,默认用户是admin,密码上面设置的是123456

进去后点击这个图标就可以配置了(像是一对金币的图标,我做的快了忘记截图了,体谅一下)

在下面选取我们的普罗米修斯,并且记得配置好普罗米修斯的IP地址,使其能够访问的到,就填这两个地方就OK了,很简单

 填写完成后拉倒底部有SAVE的指令,点击确定,没有问题了就,监控就加上了

虽然grafana收集到了数据,但怎么显示它,仍然是个问题,grafana支持自定 义显示信息,不过要自定义起来非常麻烦,不过好在,grafana官方为我们提供了一些模板,来供我们使用

Dashboards | Grafana Labsicon-default.png?t=N6B9https://grafana.com/grafana/dashboards/

  选取我们喜欢的模板进行下载

认准这个图标,下载JSON,保存到桌面后我们拉取到监控中就可以了

上传,保存,会获得一个页面,恭喜你,完成了配置!

猜你喜欢

转载自blog.csdn.net/pengpeng0121/article/details/132478504