zabbix 自动出图脚本

#!/bin/bash
#不配置字符集,脚本放到crontab里发出的中文E-MAIL乱码
export LANG=en_US.UTF-8

#有点强迫症,习惯什么东西在什么地方干 ^_^
cd /home/zabbix/graph

#保存cookie文件名
COOKIE=zbx_cookie.txt
> $COOKIE

#我是在zbx上开一个组,弄一个只读账号,把想出图的主机放进去。
NAME="reader"
PASSWD="123456789"

#EMAIL木什么好说地,有几个e-mail并排写就好啦。
EMAIL="[email protected] [email protected] [email protected]"

#需要提取数据的IP地址,其实这个IP主要是用来给图片命名用的。恩恩
IPADDR=(192.168.1.1 192.168.1.2)

#这个地方比较麻烦,因为itemid是唯一的,所以需要自己肉眼高速扫描的去查。
#这里我们拿内存和cpu来举个例子吧。恩恩。CPU_ITEMID=(12345 67890)
MEM_ITEMID=(98765 65432)

#我们高大上的zbx地址
URL="http://127.0.0.1"

#登录保存cookie
curl -s -c $COOKIE -b $COOKIE  -d "request=&name=${NAME}&password=${PASSWD}&autologin=1&enter=Sign+in" $URL

#还是强迫症,木办法。
[[ -d cpu_png ]] || mkdir cpu_png
[[ -d mem_png ]] || mkdir mem_png

#PERIOD配置获取数据的时间段,用秒数来表示。
#ld需求要7天内的。604800,大家都懂的。
#这里举个例子我写的3600。
PERIOD=3600

#这是我们的开始时间,也就是当前时间,
STIME=$(date +%Y%m%d%H%M%S)

#图片宽度
WHIDTH=1200

