Docker 部署普罗米修斯监控

这篇具有很好参考价值的文章主要介绍了Docker 部署普罗米修斯监控。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker 部署普罗米修斯监控

介绍Prometheus
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker。

Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。

输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux 系统信息 (包括磁盘、内存、CPU、网络等等),具体支持的源看:https://github.com/prometheus。

与其他监控系统相比,Prometheus的主要特点是:

一个多维数据模型(时间序列由指标名称定义和设置键/值尺寸)。
非常高效的存储,平均一个采样数据占~3.5bytes左右,320万的时间序列,每30秒采样,保持60天,消耗磁盘大概228G。

一种灵活的查询语言。
不依赖分布式存储,单个服务器节点。
时间集合通过HTTP上的PULL模型进行。
通过中间网关支持推送时间。
通过服务发现或静态配置发现目标。
多种模式的图形和仪表板支持。

一 安装运行Prometheus(docker版)

下面介绍如何使用Prometheus、Grafana、CAdvisor、node-exporter、mysqld-exporter对本机服务器性能、Docker容器、MySQL数据库进行监控。

监控本机,只需要一个exporter

node_exporter – 用于机器系统数据收集

mysqld-exporter 用于MySQL数据库数据收集

Cadvisor 用于收集宿主机上的docker容器数据

Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。它内置了以下数据源的支持:

下面是我们安装时用到的架构图:

二 拉取镜像
docker pull prom/node-exporter
docker pull prom/mysqld-exporter
docker pull google/cadvisor
docker pull prom/prometheus
docker pull grafana/grafana

1 启动node-exporter
docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

验证是否启动成功

docker 部署普罗米修斯,docker,运维,java

访问url:

http://ip:9100/metrics
docker 部署普罗米修斯,docker,运维,java

启动mysqld-exporter
docker run -d --name mysqld_exporter --restart=always -p 9104:9104 -e DATA_SOURCE_NAME="admin:admin@(192.168.232.3:3306)/" prom/mysqld-exporter

验证

docker 部署普罗米修斯,docker,运维,java

http://ip:9104/metrics

docker 部署普罗米修斯,docker,运维,java

启动cadvisor

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8081:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg google/cadvisor:latest

1验证http://ip:9104/metrics

2验证访问8081端口

docker 部署普罗米修斯,docker,运维,java

docker 部署普罗米修斯,docker,运维,java

添加redis监控


docker pull oliver006/redis_exporter:latest

docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter:latest --redis.addr redis://192.168.232.3:6379 --redis.password "myredis"
创建目录挂载启动prometheus
mkdir /home/prometheus
cd /home/prometheus/
vim prometheus.yml
global:
  scrape_interval:     60s
  evaluation_interval: 60s

scrape_configs:

  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus

  - job_name: linux
    static_configs:
      - targets: ['172.17.0.2:9100']
        labels:
          instance: localhost
   #  - targets: ['192.168.232.3:9100']  
   #这里添加targets,可以使用Prometheus监控其他装有node_exporter的节点,单节点则不需要
   #    labels:
   #      instance: 192.168.232.3

  - job_name: cadvisor
    static_configs:
      - targets: ['172.17.0.6:8081']
        labels:
          instance: cAdvisor

  - job_name: mysqld
    static_configs:
      - targets: ['172.17.0.4:9104']
        labels:
          instance: mysql-exporter
  - job_name: redis
   static_configs:
     - targets: ['172.17.0.10:9121']
       labels:
         instance: redis-exporter       

注意:修改IP地址,这里的172.17.0. xx就是docker容器内的私网,需要自行查询

挂载启动prometheus
docker run  -d --name prometheus --restart=always -p 9090:9090 -v /home/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

验证 ip+端口

http://ip:port/graph

docker 部署普罗米修斯,docker,运维,java

http://ip:port/targets

docker 部署普罗米修斯,docker,运维,java

启动grafana

新建空文件夹grafana-storage,用来存储数据

mkdir /home/grafana-storage

赋予权限因为grafana用户会在这个目录写入文件,直接设置777,比较简单粗暴!

chmod 777 -R /home/grafana-storage

启动grafana

docker run -d --name grafana --restart=always -p 3000:3000 --name=grafana -v /home/grafana-storage:/var/lib/grafana grafana/grafana

访问url:

http://ip:3000/

选择Prometheus

name名字写Prometheus

type 选择Prometheus,因为数据都从它那里获取

url 输入Prometheus的ip(docker容器私网ip)+端口
docker 部署普罗米修斯,docker,运维,java

点击下面的Save & Test,如果出现绿色的,说明ok了

docker 部署普罗米修斯,docker,运维,java

