рдПрд╕рдПрдирдПрдордкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рд▓рд┐рдВрдЧ рдФрд░ рд╕рд┐рд╕реНрдХреЛ рдЙрддреНрдкреНрд░реЗрд░рдХ 2960 рд╕рдВрдЪрд╛рд░ред рдкреЛрд░реНрдЯ рдХреА рдЧрддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди, рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдЧрд┐рдирддреА

рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрднрд┐рд╡рд╛рджрди рдХреЗ рдмрд╛рдж, рд╣рдо рдереЛрдбрд╝рд╛ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдкреНрд░рдХрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдп


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрддрд┐ рдФрд░ рдЪрд╛рд░реНрдЬрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдЪреБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдПред рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рдЪреИрдирд▓ рдХреА рдЧрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЛрд░реНрдЯ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрдВред

рд▓реЛрд╣рд╛


рдкреНрд░рддреНрдпреЗрдХ рд░реИрдХ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рд┐рд╕реНрдХреЛ рдЙрддреНрдкреНрд░реЗрд░рдХ 2960 рд╕реНрд╡рд┐рдЪ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбрд▓ WS-C2960G-48TC-L LANBASE SPF рдХреЗ рд╕рд╛рде рд╣реИред рдЗрд╕рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ 4x SFP рд╣реИ, рдФрд░ 48 рдЧреАрдЧрд╛рдмрд┐рдЯ рдИрдерд░рдиреЗрдЯ рдкреЛрд░реНрдЯ рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХрдИ рдЧреАрдЧрд╛рдмрд┐рдЯ рдХреЗ рд▓рд╛рдЗрд╡ рд▓реЛрдб рдХреЗ рд╕рд╛рде, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реБрдИред рдлреЛрдЯреЛ рдореЗрдВ, 2960 рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рддрд┐рдирд┐рдзрд┐ред
рдЫрд╡рд┐


рдкреЛрд░реНрдЯ рд╕реНрдкреАрдб рдФрд░ рд╕реНрдерд┐рддрд┐



рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ:


рдпрджрд┐ рдЖрдк 10 рдПрдордмреАрдкреАрдПрд╕ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдЪрд▓реЗ рд╡рд┐рдХрд▓реНрдк рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдореБрдлрд╝реНрдд рд╣реИред рдкреНрд░реАрдкреЗрдб рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рджреЗрдЦрднрд╛рд▓ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 95 рд╡реАрдВ рдиреАрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрджрд┐ рдЖрдкрдиреЗ 36 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЧрд╛рдмрд┐рдЯреНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдмрд┐рд▓ рдХреЗрд╡рд▓ рдкреВрд░реНрдгababit рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП, рдЬрдм рдЖрдк рдордЫрд▓реА рдкрдХрдбрд╝рдиреЗ рдХреА рдпрд╛рддреНрд░рд╛ рдкрд░ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рдереЗ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рдмрд░рд╛ рдкреНрд░рднрд╛рд╡ рдерд╛ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рдЧрд╛рддрд╛рд░ рдЖрдкрдХреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдЖрдкрдХреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд╛рддреЗ рдкрд░ $ 2,000 рдорд┐рд▓реЗрдВрдЧреЗред рдРрд╕рд╛ рд╕реЛрдорд╡рд╛рд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдард┐рди рд╣реЛрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 24 рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж, рдкреЛрд░реНрдЯ 10 рдореЗрдЧрд╛рдмрд┐рдЯреНрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдпрд╛ 36 рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдорд╛рди рднрд╛рдЧреЛрдВ рдореЗрдВ рдЦрд░реАрджрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╡рд┐рддреНрддреАрдп рд╕реАрдорд╛ рдкреВрд░реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАред

рдмреИрдХрдПрдВрдб рдХреА рддрд░рдл рд╕реЗ, рд╕рд┐рд╕реНрдХреЛ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рднреА рдХрд╛рдо рдХрд┐рдП рд╣реИрдВ, рдФрд░ рд╣рдо рд╕рд┐рдВрдкрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдореИрдиреЗрдЬрдореЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рдПрд╕рдПрдирдПрдордкреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ 1988 рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ 1990 ( рдЖрд░рдПрдлрд╕реА 1157 ) рдореЗрдВ рд╕рдореЗрдХрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рдЙрдирдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╣реИрдХрд░реНрд╕ (рд╢рдмреНрдж рдХреЗ рдореВрд▓ рдЕрд░реНрде рдореЗрдВ), рдЬрд┐рд╕рдХрд╛ рдиреЗрддреГрддреНрд╡ рдЬреЗрдбреА рдХреЗрд╕ рдиреЗ рдХрд┐рдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рджред

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рд┐рдЪ рдкрд░ рдПрд╕рдПрдирдПрдордкреА рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдХрдореНрдпреБрдирд┐рдЯреА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рд╕рдореБрджрд╛рдп рдХреЛ рди рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд▓реНрдХрд┐ рд╕рдВрдЪрд╛рд▓рди рд▓рд┐рдЦрдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрдВред PHP рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

function set_switch_port_speed ($host, $community, $port_no, $speed, $model='2960'){
// use SNMP to set speed. $speed can be 10, 100, 1000 or 0 to shutDown port.
if(!in_array($speed, array(10, 100, 1000))){
//echo 'Wrong port speed! '.$speed."\n";
return false;
}

$oid = '';

if(stristr($model, '2960')){ // magic smtp strings, path to
$oid = '1.3.6.1.4.1.9.5.1.4.1.1.9.1.'.$port_no;
}else{
$oid = '1.3.6.1.4.1.9.9.87.1.4.1.1.33.0.'.$port_no; // c2900PortAdminSpeed
}

$speed *= 1000000;
echo "setting new speed...\n";
return snmpset($host, $community, $oid, 'i', $speed);

}


