1. prometheus-监控docker服务器

  • prometheus-监控docker服务器

    • cAdvisor(Container Advisor):用于收集正在运行的容器资源使用和性能信息。

    • 项目地址:https://github.com/google/cadvisor

    • docker部署cAdvisor示例:

      docker run -d \
      --volume=/:/rootfs:ro \
      --volume=/var/run:/var/run:ro \
      --volume=/sys:/sys:ro \
      --volume=/var/lib/docker/:/var/lib/docker:ro \
      --volume=/dev/disk/:/dev/disk:ro \
      --publish=8080:8080 \
      --detach=true \
      --name=cadvisor \
      google/cadvisor:latest
  • 案例: 监控docker服务器

    • 监控执行命令

      docker run -d \
      --volume=/:/rootfs:ro \
      --volume=/var/run:/var/run:ro \
      --volume=/sys:/sys:ro \
      --volume=/var/lib/docker/:/var/lib/docker:ro \
      --volume=/dev/disk/:/dev/disk:ro \
      --publish=8080:8080 \
      --detach=true \
      --name=cadvisor \
      google/cadvisor:latest
    • 执行创建监控docker服务

      [root@VM-0-17-centos ~]# docker run -d \
      > --volume=/:/rootfs:ro \
      > --volume=/var/run:/var/run:ro \
      > --volume=/sys:/sys:ro \
      > --volume=/var/lib/docker/:/var/lib/docker:ro \
      > --volume=/dev/disk/:/dev/disk:ro \
      > --publish=8080:8080 \
      > --detach=true \
      > --name=cadvisor \
      > google/cadvisor:latest
      Unable to find image 'google/cadvisor:latest' locally
      latest: Pulling from google/cadvisor
      ff3a5c916c92: Pull complete
      44a45bb65cdf: Pull complete
      0bbe1a2fe2a6: Pull complete
      Digest: sha256:815386ebbe9a3490f38785ab11bda34ec8dacf4634af77b8912832d4f85dca04
      Status: Downloaded newer image for google/cadvisor:latest
      78d6d7db3b715f5800346cd592575a4b7be5e644e198dbf95160e64c3545fa53
    • 进行数据访问http://ip:8080

    • 配置prometheus添加服务

      [root@prometheus ~]# cd /opt/monitor/
      [root@prometheus monitor]# ll
      total 23072
      drwxr-xr-x 2 3434 3434 93 Jun 7 14:39 alertmanager
      -rw-r--r-- 1 root root 23624308 May 11 04:11 alertmanager-0.22.0-rc.1.linux-amd64.tar.gz
      drwxr-xr-x 8 root root 157 Jun 6 17:18 grafana
      drwxr-xr-x 5 3434 3434 145 Jun 7 17:07 prometheus
      [root@prometheus monitor]# cd prometheus/
      [root@prometheus prometheus]# ll
      total 167980
      drwxr-xr-x 2 3434 3434 38 Mar 17 04:20 console_libraries
      drwxr-xr-x 2 3434 3434 173 Mar 17 04:20 consoles
      -rw-r--r-- 1 3434 3434 11357 Mar 17 04:20 LICENSE
      -rw-r--r-- 1 3434 3434 3420 Mar 17 04:20 NOTICE
      -rwxr-xr-x 1 3434 3434 91044140 Mar 17 02:10 prometheus
      -rw-r--r-- 1 3434 3434 1043 Jun 7 17:07 prometheus.yml
      -rwxr-xr-x 1 3434 3434 80944687 Mar 17 02:12 promtool
      drwxr-xr-x 2 root root 22 Jun 7 14:43 rules
      [root@prometheus prometheus]# vim prometheus.yml
      [root@prometheus prometheus]# cat prometheus.yml
      # my global config
      global:
      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:
      - 127.0.0.1:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
      rule_files:
      - "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=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus' # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'. static_configs:
      - targets: ['127.0.0.1:9090']
      - job_name: 'linux server'
      static_configs:
      - targets: ['121.4.78.187:9100']
      labels:
      prod: 'web1'
      - job_name: 'docker server'
      static_configs:
      - targets: ['121.4.63.211:8080']
      labels:
      prod: 'web2'
    • 重新加载prometheus服务

      [root@prometheus prometheus]# /bin/systemctl restart prometheus
      [root@prometheus prometheus]# /bin/systemctl status prometheus
      ● prometheus.service - prometheus
      Loaded: loaded (/usr/lib/systemd/system/prometheus.service; enabled; vendor preset: disabled)
      Active: active (running) since Mon 2021-06-07 22:53:36 CST; 4s ago
      Main PID: 14647 (prometheus)
      CGroup: /system.slice/prometheus.service
      └─14647 /opt/monitor/prometheus/prometheus --config.file=/opt/monitor/prometheus/prometheus.yml Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.914Z caller=head.go:740 component=tsdb msg="WAL segment loaded" segment=1...egment=19
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.958Z caller=head.go:740 component=tsdb msg="WAL segment loaded" segment=1...egment=19
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.990Z caller=head.go:740 component=tsdb msg="WAL segment loaded" segment=1...egment=19
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.990Z caller=head.go:740 component=tsdb msg="WAL segment loaded" segment=1...egment=19
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.990Z caller=head.go:745 component=tsdb msg="WAL replay completed" checkpo....353439ms
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.993Z caller=main.go:799 fs_type=XFS_SUPER_MAGIC
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.993Z caller=main.go:802 msg="TSDB started"
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.993Z caller=main.go:928 msg="Loading configuration file" filename=/opt/mo...theus.yml
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.996Z caller=main.go:959 msg="Completed loading of configuration file" filename=/op…µs
      Jun 07 22:53:36 prometheus prometheus[14647]: level=info ts=2021-06-07T14:53:36.996Z caller=main.go:751 msg="Server is ready to receive web requests."
      Hint: Some lines were ellipsized, use -l to show in full.
    • 浏览器验证prometheus配置文件是否生成

    • 使用grafana进行监控docker服务数据展示

      • 导入监控docker的仪表盘,ID为193

      • 填写名称,选择数据源

      • 发现已有监控数据了

    • 监控docker服务添加一个导航栏









      点击save dashboard保存

      发现有了导航点击数据没有变化

      我们需要修改图表信息

      每张图片添加如上信息



      发现修改之后,就有了变化了

