利用PhantomJS 自动截图Kibana ,phpmailer发送网站运营日报

如题,先来张最终效果运营日报

下面介绍下实现过程

【前期准备】

kibana配置视图,并做好条件过滤视图,这里就是做介绍,可以参考博文,

视图做好后生成一个短链接,这里我们生成的是

http://10.0.0.110:5601/goto/4d641c075d7cbf2c7d70a82b16436769

1、安装配置PhantomJS

# yum -y install gcc gcc-c++ make flex bison gperf ruby   openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel   libpng-devel libjpeg-devel
# git clone git://github.com/ariya/phantomjs.git
# cd phantomjs
# ./build.sh

2、PhantomJS截图脚本

创建TimeOut2s.js

var page = require(‘webpage‘).create();
var address = ‘http://10.0.0.110:5601/goto/4d641c075d7cbf2c7d70a82b16436769‘;
var output = ‘TimeOut2s.png‘;
page.viewportSize = { width: 1600, height: 600 };
page.open(address, function (status) {
    if (status !== ‘success‘) {
        console.log(‘Unable to load the address!‘);
        phantom.exit();
    } else {
        window.setTimeout(function () {
            page.render(output);
            phantom.exit();
        }, 20000);
    }
});

做完以上工作 ,我们先测试下,是否可以正常截图

#/data/programs/phantomjs-2.1.1-linux-x86_64/bin/phantomjs  /data/scripts/reports/TimeOut2s.js

果然在路径下产生了一个TimeOut2s.png,截图成功

好了,截图过程很简单吧,接下来配置phpmailer发送邮件过程

Phpmailer组件的好处不做累述,总之呢可以发送图片到邮件内容中,

下载phpmailer后,我们只用到以下这几个文件:

class.phpmailer.php 、class.pop3.php、class.smtp.php、 mailer.php

首先要配置的是mailer.php, 在这里我配置的是阿里的邮箱地址

<?php

header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require ‘class.phpmailer.php‘;
$foo = date("Y-m-d");
try {
        $mail = new PHPMailer(true); 
        $mail->IsSMTP();
        $mail->CharSet=‘UTF-8‘; //设置邮件的字符编码,这很重要,不然中文乱码
        $mail->SMTPAuth   = true;                  //开启认证
        $mail->Port       = 25;                    
        $mail->Host       = "smtp.mxhichina.com"; 
        $mail->Username   = "[email protected]***.com";    
        $mail->Password   = "********";            
       
        $mail->From       = "[email protected]***.com";
        $mail->FromName   = "Monitor";
        $to = "[email protected]";     //发送邮件
        $mail->AddAddress($to);
        $mail->addcc("[email protected]");  //抄送邮件
        $mail->Subject  = "**官网性能数据TimeOut2s日报$foo";
        $mail->AddEmbeddedImage(‘TimeOut2s.png‘, ‘logoimg‘, ‘TimeOut2s.png‘);
        $mail->Body = "
     <h1>Test 1 of PHPMailer html</h1>
    <p>This is a test picture: <img src=\"cid:logoimg\" /></p>";
$mail->AltBody="This is text only alternative body.";

        $mail->WordWrap   = 80; // 设置每行字符串的长度
        //$mail->AddAttachment("f:/test.png");  //可以添加附件
        $mail->IsHTML(true); 
        $mail->Send();
        echo ‘邮件已发送‘;
} catch (phpmailerException $e) {
        echo "邮件发送失败:".$e->errorMessage();
}
?>

上面配置很简单吧,确保生成的图片和phpmail.php是同一路径,测试下

/usr/bin/php /data/scripts/reports/mailer.php

果然收到邮件了。

接下来无非就是调下邮件的格式,加到自动执行脚本里,每天发送日报。

以上大致就是利用PhantomJS 自动截图Kibana ,phpmailer发送网站运营日报 ,如有问题请多多关注博文。

时间: 2024-11-05 04:49:53

利用PhantomJS 自动截图Kibana ,phpmailer发送网站运营日报的相关文章

利用Powershell自动部署asp.net mvc网站项目 (一)

这一篇中我们会写一些关于自动化部署的代码.我们会使用 Powershell 书写这类代码. 你将发现这篇文章中涉及的东西非常具体,有的要求甚至相当苛刻且可能不具有通用性.这是因为部署从来都是跟环境打交道,部署过程中协作的组建太多,相互之间的交集不可能太大.可能唯一能够通用的是自动化部署的基本原则(只是这篇文章的基本原则): 每一次自动化部署结束之后,应用程序都会有相同的初始状态. 自动化部署的机器非常干净,只有相应的 Windows Server 系统和 .NET Framework.尤其是,不

利用phantomjs模拟QQ自动登录