рддрджрдиреБрд╕рд╛рд░, рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдкрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ, рдкрдЯреНрдЯреЗ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдЖрджрд┐ред

рдкреЛрд░реНрдЯ рдХреЛ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдкреЛрд░реНрдЯ 0 рдХреЗ рдмрд░рд╛рдмрд░ рдЧрддрд┐ рд╕реЗрдЯ рдХрд░рдХреЗ, рдпрд╛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:

function set_switch_port_status($host, $community, $port_no, $status, $model=''){
// use SNMP to set status. $status can be 0 or 1
$status = (int) $status;
if(!in_array($status, array(0, 1))){
echo 'Wrong port status! '.$status."\n";
return false;
}

// decode status, 1 means UP 2 means down
if($status == 0){
$status = 2;
}

$oid = '';

// for 2960 set oid = 'IF-MIB::ifAdminStatus.101'.$port_no;
if(stristr($model, '2960')){
if($port_no < 10){
$port_no = '0'.$port_no;
}
$oid = 'IF-MIB::ifAdminStatus.101'.$port_no;
}else{
$oid = 'IF-MIB::ifAdminStatus.'.($port_no + 1); // first interface on 2900xl is VLAN1
}

return snmpset($host, $community, $oid, 'i', $status);

}


рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдЧрд┐рдирддреА


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрдпрд╛ рджреЗрдЦрддрд╛ рд╣реИ:

рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдЗрд╕ рдкрд░ рд╕реНрдкрд╛рд░реНрдХ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╣реИрдВ, рдЬреЛ рдмрд┐рдирд╛ рд╕реНрдХреЗрд▓ рд╡реИрд▓реНрдпреВ рдХреЗ рдкрд┐рдЫрд▓реЗ 48 рдШрдВрдЯреЛрдВ рд╕реЗ рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рдЪрд▓рди рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╛рд░реНрдХ рднреА рдЙрдЧрд▓рддрд╛ рд╣реИ - рд╡рд┐рдЧреЗрдЯреНрд╕ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ)ред рдЖрдВрдХрдбрд╝рд╛ рд╡рд░реНрддрдорд╛рди рдЪреИрдирд▓ рдЙрдкрдпреЛрдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рд╕рд░реНрд╡рд░ рдХреА рд╕реВрдЪреА рдХреЗ рддрд╣рдд, рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╢реЗрдбреНрдпреВрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдмрд┐рд▓рд┐рдВрдЧ рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)


рдЦреИрд░, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рдХрд╛ рдЧреНрд░рд╛рдл рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрдбрд╝реЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рдХреА рдЕрд╡рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЗрди рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред


рд▓рд╛рд▓ рд░реЗрдЦрд╛ 95% рдорд╛рдкрддреА рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╕рдм рдХреБрдЫ рд╢реБрд▓реНрдХ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ Habraeffect рдХреЛ рдореБрдлреНрдд рдореЗрдВ рдФрд░ рдмрд┐рдирд╛ рдмреНрд░реЗрдХ рдХреЗ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ :)ред рдЦреИрд░, рдФрд░ рдЬреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ - рд╣рдорд╛рд░реЗ рдкреИрдирд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗред

рд╕реНрд╡рд┐рдЪ рдкреЛрд░реНрдЯ рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреИрдХреНрдЯрд┐ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреИрдХреНрдЯрд┐ рдиреЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ rrd рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкреЛрд░реНрдЯ рдХреА рд╕рдВрдкреВрд░реНрдг рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рддреА рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд┐рдХ рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╣реЛ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдл рдЦреАрдВрдЪрдирд╛ рд╣реЛред рдиреАрдЪреЗ rrdtool рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп рд╣реИ:

function getRRDData($rrd_file, $start, $end = ''){

$str_end = '';
if($end)
$str_end = ' -e '.$end;

$res = exec('/usr/local/bin/rrdtool fetch '.$rrd_file.' AVERAGE -s '.$start.$str_end, $output);
if(!$res || (count($output) < 1)){
return array(); // smth is wrong
}
// we need only 3 ... N-1 elements
$rrd_data = array();
for($i = 2; $i < (count($output) ); $i++){

// replace NAN with 0
if(stristr($output[$i], 'nan'))
$output[$i] = str_ireplace('nan', '0', $output[$i]);

$values = explode(' ', str_replace(':', '', $output[$i]));
// check timestamp
if($end && ($values[0] > $end))
break;

$rrd_data[] = $output[$i];
}
return $rrd_data;

}


рдХреЛрдб рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢реАрдЯ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╣рд╛рдВ рдЯреНрд░реИрдлрд┐рдХ рдХреА рдЧрд┐рдирддреА рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд╛рд░реНрдп рдирд╣реАрдВ рджреЗрдВрдЧреЗред рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рд╕рдордп рдЕрд╡рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдлрд╝рдВрдХреНрд╢рди рдХреЛ (рдКрдкрд░ рдХреЛрдб) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ 95 рдкреНрд░рддрд┐рд╢рдд рдЕрдВрдХ рдпрд╛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред 95% рдФрд╕рддрди рдкрд╛рдБрдЪ-рдорд┐рдирдЯ рдХреЗ рдЦрдВрдбреЛрдВ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, 1 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 1000 * 1000 рдмрд┐рдЯреНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ 1024 * 1024 * 1024 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддрд╛ рд╣реИред рдЗрди рдирдВрдмрд░реЛрдВ рдХрд╛ рдирд╛рдордХрд░рдг рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкреНрд░рддрд┐рд╢рдд рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ :)ред

рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ,
ServerClub рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ ред

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


All Articles