prometheus-监控docker服务器的更多相关文章

  1. Prometheus 监控Docker服务器及Granfanna可视化

    Prometheus 监控Docker服务器及Granfanna可视化 cAdvisor(Container Advisor)用于收集正在运行的容器资源使用和性能信息. 使用Prometheus监控c ...

  2. Prometheus 监控linux服务器

    Prometheus 监控linux服务器 node_exporter:用于*NIX系统监控,使用Go语言编写的收集器. 使用版本 node_exporter 0.17.0 相关文档 使用文档:htt ...

  3. Prometheus 监控Mysql服务器及Grafana可视化

    Prometheus 监控Mysql服务器及Grafana可视化. mysql_exporter:用于收集MySQL性能信息. 使用版本 mysqld_exporter 0.11.0 官方地址 使用文 ...

  4. Prometheus监控Docker Swarm集群(一)

    Prometheus监控Docker Swarm集群(一) cAdvisor简介 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advisor),它为 ...

  5. Grafana连接Prometheus监控Docker平台

    Grafana是一款开源的分析平台. Grafana allows you to query, visualize, alert on and understand your metrics no m ...

  6. Prometheus入门到放弃(4)之cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行. 1.下载镜像 [root@prometheus-server ...

  7. prometheus监控(小试牛刀)

    prometheus监控(小试牛刀) 环境:全部服务都是基于docker运行 本文略微草率,好文章在这里,特别好如下: https://www.cnblogs.com/tchua/p/11120228 ...

  8. 6. 使用cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行.这里我们可以服务端和客户端都使用cadvisor 客户端 1.下 ...

  9. cAdvisor+Prometheus+Grafana监控docker

    cAdvisor+Prometheus+Grafana监控docker 一.cAdvisor(需要监控的主机都要安装) 官方地址:https://github.com/google/cadvisor ...

  10. 使用docker方式构建prometheus监控的学习

    一.背景:近期学习部署prometheus监控系统,经研究发现prometheus提供docker运行模式.根据我的经验,能够使用docker模式构建系统一定多快好省. 二.环境: 1.centos7 ...

随机推荐

  1. 通过 Github Action 实现定时推送天气预报

    偶然间,看到 GitHub Actions 教程:定时发送天气邮件 - 阮一峰的网络日志 这篇文章,没错,这个正好能打发自己的折腾之心,也能通过代码给生活引入一些变化. 还是在这里简单记录一下实现过程 ...

  2. 基本的Dos命令 在控制台如何进入某一个文件或者进入不同的盘符

    基本的Dos命令 Windows+R 打开运行小窗口 cmd 进入 D: 切换盘符 dir 查看当前目录下的所有文件 cd 路径,进入某个文件 cd- 返回上一层 cls 清理屏幕 inconfig ...

  3. 一天十道Java面试题----第三天(对线程安全的理解------>线程池中阻塞队列的作用)

    这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 21.对线程安全的理解 22.Thread和Runnable的区别 23.说说你对守护线程的理解 24.ThreadLoc ...

  4. MyBatisPlus分页插件在SpringBoot中的使用

    文章目录 1.目录结构 2.新增配置 3.编写测试类 4.测试结果 5.数据库中的表 文件的创建: https://blog.csdn.net/weixin_43304253/article/deta ...

  5. Codeforces Round #829 (Div. 2) A-E

    比赛链接 A 题解 知识点:枚举. 只要一个Q后面有一个A对应即可,从后往前遍历,记录A的数量,遇到Q则数量减一,如果某次Q计数为0则NO. 时间复杂度 \(O(n)\) 空间复杂度 \(O(1)\) ...

  6. 前端性能优化——首屏时间&&白屏时间

    1.首屏时间概念 首屏时间是指用户打开一个网站时,直到浏览器首页面内容渲染完成的时间. 2.白屏时间概念 白屏时间即是,浏览器开始显示内容的时间,所以我们一般认为解析完<head>的时刻, ...

  7. C#中Enum的用法

    1.定义枚举类型 public enum Test { 男 = 0, 女 = 1 } 2.获取枚举值 public void EnumsAction() { var s = Test.男;//男 va ...

  8. Salesforce LWC学习(四十) dynamic interaction 浅入浅出

    本篇参考: Configure a Component for Dynamic Interactions in the Lightning App Builder - Salesforce Light ...

  9. 三十二、kubernetes集群的网络实现

    Kubernetes集群的网络实现 CNI介绍及集群网络选型 容器网络接口(Container Network Interface),实现kubernetes集群的Pod网络通信及管理.包括: CNI ...

  10. Linux系统部署Jenkins

    搭建Jenkins,准备搞一个定时任务来自动部署服务.做个记录. 问题写在前头:①建议使用最新版的Jenkins版本,jdk版本要跟Jenkins版本对应(有要求):②最好使用war包部署Jenkin ...