一 环境背景
二 监控目标及测试结果
     主机 A监测主机B上以下信息:  
  • 正在运行的容器数量 (黄)
  • 已经定义的容器数量 (绿)
  • 崩溃的容器数量        (红)
     
三 整体步骤
  • B主机采集docker容器信息
  • 监控主机A获取B主机上采集所采集信息
  • 自定义cacti数据输入方式
  • 自定义cacti数据模板
  • 自定义cacti图形模板
  • 应用Graph Template
四  具体实现
1    主机B,采集Docker信息脚本如下:DockerMonitor.sh
  • # cd /home
  • # vim DockerMonitor.sh
  • # chmod +x DockerMonitor.sh
      
     ps : 
     总容器数:ALL_FUNCTION_N
     正在运行的容器数:RUNNING_FUNCTION
     崩溃容器数据: CRASHED_FUNCTION
     执行结果如下:
     
 
2 主机A,获取主机B上所采集信息
  • #cd /var/www/html/cacti/scripts
  • #vim testDocker.sh
     
     运行结果:
     
     ps:host为被监控主机ip:192.168.24.231
 
3 自定义Data Input Method
 (1)Console->Collection Methods->Data Input Method->Add 
  ps 
  • 其中<ip> :被监控主机IP :192.168.24.233
  • Input Type 应选择Script/Command ,因为是运行自定义脚本
  • DockerMonitor.sh即为步骤2中所定义脚本
( 2 ) 弹出页面 Input Fields ==>Add
ps:
  • hostname,也可以不填写,如果填写的话,ip参数默认为Device Id
  • Field[Input] 为输入参数
(3)弹出页面 Output Fields ==>Add
  ps:
  • 框图图分应和脚本中输出参数相同,有多个输出参数,继续点Add 添加,且脚本中输出格式为:”RUNNING_FUNCTION:数量  CRASHED_FUNCTION:数量  ALL_FUNCTION:数量“
4   自定义Data Template
(1)  Console->Templates->Data Templates =>Add
ps
  • Name 即这个模板的名字
  • Data Source里的Name是指这个数据源的名字,这里一般会采用“|host_description| - 名称”的格式,在应用模板时,host_description会被替换为监控机器的名字
  • Data Input Method这里选我们刚才创建的Data Input Method即可,如果有多个的话,保存了以后,右上角会出一个New的链接,点击可以继续创建
  • 如果有多个输入的话,下面会出现Custom Data 区域,这里是指输入参数区域,你可以在这里给输入的参数给一个值,也可以让它在应用模板时输入
  • 至此,Data Input Method和Data Template联系起来了。
5  自定义Graph Template
(1)  Console->Templates->Graph Templates =>Add
具体添加Graph Template Items如下:
 
ps
  • Consolidation Function 应选择AVERAGE,否则会不出图形
  • 这 里第一个是Data Source选择我们之前创建的Data Template,因为可能有多个输出,因此它也可能有多个,我们一一创建即可,注意这里Color是用于显示的颜色,Graph Item Type是显示的类型,比如Area就是显示成块即可,Text Format就是给这个输出一个名字
  • 创建后,如果你还想为这个输出 创建一个Legend,那就是再Add选择Graph Item Type->Legend即可,注意上面的Graph Item Inputs是自动创建的,一般不用处理,到此,Graph Templates已经完成,接下来就是应用了。
6 应用Graph Templates
   选择Console->Management->Devices创建你要应用到的机器,定义输入参数等,以下步骤,略

Cacti自定义脚本,监测Docker信息(Script/Command方式)的更多相关文章

  1. zabbix 获取不到自定义脚本的值解决

    agent端: zabbix 自定义脚本 [root@localhost script]# cat check_ping.sh #!/bin/bash result=$(/usr/local/nagi ...

  2. Centos 配置开机启动脚本启动 docker 容器

    Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为 ...

  3. Linux笔记 #10# 用于支持Web应用开发&部署&配置的一些自定义脚本

    索引 一.本地开发与测试相关脚本 1.startup.sh 2.shutdown.sh 3.catalina-out.sh 4.localhost_access_log.sh 5.上传本地文件到服务器 ...

  4. 适用于 Windows 的自定义脚本扩展

    自定义脚本扩展在 Azure 虚拟机上下载并执行脚本. 此扩展适用于部署后配置.软件安装或其他任何配置/管理任务. 可以从 Azure 存储或 GitHub 下载脚本,或者在扩展运行时将脚本提供给 A ...

  5. Zabbix的通知功能以及自定义脚本告警

    本节内容: Zabbix的通知功能 定义接收告警的用户 定义Action Zabbix自定义脚本发送报警邮件 一.Zabbix的通知功能 在配置好监控项和触发器之后,一旦正常工作中的某触发器状态发生改 ...

  6. (48)zabbix报警媒介:自定义脚本Custom alertscripts

    自定义脚本媒介.zabbix会将信息传递给脚本,接下来你在脚本里面随意处理,一共会传递三个参数,按顺序接受也就是$1,$2,$3了,为了方便记忆,一般分别给他们赋值到To\Subject\body 配 ...

  7. 在nagios中使用nrpe自定义脚本

    nrpe的安装    tar xvfz nrpe-2.13.tar.gz cd nrpe-2.13 ./configure make all make install-plugin make inst ...

  8. [系统集成] RT(Request Tracker)执行自定义脚本及发送微信、短信的实现方法

    RT(Request Tracker)是一个基于 Perl 语言的开源状态跟踪和工作流系统,支持审批.权限管理等功能,中文化支持的也不错,可以作为企业的流程审批系统使用.可惜的是,该系统在国内使用的不 ...

  9. monkey自定义脚本实践

    自定义脚本的稳定性测试 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,Monkey支持执行用户自定义脚本的测试,用户只需要按照Mon ...

随机推荐

  1. 使用gogs和glide来轻松拉取golang第三方库

    golang的第三方代码拉取一直是让人头疼的问题,在github托管的代码还好,托管在其他网站上的代码总会由于大家都懂的原因,无法访问.纵使是github,在拉取文件数量较多的库时,也是比较慢的. 有 ...

  2. 关于verilog中的signed类型

    在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合:也可以使用有符号数,即包括0和正负数的集合.在更加复杂的系统中,也许这两种类型的数,我们都会用到. 有符号数通常以2的补码形式 ...

  3. [python3.x]win 7 下Pyinstaller库的安装与使用---探索之路

    一.下载安装包 cmd进入命令行,执行命令:pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz ...

  4. 4946: [Noi2017]蔬菜

    4946: [Noi2017]蔬菜 http://www.lydsy.com/JudgeOnline/upload/Noi2017D2.pdf 分析: 贪心. 首先可以将一个蔬菜拆成两个,一个是有加成 ...

  5. springboot之RMI的使用

    1.RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方法调用的 ...

  6. Python3 linux安装

    ./configure --prefix=/usr/local/python3 --with-ssl --enable-optimizations make && make insta ...

  7. 获取附加在方法上的Attribute

    如下: class Program { static void Main(string[] args) { var methodInfo = typeof(Program).GetMethod(&qu ...

  8. hdu1045Fire Net(经典dfs)

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  9. nginx 重启报错

    错误信息: nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or d ...

  10. (原)HUD绘画贴图解析

    @小道:临时存放       1\主过程 说明: a\调用DrawTextureSimple时,会将UTexure封装成CavarsItem, 若是正交投射函数执行双,最后CavarsItem.Dra ...