рдореБрдирд┐рди: рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд░реИрдХрд╕реНрдкреЗрд╕ рд╕реНрдЯреЛрд░реЗрдЬ

рдЫрд╡рд┐ рд╢реБрдн рджреЛрдкрд╣рд░

рд╣рдо Rackspace рд╕реЗ CDN рдореЗрдВ рдЪрд┐рддреНрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд╕реАрдбреАрдПрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдерд╛рддреН рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реА рдЬрдЧрд╣ред

рдореЗрд░реЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг рдореБрдирд┐рди рд╣реИред рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдореБрдирд┐рди рдХреЗ рд▓рд┐рдП 2 рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦреЗ, рдЬреЛ рд░реИрдХрд╕реНрдкреЗрд╕ рдПрдкреАрдЖрдИ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рддрдиреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рд╕рдордЧреНрд░ рдЖрдХрд╛рд░ рд╣реИред


рдкреНрд▓рдЧрдЗрди рдирдВрдмрд░ 1: rackspace_cdn_count.php

#!/usr/bin/php <?php $x_auth_user='###NAME'; $x_auth_key='###KEY'; $api_url='https://auth.api.rackspacecloud.com/v1.0/'; function SplitTwice($content,$first,$second) { $s1=split($first,$content); $splitted=split($second,$s1[1]); return trim($splitted[0]); } if ($argv[1]=='config'){ print "graph_title Rackspace CDN files count\n"; print "graph_vlabel Files Count\n"; print "graph_category rackspace\n"; print "count.label files count\n"; print "graph_args --base 1000\n"; exit; } $header_auth = array("X-Auth-User:$x_auth_user","X-Auth-Key:$x_auth_key"); //Authentication $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_url); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $header_auth); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); $data = curl_exec($ch); curl_close($ch); $cdn_url= SplitTwice($data,'X-Storage-Url: ','Cache'); $token= SplitTwice ($data,'X-Auth-Token:','X-Storage-Token:'); $header_cdn = array ("X-Auth-Token:$token"); //Get data $ch1 = curl_init(); curl_setopt($ch1, CURLOPT_URL, $cdn_url); curl_setopt($ch1, CURLOPT_HEADER, true); curl_setopt($ch1, CURLOPT_HTTPHEADER, $header_cdn); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch1, CURLOPT_CONNECTTIMEOUT, 30); $data1 = curl_exec($ch1); curl_close($ch1); $objects_count = SplitTwice($data1,'X-Account-Object-Count:','X-Account-Bytes-Used:'); $objects_bytes_used = SplitTwice ($data1,'X-Account-Bytes-Used:','X-Account-Container-Count:'); echo 'count.value '.$objects_count; ?> 


рдкреНрд▓рдЧрдЗрди рдирдВрдмрд░ 2: rackspace_cdn_size.php
 #!/usr/bin/php <?php $x_auth_user='###NAME'; $x_auth_key='###KEY'; $api_url='https://auth.api.rackspacecloud.com/v1.0/'; function SplitTwice($content,$first,$second) { $s1=split($first,$content); $splitted=split($second,$s1[1]); return trim($splitted[0]); } if ($argv[1]=='config'){ print "graph_title Rackspace CDN storage usage\n"; print "graph_vlabel CDN storage usage\n"; print "graph_category rackspace\n"; print "usage.label storage usage\n"; print "graph_args --base 1024\n"; exit; } $header_auth = array("X-Auth-User:$x_auth_user","X-Auth-Key:$x_auth_key"); //Authenticate $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_url); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $header_auth); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); $data = curl_exec($ch); curl_close($ch); $cdn_url= SplitTwice($data,'X-Storage-Url: ','Cache'); $token= SplitTwice ($data,'X-Auth-Token:','X-Storage-Token:'); $header_cdn = array ("X-Auth-Token:$token"); //Get data $ch1 = curl_init(); curl_setopt($ch1, CURLOPT_URL, $cdn_url); curl_setopt($ch1, CURLOPT_HEADER, true); curl_setopt($ch1, CURLOPT_HTTPHEADER, $header_cdn); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch1, CURLOPT_CONNECTTIMEOUT, 30); $data1 = curl_exec($ch1); curl_close($ch1); $objects_bytes_used = SplitTwice ($data1,'X-Account-Bytes-Used:','X-Account-Container-Count:'); echo 'usage.value '.$objects_bytes_used; ?> 


рд╡рд┐рд╖рдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд╛ рдПрдХ рд╡рдХреНрд░ рд╣реИред

Source: https://habr.com/ru/post/In138805/


All Articles