导入对应模版驾驶舱

MySQL Overview

docker 部署普罗米修斯,docker,运维,java

Docker Registry

docker 部署普罗米修斯,docker,运维,java

Linux主机详情

docker 部署普罗米修斯,docker,运维,java

redis

docker 部署普罗米修斯,docker,运维,java文章来源地址https://www.toymoban.com/news/detail-653623.html

到了这里,关于Docker 部署普罗米修斯监控的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Prometheus+Grafana普罗米修斯搭建+监控MySQL

    1.什么是Prometheus? ​ Prometheus 是 Cloud Native Computing Foundation 的一个监控系统项目, 集采集、监控、报警等特点于一体。 ​ Prometheus 主要受启发于 Google 的 Brogmon 监控系统, 从 2012 年开始由前 Google 工程师在 Soundcloud 以开源软件的形式进行研发, 2017 年底发布了基于全新存储层

    2024年02月08日
    浏览(41)
  • Python圈的普罗米修斯——一套近乎完善的监控系统

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统。当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的监控系统,即普罗米修斯。 普罗米修斯(下称普罗)的作者 Matt T.Proud 在2012年加入SoundCloud公司,他从

    2024年02月07日
    浏览(27)
  • 【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)

    zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死存亡时刻,也支持了Prometheus使用的TSDB数据库。 Prometheus 是一个开源的服务监控系

    2024年02月03日
    浏览(35)
  • 完美的分布式监控系统——Prometheus(普罗米修斯)与优雅的开源可视化平台——Grafana(格鲁夫娜)

            prometheus与grafana之间是相辅相成的关系。作为完美的分布式监控系统的Prometheus,就想布加迪威龙一样示例和动力强劲。在猛的车也少不了仪表盘来观察。于是优雅的可视化平台Grafana出现了。         简而言之Grafana作为可视化的平台,平台的数据从Prometheus中取到来进

    2024年02月14日
    浏览(46)
  • docker——监控以及常用监控工具介绍和docker部署

    在公司的时候,监控类的还是接触的比较多。基本上就是grafana + datasource(prometheus、pg、es) + 告警规则 下面简单介绍一些监控维度以及几种数据源工具和grafana使用(全部以docker部署,方便学习) 监控维度 在主机上运⾏的容器是监控的重中之重。作为应⽤的直接载体,使⽤者需

    2024年01月24日
    浏览(26)
  • Sentry 监控 Docker 方式部署

    根据主篇 Sentry 监控部署与使用 流程,使用 Docker 方式 方式进行部署。 docker 方式 部署操作比较简单,也是 Sentry 官方 比较推崇的方式,直接按 Sentry On-Premise 提供的方式按部就班部署就好了。或者可直接参考 Docker 部署 Sentry 监控 Django 应用并使用Email+钉钉通知 即可。 1、 W

    2024年02月07日
    浏览(26)
  • 【Docker】部署WVP视频监控平台

    回来Docker系列,今天将会跟大家分享一则关于开源WVP视频监控平台的搭建。先说结论吧,一开始按照网上说的一步一步搭建没有搭建成功,不知道是版本太旧还是我这边机器有问题,尝试了好几个不同方式的搭建都没有成功,最终还是通过Docker镜像完成的。 虽然直接搭建没有

    2023年04月09日
    浏览(24)
  • 使用 Docker 部署 ServerStatus 服务器监控系统

    GitHub: https://github.com/cppla/ServerStatus ServerStatus 是一个酷炫高逼格的云探针、云监控、服务器云监控、多服务器探针~。 特性 使用 Rust 完全重写 Server、Client,单个执行文件部署 支持上下线和简单自定义规则告警 (Telegram、 Wechat、 Email、 Webhook) 支持 http 协议上报,可以方便部署

    2024年01月24日
    浏览(38)
  • docker compose 部署ELK 8.X及监控

    安装docker 安装docker-compose 相关版本: ES:8.5.0 kibana:8.5.0 logstash:8.5.0 数据存储映射路径配置777权限 es配置文件 数据存储映射路径配置777权限 logstash配置文件 日志文件配置 pipelines配置文件 配置logstash数据处理流程,依据实际项目需求配置,此处以input为kafka,output为es举例

    2024年02月07日
    浏览(27)
  • docker容器监控:Cadvisor+InfluxDB+Grafana的安装部署

    目录 Cadvisor+InfluxDB+Grafan安装部署 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 5、创建influxdb容器 6、创建Cadvisor 容器 7、查看Cadvisor 容器: (1)准备测试镜像 (2)通过http://192.168.100.132:8080端口访问测试 8、创建granafa容器 [root@huyang2 ~]# iptables -F

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包