#我是针对ITEMID组来进行循环创建图片的,为了显的好看点,我才这么写的。#要不横着写起来太长鸟~!你们懂的。我们开始拼url
for i in $(seq 0 $[${#CPU_ITEMID[@]}-1]);do
    curl -s -b $COOKIE     -F "itemid=${CPU_ITEMID[i]}"     -F "period=$PERIOD"     -F "curtime=$STIME"     -F "width=$WHIDTH"     "$URL/chart.php" > cpu_png/${IPADDR[i]}_cpu.png
done

for i in $(seq 0 $[${#MEM_ITEMID[@]}-1]);do
    curl -s -b $COOKIE     -F "itemid=${MEM_ITEMID[i]}"     -F "period=$PERIOD"     -F "curtime=$STIME"     -F "width=$WHIDTH"     "$URL/chart.php" > mem_png/${IPADDR[i]}_mem.png
done
#我开始有点懒了,反正图片都出来了爱怎么地怎么地吧。我手动拼的。
CPU_PNG="-a cpu_png/192.168.1.1_cpu.png -a cpu_png/192.168.1.2_cpu.png"
MEM_PNG="-a mem_png/192.168.1.1_mem.png -a mem_png/192.168.1.2_mem.png"

#E-MAIL的TITLE,都懂的。不解释了。
CPU_TITLE="$(date +%Y年%m月%d日) Cpu idle 曲线图"
MEM_TITLE="$(date +%Y年%m月%d日) Memory realused 曲线图"

#卡卡卡开始对ld进行邮件轰炸,用不用写个死循环呢。:p
echo "附件为抽查服务器cpu idle曲线图" | mail -s "$CPU_TITLE" $CPU_PNG $EMAIL
echo "附件为抽查服务器memory realused曲线图" | mail -s "$MEM_TITLE" $MEM_PNG $EMAIL

#做事要干净,吃完饭记得擦嘴。
[[ -d cpu_png ]] && rm -rf cpu_png
[[ -d mem_png ]] && rm -rf  mem_png
exit 0

其实就是根据这个url自己拼的。

最后呈现出来的样子就系这样啦。

zabbix 自动出图脚本

时间: 2024-10-12 17:49:19

zabbix 自动出图脚本的相关文章

PDMS设备平台梯子建模出图

PDMS设备平台梯子建模出图 [email protected] 1.概述 PDMS提供了平台梯子建模功能,程序比较通用,没有根据国内公司相关标准建模出图,不能满足设备专业的出图汇料要求.通常是管道专业在PDMS中把结构.设备及其平台梯子建模,再提相关委托和结构.设备专业进行协同设计.因为管道专业建的平台.梯子不能按结构.设备专业要求进行出图,所以导致设备专业不愿意进入PDMS. 开发程序对设备专业的平台梯子进行精确建模,并且在精确模型的基础上自动出图.汇料.这样就可以使设备专业设计人员愿意进入

zabbix结合grafana出图

Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器.Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,InfluxDB 和 OpenTSDB. Grafana 主要特性:灵活丰富的图形化选项:可以混合多种风格:支持白天和夜间模式:多个数据源:Graphite 和 InfluxDB 查询编辑器等等. 因为zabbix本身自带的图形比较少,不能满足我们的需求.所以,我们可以安装grafana来配合zabbix出图,让数据更加直观.形象地体

zabbix/自动发现规则

对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对应的value 从而省去我们一部分的重复代码 . 现需求 需要自定义一个监控脚本,目的是取各服务器三线ip地址 进行向另一端源服务器进行ping rtt和loss的请求进行判断是否存在丢包行为. 1:不同业务,对应不同的模板,我们需要现创建一个模板,用于我们这个特殊的业务 2:创建完成后,点击我们创建好

CentOS7安装nagios并配置出图详解

目录 开始之前 系统环境 监控内容 所需软件包 Centos7重要变化 配置开发环境 同步时间 关闭Selinux 使用CRT上传软件包 安装邮件服务 监控主机安装 常用到的命令 安装nagios所需要的运行环境 增加用户 安装nagios 配置权限 安装插件 安装nrpe 远程主机安装 常用到的命令 配置运行环境 安装nagios-plugin 安装nrpe 启动nrpe. 监控主机安装PNP 配置开发环境 安装php4nagios (版本号为0.6) 配置pnp4nagios 图表展示 问题

nagios监控+pnp4出图

Nagios监控系统 By:大官人 一.nagios简介 Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等. 二.nagios功能特点 1.监控网络服务(SMTP.POP3.HTTP.NNTP.PING等): 2.监控主机资源(处理器负荷.磁盘利用率等): 3.简单地插

利用PS自动切图、支持svg且支持icoMoon——再也不用四处去转格式了

今天想导出svg格式的图片支持webFont,结果AI打不开了,文件好像损坏了,于是就想办法在PS里面导出. 网上搜索到一篇文章,腾讯的 http://isux.tencent.com/ps-photoshop-cc-fd.html, 同时还会引用到一个三方脚本  http://hackingui.com/design/export-photoshop-layer-to-svg/ , 三方脚本的一篇文章 http://www.ui.cn/detail/53284.html. 最终找到了解决办法,

zabbix自动发现结合shell实现自动发现占用内存最大top10进程并监控其资源

最近在想一个问题,线上服务器跑的服务五花八门,可能这台跑的是nginx,另一台跑的是mysql,其他的跑的是nfs或者其他服务等等,通过某一个脚本中固定的写入一些服务来实现监控所有的服务器的进程占用资源情况占用zabbix服务器资源不说,假如该服务器跑的服务不在固定列表中,监控服务获取不到相应数据. 为了解决这个问题,最近在想通过zabbix的自动发现功能能不能实现自动发现占用服务器内存最大的N个进程,然后对这些进程占用内存和CPU的资源情况进行监控获取数据呢?于是就有了本篇文章的诞生. 首先,

Zabbix自动发现监控Mysql数据库

结果图展现 先让大家看下结果图,Zabbix通过自动发现监控Mysql每秒的增.删.改.查,通过自动发现监控Mysql的流入流出流量,结果图如下: Mysql给Zabbix监控的权限 首先创建一个监控用户,usage on为比较小的权限,较安全.sql如下 grant usage on *.* to 'monitor'@'127.0.0.1' identified by 'shijiangepwd'; flush privileges; 测试监控用户是否生效,测试结果如下 mysql -umon

zabbix专题:第九章 zabbix自动发现功能详解

zabbix自动发现功能详解 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix自动发现功能详解 网络发现简介 有100台服务器,不想一台台主机去添加,能不能让zabbix自动添加主机呢,当然可以,网络发现便是这个功能,当然前提条件是所有服务器都已经安装了agent或者snmp(其实也可以不用,鉴于我们大部分功能都用agent,所以请安装上agent),server扫描配置好的ip段,自动添加ho