找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 199|回复: 19

开源个IDCF每日流量报表,同情下那个流量超了的代购哥们...

[复制链接]

10

主题

80

回帖

198

积分

注册会员

积分
198
发表于 2018-3-27 18:42:20 | 显示全部楼层 |阅读模式
本帖最后由 vForce 于 2018-3-28 08:32 编辑

自己写的,用了挺久了。有个东二的新区没做进去,有点代码基础的朋友自己加一下吧。
两个文件放在同一目录,执行php billingReport.php即可,基于PHP5.6开发,PHP7没试过。
util.php:
[ol]
  • ',
  •                  'RCPT TO: ',
  •                  'DATA', implode("\r\n", $data)
  •              ) as $i) {
  •         fwrite($s, "$i\r\n");
  •         $m = fgets($s);
  •         if ($m[0] > 3) return $m;
  •     }
  •     fclose($s);
  • }[/ol]复制代码
    billingReport.php:
    [ol]
  • [
  •         "henry" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •         "pascal" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •         "joule" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •     ],
  •     "jp-east-2" => [
  •         "weber" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •         "lux" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •     ],
  •     "jp-west" => [
  •         "augusta" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •         "monstera" => [
  •             "Billing" => 0,
  •             "Transfer" => 0,
  •         ],
  •     ]
  • ];
  • foreach ($result['data'] as $row) {
  •     switch ($row['Category']) {
  •         case "VirtualMachine":
  •         case "Volume":
  •         $regionStatistics[$row['Region']][$row['ZoneName']]['Billing'] += $row['Net'];
  •             break;
  •         case "Internet Data Transfer":
  •             if ($row['Menu'] == "Internet Data Transfer [out]") {
  •                 $regionStatistics[$row['Region']][$row['ZoneName']]['Transfer'] += $row['Usage'];
  •             }
  •     }
  • }
  • $mailBody = "
  •                
  •                         
  •                         
  •                                 {$month}  IDCF消费日报
  •                         
  •                
  •                 总消费额:{$totalConsumption}日元(约{$totalConsumptionRMB}人民币)
  •                 以下为各区消费情况
  •                
  •                         
  •                                 
  •                                         大区Zone消费额流出流量
  •                                         ";
  • foreach ($regionStatistics as $regionName => $data) {
  •     foreach ($data as $zone => $detail) {
  •         $mailBody .= "{$regionName}$zone{$detail['Billing']}日元{$detail['Transfer']}GB";
  •     }
  • }
  • $mailBody .= "
  •                         
  •         
  • ";
  • sendMail("收件邮箱", "【IDCF】消费日报", $mailBody);[/ol]复制代码
  • 回复

    使用道具 举报

    10

    主题

    80

    回帖

    198

    积分

    注册会员

    积分
    198
     楼主| 发表于 2018-3-27 20:18:00 | 显示全部楼层

    zddewe 发表于 2018-3-27 19:56

    支持大佬。但是飛機場代碼好像可以限制流量了。按理來說 VPS 應該也能寫出類似的代碼,VPS 達到多少流量就 ...

    确实很有道理,可以在这个基础上加上流量超过阈值直接API关机。好想法!
    回复

    使用道具 举报

    88

    主题

    1552

    回帖

    3390

    积分

    论坛元老

    积分
    3390
    发表于 2018-3-27 19:56:00 | 显示全部楼层
    支持一下大佬!
    回复

    使用道具 举报

    5

    主题

    52

    回帖

    139

    积分

    注册会员

    积分
    139
    发表于 2018-3-27 19:02:11 | 显示全部楼层
    支持大佬!感谢!
    回复

    使用道具 举报

    63

    主题

    305

    回帖

    821

    积分

    高级会员

    积分
    821
    发表于 2018-3-27 19:31:33 | 显示全部楼层

    zddewe 发表于 2018-3-27 19:56

    支持大佬。但是飛機場代碼好像可以限制流量了。按理來說 VPS 應該也能寫出類似的代碼,VPS 達到多少流量就 ...

    你说的怕是叫后门
    回复

    使用道具 举报

    35

    主题

    1147

    回帖

    2443

    积分

    金牌会员

    积分
    2443
    发表于 2018-3-27 19:56:33 | 显示全部楼层
    这都有,厉害了
    回复

    使用道具 举报

    63

    主题

    305

    回帖

    821

    积分

    高级会员

    积分
    821
    发表于 2018-3-27 20:05:46 | 显示全部楼层
    支持php大佬, 感谢!php小白,为什么会有“PHP Parse error:  syntax error, unexpected 'http' (T_STRING) in /root/billingReport.php on line 75”
    回复

    使用道具 举报

    222

    主题

    2804

    回帖

    6302

    积分

    论坛元老

    积分
    6302
    发表于 2018-3-27 19:56:00 | 显示全部楼层
    本帖最后由 冷雨@夜 于 2018-3-27 23:45 编辑

    同遇到楼上问题。。。。php 5.5  php7
    找到原因了 " 和 ' 的问题
    回复

    使用道具 举报

    20

    主题

    542

    回帖

    1188

    积分

    金牌会员

    积分
    1188
    发表于 2018-3-27 20:07:47 | 显示全部楼层
    厉害
    回复

    使用道具 举报

    0

    主题

    1

    回帖

    4

    积分

    新手上路

    积分
    4
    发表于 2018-3-27 20:17:03 | 显示全部楼层
    难道不给用户root权限?有root权限删除或者重装系统后监控没了流量还不是控制不了?
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-2-23 07:18 , Processed in 0.022239 second(s), 7 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表