码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-06-23 19:11:39      阅读:535      评论:0      收藏:0      [点我收藏+]

标签:利用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   = "monitor@***.com";    
        $mail->Password   = "********";            
       
        $mail->From       = "monitor@***.com";
        $mail->FromName   = "Monitor";
        $to = "mailerto@yourdomain.com";     //发送邮件
        $mail->AddAddress($to);
        $mail->addcc("mailerto@yourdomain.com");  //抄送邮件
        $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发送网站运营日报 ,如有问题请多多关注博文。



本文出自 “xiangcun168” 博客,请务必保留此出处http://xiangcun168.blog.51cto.com/4788340/1792193

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

标签:利用phantomjs 自动截图kibana   phpmailer发送网站运营日报   

原文地址:http://xiangcun168.blog.51cto.com/4788340/1792193

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!