之前为了抓取兴趣部落里的数据,研究了下QQ自动登录. 当时搜索了一番,发现大部分方法都已经失效了,于是准备自己开搞. 第一个想到的就是参考网上已有方案的做法,梳理登陆js的实现,通过其他语言重写.考虑到js可能会更新,放弃了此方案. 第二个想到的是能不能直接调用QQ自己的js方法,模拟进行提交呢.搜索一番后发现神器 ---- "phantomjs". PhantomJS is a headless WebKit scriptable with a JavaScript API. It

利用 Log-Pilot + Kafka + Elasticsearch + Kibana 搭建 kubernetes日志解决方案

利用 Log-Pilot + Kafka+Elasticsearch + Kibana 搭建 kubernetes日志解决方案 1.前提条件 已有kafka.elk.k8s集群,这3套集群搭建网上资料很多,这里不写,IP规划如下所示: kafka集群 10.6.11.22:9092 10.6.11.23:9092 10.6.11.24:9092 ELK集群 10.6.11.25:9200 10.6.11.26:9200 10.6.11.27:9200 k8s集群 10.6.11.28(maste

python利用企业微信api来进行发送自定义报警的类实现

python利用企业微信api来进行发送自定义报警的类实现 企业微信注册 打开http://work.weixin.qq.com/企业微信主页: 点击企业注册: 填写相关信息,营业执照和注册号可以不用填,直接下一步,按照提示操作即可: 注册完成后,登陆,就显示如下界面: 点击我的企业标签: 看到如上界面,复制CorpID对应的值: 点击企业应用: 点击 创建应用: 填写对应内容,点击创建应用即可: 然后再点击企业应用,就可以在自建应用里看到自己创建的应用: 点击应用图标,看到如下图 复制Agen

利用htmlunit登陆带验证码图片的网站

http://htsoft.org/html/y2011/822_using-htmlunit-landing-site-with-captcha-image.html 利用htmlunit登陆带验证码图片的网站 2011年09月15日 ⁄ 编程语言 ⁄ 共 1266字 ⁄ 字号 小 中 大 ⁄ 暂无评论 ⁄ 阅读 7,088 次 以百度统计为例,说明下如何用htmlunit登陆带验证码的网站 //baidu统计登陆代码 try { WebClient client = new WebClien

利用EXCEL自动统计实验结果的准确率

我们在做的实验的时候,通常都需要计算实验结果的准确率.当时数据量较大时,依靠人工来计算是不现实的,不仅十分慢而极易出错.如果我们事先将实验结果文件进行合理的格式化,则可以利用EXCEL自动进行统计,不仅效率高,也不担心出错了.简单地,利用EXCEL中的自动筛选或分类汇总功能也可实现一些统计,但是当数据量特别大时,分类汇总很卡,易导致崩溃,而且功能单一,不能灵活组合:而自动筛选则需要不停地滚来滚去或不断地切换表,也十分不方便.所以我考虑自己写程序来实现统计,这样便于对统计数据进行任意操作,比如移动

利用rman自动备份转储spfile

[情景简介] 生产环境丢失了服务器的参数文件,rman已开启自动备份设置. [操作过程简述] ----启动rman $rman target / ----检查rman设置 RMAN> show all; ----配置一遍rman自动备份控制文件,模拟初次设置rman自动备份控制文件 RMAN>CONFIGURE CONTROLFILEAUTOBACKUP ON; RMAN>CONFIGURE CONTROLFILEAUTOBACKUP FORMAT FOR DEVICE TYPE DIS

七色花基本权限系统(5)- 实体配置的使用和利用T4自动生成实体配置

在前面的章节里,用户表的结构非常简单,没有控制如何映射到数据库.通常,需要对字段的长度.是否可为空甚至特定数据类型进行设置,因为EntityFramework的默认映射规则相对而言比较简单和通用.在这篇日志里,将演示如何对数据实体进行映射配置,并利用T4模板自动创建映射配置类文件. 配置方式 EntityFramework的实体映射配置有2种. 第一种是直接在实体类中以特性的方式进行控制,这些特性有部分是EF实现的,也有部分是非EF实现的.也就是说,在数据实体层不引用EF的情况下,只能使用不全的

CentOS 6.5 下利用命令行截图及设置快捷键截图

CentOS 6.5 下利用命令行截图及设置快捷键截图 1.利用命令模式 捕获整个屏幕 : $ gnome-screenshot 截完屏之后我们可以设置自定义图片存储位置,如图: 捕获当前终端Terminal : $ gnome-screenshot -w 捕获自定义区域 :$ gnome-screenshot -a 利用-B参数可以去除终端窗口的名称状态条:$ gnome-screenshot -w -B 使用-d参数来延迟截图的时间(仅限于截全屏时使用) :$ gnome-screensho