рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХреНрд▓рд╛рдЙрдбрд╡реЙрдЪ: рдХрд╕реНрдЯрдо рдореЗрдЯреНрд░рд┐рдХреНрд╕

рд╣рд╛рдп рд╣рдмреНрд░реНрд╡рд╛рдЪреЗрдВ!

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

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

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?

1. Amazon CloudWatch рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕
2. рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЪрд▓реЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЦрд╛рдирд╛ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
  1. / рдСрдкреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ - aws
  2. / рдСрдкреНрдЯ / aws / mon рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
  3. рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ pk ** рд╣реИрдВред Pem рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ ** Pem рд╣реИрдВред рдлрд╝реЛрд▓реНрдбрд░ / рдСрдкреНрдЯ / aws / рдЪрд╛рдмрд┐рдпрд╛рдБ рдореЗрдВ рд░рдЦреЛ
  4. рд╣рдо рдЬрд╛рд╡рд╛ рд╕реАрд▓рд┐рдВрдХ / рдпреВрдПрд╕рдЖрд░ / рдЬрд╛рд╡рд╛ / рдирд╡реАрдирддрдо рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рд▓реЛрдб рдФрд╕рдд рдХреИрд╕реЗ рдорд┐рд▓реЗрдЧрд╛ред рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ:
load_average=$(uptime | awk -F'load average:' '{ print $2 }' | awk '{ print $2 }') load_average=${load_average%%','} 

рдЗрд╕ рдЪрд░ рдореЗрдВ рд╣рдо рд▓рд╛ рдХреЛ 5 рдорд┐рдирдЯ (рджреВрд╕рд░реЗ) рдХреЗ рд▓рд┐рдП рдмрдЪрд╛рдПрдВрдЧреЗред

рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 timestamp=$(date -u +%Y-%m-%dT%H:%M:%S.000Z) 


рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдЕрдВрддрд┐рдо - рдореАрдЯреНрд░рд┐рдХ рдореВрд▓реНрдп рдХрд╛ рдкрдВрдЬреАрдХрд░рдг:
 mon-put-data --metric-name "LoadAverage" --namespace "CustomMetric" --timestamp $timestamp --value $load_average 

- рдореЗрдЯреНрд░рд┐рдХ-рдирд╛рдо "рд▓реЛрдбрдПрд╡рд░реЗрдЬ" - рдореАрдЯреНрд░рд┐рдХ рдирд╛рдо
--namespace "CustomMetric" - рдЬрд╣рд╛рдВ рдпрд╣ рдореАрдЯреНрд░рд┐рдХ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛

рддреЛ, рдЪрд░, рд╕рджрд╛ рдкрд╛рд╢ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рд▓рд┐рдкрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
/opt/aws/cw_scaler.sh
 #!/bin/bash export AWS_CLOUDWATCH_HOME=/opt/aws/mon export AWS_CLOUDWATCH_URL=https://monitoring.amazonaws.com export PATH=$AWS_CLOUDWATCH_HOME/bin:$PATH export JAVA_HOME=/usr/java/latest export TOOLS_HOME=/opt/aws export EC2_PRIVATE_KEY=$TOOLS_HOME/keys/pk-GWO6MOXPTCZA5EY7**********RSFJ.pem export EC2_CERT=$TOOLS_HOME/keys/cert-GWO6MOXPTCZA5EY7**********RSFJ.pem while [ true ]; do load_average=$(uptime | awk -F'load average:' '{ print $2 }' | awk '{ print $2 }') load_average=${load_average%%','} timestamp=$(date -u +%Y-%m-%dT%H:%M:%S.000Z) mon-put-data --metric-name "LoadAverage" --namespace "CustomMetric" --timestamp $timestamp --value $load_average echo "$timestamp: Load Average $load_average" >>$TOOLS_HOME/cw_scaler.log echo "" >>$TOOLS_HOME/cw_scaler.log sleep 14 done 


рд╣рдорд╛рд░реЗ рдорд┐рдиреА-рдбреЗрдорди рдХреЛ рд╢реБрд░реВ / рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП init рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛:
/etc/init.d/cw_scaler-init
 #!/bin/bash1 #chkconfig: 2345 55 25 # source function library . /etc/rc.d/init.d/functions #Set environement export TOOLS_HOME=/opt/aws start() { $TOOLS_HOME/cw_scaler.sh& } stop() { kill $(ps ax | grep '/opt/aws/cw_scaler.sh' | grep -v "grep" | awk '{print $1}') } case "$1" in start) echo "Starting Cloud Watch scaler." start ;; stop) echo "Stopping Cloud Watch scaler." stop ;; *) echo $"Usage: cw_scaler.sh {start|stop}" exit 1 ;; esac 


рдЦреИрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛? 5-10 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЙрдб рд╡реЙрдЪ рдкреИрдирд▓ рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдХреЗ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ: CustomMetric, рдФрд░ рдЗрд╕рдореЗрдВ рд▓реЛрдбрдЕрд╡рд░реЗрдЬ:


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

рдкреБрдирд╢реНрдЪред рдЕрдЧрд░ рдЖрдк рдЧреМрд░ рдХрд░реЗрдВ рддреЛ рдпрд╣ EPAM Systems рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдмреНрд▓реЙрдЧ рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИред рдХреГрдкрдпрд╛ рдкреНрдпрд╛рд░ рдФрд░ рдЕрдиреБрдЧреНрд░рд╣ рдХрд░реЗрдВ! =)

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


All Articles