ืฉืื ืื ืืื ืืืจืื. ืื ื ืขืืื ืืืจืื ืืืื ืืืืืื ืขืืืืช ืืขืืฉื ื ืืืื ืืขืจืืืช. ืืคื ื ืืืืฉ ืืกืชืืื ืืขืืืช ืืืืจื ืฉืื ื, ืฉืื ืฉืืชืคื ื ืืช ืื ืืกืืื ืืืฆืืืจ ืฉืื ื ืขื ืงืืืืช ื-IT ืืขืืจ ืฉืื ื. ืืืืจืชื ืขื ื ืืืืจ ืืืฉืืื ืืื ืืจื ื. ืืืืืจ ื ืืขื ืืืจืืื ืืืืจืื ืื ืืื ืื ืืื, ืฉืื ืื ื ืืช ืืชืืืื ืืื ืืืคืก.
ืืื ืืืกืื ืืขืืืืช ืืืกืืก ืื ืืขืจืืช ื ืืืืจ ืืื ืคืชืจืื ืืขืืืช ืขืกืงืืืช. ื ืืืืจ ืืฆืืจื ื ืืืืจ ืื ืืขื ืืื ืืฃ ืืื. ืื ืืขืกืง ืจืืฆื? ืื ืฉืืื ืืขืืื ืืืจ ืืืื ืฉืืืืืช. ืขืกืงืื ืจืืฆืื ืืืืืช ืคืจืืืงืืืืืื, ืืื ืฉื ืืื ืืขืฆืื ื ืืขืืืช ืืฉืืจืืช ืื ืชืงื ืืืชื ืืืืืจืืช ืืืคืฉืจืืช. ืืื, ืืืขืฉื, ืืืขืืืช ืฉืคืชืจืชื ืื ืืฉื ื ืฉืขืืจื ืืคืจืืืงื ืขืืืจ ืืื ืืืงืืืืช ืฉืื ื.
ะ ะฟัะพะตะบัะต
ืืคืจืืืงื ืืื ืืืช ืืชืืื ืืืช ืื ืืื ืืช ืืืืืืืช ืืืจืฅ. ืื ื ืืกืืืขืื ืืจืฉืชืืช ืืฉืืืืง ืืืืืื ืืช ืชืืืจืืช ืืืืืจืืช ืืืืฆืขืืช ืืื ืฉืืืืง ืฉืื ืื ืืืื ืืจืืืกื ืืื ืืก. ืืกื ืืื, ืืคืจืืืงื ืืืื 14 ืืคืืืงืฆืืืช ืืคืืขืืืช ืขื ืขืฉืจื ืฉืจืชืื.
ืืืืื ืชืืืื ืืจืืืื, ืฉืืชื ืื ืฉืื ืืฉืื ืฉืื ืืื ืืขืจืืช ืื ืชืืื ื ืืืฉืื ืื ืืืืจ ืืืฉืืื ืืื ืืจื ื ืืฆืืจื ื ืืื ื: ืจืืื ืขืืืื ืืชืืงืืื ืืืืื ืืขืจืืช ืืืคืขืื ืืืื ืคืขื ืขืืงืืื ืืืจ ืฉืืจืืชืื.
ืืืงืจื ืฉืื, ืืขืจืืช ืื ืืืืจ ืฉื ืืืงืื ืืชืืกืกื ืืขืืจ ืขื ืืืกืื ืื. ืื ืื ืคืชืจ ืืช ืืืขืืืช ืื "ื ืืฉืื ืฆืืจื. ืืขืชืื ืงืจืืืืช ืืืงืื ืขืฆืื ืืืืืข โโืื ื ืขื ืืขืืืช, ืืื ืคืขื, ืคืฉืื ืื ืืื ืื ื ืืกืคืืง ื ืชืื ืื ืืื ืืจืืช ืืขืืืง ืืกืืื.
ืื ืืกืฃ, ืืืืชื ืืื ื ืืจืืจื ืืืื ืืืกืจ ืืชืืืืช ืฉื ืืืฉื ืืชืคืชืืืชื. ืื ื ืืืฉื ืฉืื ืฉืืืืจ ืืช ืืืกืื ืื ืืืื ืืืชื. ืื, ืืืืื ื ืืขืฆื ืืืืฉ ืืืืืืื ืืช ืืขืจืืช ื ืืืืจ ืืืฉืืื ืืืื ืืจื ื ืขืืืจ ืืคืจืืืงื.
ืคืจืืืชืืืก
ืืืจื ื ืืคืจืืืชืืืก ืขื ืกืื ืฉืืืฉื ืืื ืืืงืืืจืื ืขืืงืจืืื:
- ืืกืคืจ ืขืฆืื ืฉื ืืืืื ืืืื ืื. ืืืงืจื ืฉืื ื ืืฉ 60 ืืืฃ ืืืื. ืืืืื, ืจืืื ืืฆืืื ืฉืื ื ืื ืืฉืชืืฉืื ืืจืืื ืืืืจืืข (ืื ืจืื ื-95%). ืืฆื ืฉื ื, ืืืื ืืืืื ืืืกืืช. ืขืืืจื ื, ืื ืืงืืฆืื ืืืช ืืฉื ืืื ืืืฉืืืื ืืืืฆ'ืื ืื ืฉืืฉืชืืฉื ืื ืืขืืจ. ืื, ืืืกืคืช ืืืืื ืืืืชื ืืื ืืืืื: ืืงืืืืื ืืื ืืงืจืื (ืคืฉืื ืชืกืชืื ืขื ืงืื ืืืงืืจ ืฉื ืื ืชืืกืฃ). ืื ืชืืกืฃ ืืื ืกืงืจืืคื ื-Bash ืื Python, ืฉืืฉืงืชื ืืงืจื ืืืื ืืื ืฉื ืืฉืืืื ืฉื ืฆืจืื.
- ืืขืจืืช ืื ืฆืืจืืช ืืืืช ืงืื ื ืืืกืืช ืฉื ืืฉืืืื. 600 MB ืฉื ืืืืจืื RAM, 15% ืฉื ืืืื ืืืช ืืืื ืขืฉืจืืช IOPS ืืกืคืืงืื ืืื ืืืืืื ืฉืื ื. ืืืืื ืฉืฆืจืื ืืืคืขืื ืืฆืืื ืื ืฉื ืืืืื, ืืื ืืืื ืืชืืืื ื-Go ืืื ืื ืืืื ืฆืจืืืืช ืืฉืื. ืื ื ืื ืืืฉื ืฉืืืฆืืืืช ืืืืืจื ืืช ืื ืืขืื.
- ืืกืคืง ืืช ืืืืืืช ืืขืืืจ ืื Kubernetes. ืืืชืืฉื ืืชืืื ืืืช ืฉื ืืืงืื, ืืืืืจื ืืจืืจื.
ืึดืืฉืืึนื
ืืขืืจ, ืื ืืกืคื ื ืื ืขืืืื ื ืืืื ืื. ืืืกืจืื ืืช ืืจืืจืื ืืืืื. ืืืจื ื ื-ELK ืื ืืืจ ืืื ืื ื ื ืืกืืื ืขื ืืืขืจืืช ืืื. ืื ืื ื ืืืืกื ืื ืจืง ืืืื ื ืืืฉืืืื ืฉื. ืงืจืืืจืืื ื ืืืืืจื ืืขืืงืจืืื ืืื ืืืคืืฉ ืืืงืกื ืืื ืืืืืจืืชื.
ืงืืืงืืืืก
ืืชืืืื, ืืืืืจื ื ืคืื ืขื InfluxDB. ืืื ื ืืช ืืฆืืจื ืืืกืืฃ ืืืื ื Nginx, ืกืืืืกืืืงืืช ื-pg_stat_statements, ืืืืืกื ื ืชืื ืื ืืืกืืืจืืื ืฉื Prometheus. ืื ืืืื ื ืืช Influx ืื ืืื ืืื ืืฆืจืื ืืืืช ืืืืื ืฉื ืืืืจืื ืืขืช ืืขืช ืืงืจืก. ืื ืืกืฃ, ืจืฆืืชื ืืงืืฅ ืฉืืืืชืืช ืืคื remote_addr, ืืื ืืงืืืืฅ ื-DBMS ืืื ืืื ืจืง ืืคื ืชืืื. ืืชืืื ืืงืจืื (ืืืืจืื), ืืกืคืจื ืืืืื ืขื ืชื ืื.
ืืชืืื ื ืฉืื ืืืืคืืฉืื. ืื ืฉืืื ืฆืจืื ืื ืืกื ื ืชืื ืื ืื ืืืื ืขื ืฆืจืืืช ืืฉืืืื ืืื ืืืืืช, ืจืฆืื ืขื ืืืืกืช ื ืชืื ืื ืขื ืืืกืง.
ืงืืืงืืืืก ืขืืื ืืื ืืงืจืืืจืืื ืื ืืืื, ืืืขืืื ืื ืืฆืืขืจื ื ืขื ืืืืืจื ืฉืื ื. ืื ืื ื ืื ืืืชืืื ืืชืืื ืืืืืืช ืืืฆืืืช ืืืคื ืฉื ื ืชืื ืื (ืืกืคืจ ืืืืืจืืช ืืื ืจืง ืืืืฉืช ืืืคืื ืืืงื).
NewRelic
NewRelic ืืืืชื ืืืชื ื ืืืืคื ืืืกืืืจื ืืืืืื ืฉืื ืืืืชื ืืืืจืชื ืฉื ืืืงืื. ืื ืื ื ืืฉืชืืฉืื ืื ืืชืืจ APM.
ืืืืืงืก
ืื ื ืืฉืชืืฉืื ื- Zabbix ืืืืคื ืืืขืื ืืื ืืคืงื ืขื ืืงืืคืกื ืืฉืืืจื ืฉื ืืืฉืงื API ืฉืื ืื.
ืืืืจืช ืืืฉืช ื ืืืืจ
ืจืฆืื ื ืืคืจืง ืืช ืืืฉืืื ืืืื ืืกืืจ ืืช ืืืืฉื ืื ืืืืจ.
ืืฉื ืื ืืืืงืชื ืืช ืืืขืจืืช ืฉืื ื ืืจืืืช ืืืืืช:
- ืืืืจื ื-VMS;
- ืืขืจืืช ืืคืขืื;
- ืฉืืจืืชื ืืขืจืืช, ืขืจืืืช ืชืืื ื;
- ืืืฉืื;
- ืืืืืื ืขืกืงื.
ืืืืข ืืืฉื ืื ื ืืื:
- ืื ื ืืืืขืื ืื ืืืจืื ืขื ืืขืืืื ืฉื ืื ืจืื ืืขื ืกืื ืื, ืื ื ืืืืืื ืืฉืืื ืืชืจืืืช;
- ืื ื ืืืืืื ืืืฉืชืืฉ ืืืื ื ืืขืช ืืืืื ืืชืจืืืช - ืื ืืืื ืืืืจ ืืฉืืื ืืชืจืื ืขื ืืืกืจ ืืืื ืืช ืฉื ืืกื ื ืชืื ืื ืืืฉืจ ืืืืฉื ืืืืจืืืืื ืืืืืืชื ืืื ื ืืืื.
ืืืืืื ืฉืืืฉืืื ืฉืื ื ืืื ืืืืืช ืืคืจืืช ืืชืคืขืื ืืืขืจืืช, ืขืืื ื ืืืืืืฉ ืืื ืจืื ืกื ืืกืืื ืฉื ืืืืื ืฉืืืื ืืฉืื ืื ืืืืื ืืขืช ืืชืืืช ืืืื ืืชืจืื. ืืืืจ ืืื, ืืืื ื ืขืืืจ ืขื ืืจืืืช "VMS", "ืืขืจืืช ืืคืขืื" ื"ืฉืืจืืชื ืืขืจืืช, ืขืจืืืช ืชืืื ื".
ืืืื ืืช ืืืจืืืืืืืช
ืืืจืื ืืงืฆื ืื ื ืืขืื, ืืืกืง, ืืืืจืื ืืจืฉืช. ืืืื ืื ื ืืขืืืช ืขื ืืฉื ืืื ืืจืืฉืื ืื. ืื, ืืืืืื:
ืืื ืื ืืืช ืืขืื โ ืืฉืืชื ืงืื ื ืืืื ื ืืืจืืืืืืช ืืืืืื (t2.micro, ืืืฉื), ืืชื ืฆืจืื ืืืืื ืฉืื ืืืงืฆืืช ืื ืืืืช ืืขืื ืฉืืื, ืืื ืจืง ืืืกื ืืืืื ืฉืื. ืืืฉืชืืฆื ืืืชื, ืืืขืื ืืืืงื ืืื.
ืืื ืื ืืืคืฉืจ ืื ืืขืงืื ืืืจ ืจืืขืื ืืืื ืืืงืื ืืืืืืช. ืืืืืื, ืืื ืืฉ ืฆืืจื ืืงืืช ืชืขืจืืฃ ืฉืื ืืืชืจ ืื ืืืคืืฅ ืืช ืืขืืืื ืฉื ืืฉืืืืช ืจืงืข ืืืงืฉืืช API ืืฉืจืชืื ืฉืื ืื?
ืืื ืืืชื ื ืฉื IOPS + CPU - ืืกืืื ืืืฉืื, ืืืจืื ืขื ื ืจืืื ืืืืืื ืืื ืฉืืื ื ืืกืคืงืื ืืกืคืืง IOPS. ืืชืจ ืขื ืื, ืืื ืืื ืื ืขื IOPS ื ืืื ืืื ื ืืืืื ืขืืืจื. ืืื, ืืืื ืืืกืืฃ CPU iowait. ืขื ืฆืื ืืืจืคืื ืืื - ืขื IOPS ื ืืื ืืืืชื ื I/O ืืืืื - ืืชื ืืืจ ืืืื ืืืืจ ืขื ืืืืจืื ืืืคืชืืจ ืืช ืืืขืื.
ืืขืจืืช ืืคืขืื
ืืืื ืืขืจืืช ืืคืขืื:
- ืืืืช ืืืืืจืื ืืคื ืื ื-%;
- ืืืืคืช ืคืขืืืืช ืฉืืืืฉ: vmstat swapin, swapout;
- ืืกืคืจ ืืืื ืืืื ืืืืื ืื ืืฉืื ืคื ืื ืืืขืจืืช ืืงืืฆืื ื-%
- ืขืืืก ืืืืฆืข;
- ืืกืคืจ ืืืืืจืื ืืืฆื ืฉื ื;
- ืืืืืจ ืฉืืืื ืืื;
- ื ืืชื ืื ืืจ ืืช ืืืืืช ืืจืฉืช ืืืืฆืขืืช ืืื ืืฉืืจืืช ss, ืืืืืช iproute2 - ืงืืื ืืื ืืืงืืืจ ืฉื ืืืืืจื RTT ืืืคืื ืฉืื ืืงืืฆื ืืืชื ืืคื ืืฆืืืช dest.
ืื ืืจืืช ืืขืจืืช ืืืคืขืื ืืฉ ืื ื ืืฉืืช ืืื ืืื ืชืืืืืื. ืืฉืื ืืืืืช ืืืขืจืืช ืืืืื ืฉื ืชืืืืืื ืืืืืืื ืชืคืงืื ืืฉืื ืืืคืขืืชื. ืื, ืืืฉื, ืืฉ ืื ืืื pgpools, ืื ืืชื ืฆืจืื ืืืกืืฃ ืืืืข ืขืืืจ ืื ืืื ืืื.
ืงืืืฆืช ืืืืืื ืืื ืืืืงืื:
- ืืขืื;
- ืืืืืจืื ืืื ืืขืืงืจ ืชืืฉื;
- IO - ืจืฆืื ื-IOPS;
- FileFd - ืคืชื ืืืืืืช;
- ืืฉืืื ืืฉืืขืืชืืื ืืขืืื - ืื ืชืืืื ืืืืื ืืืืื ืชืืืื ืืืืืคืื.
ืื ื ืคืืจืกืื ืืช ืื ืื ืืืืจ ื-Docker, ืืื ืื ื ืืฉืชืืฉืื ื-Advisor ืืื ืืืกืืฃ ื ืชืื ื ืืืืื. ืืืืื ืืช ืืืจืืช ืื ื ืืฉืชืืฉืื ื-proces-exporter.
ืฉืืจืืชื ืืขืจืืช, ืขืจืืืช ืชืืื ื
ืืื ืืคืืืงืฆืื ืืฉ ืืช ืืกืคืฆืืคืืืช ืฉืื, ืืงืฉื ืืืืื ืงืืืฆื ืืกืืืืช ืฉื ืืืืื.
ืืกื ืืืื ืืืจืกืื ืืื:
- ืฉืืขืืจ ืืงืฉื;
- ืืกืคืจ ืืขืืืืช;
- ืึถืึดืืึนื;
- ืจึดืึผืึผื.
ืืืืืืืืช ืืืืืืืช ืืืืชืจ ืฉืื ื ืื ืืืืจ ืืจืื ืื ืื Nginx ื-PostgreSQL.
ืืฉืืจืืช ืืื ืืขืื ืืืขืจืืช ืฉืื ื ืืื ืืกื ืื ืชืื ืื. ืืขืืจ, ืืขืชืื ืงืจืืืืช ืืชืงืฉืื ื ืืืืื ืื ืขืืฉื ืืกื ืื ืชืื ืื.
ืจืืื ื ืขืืืก ืืืื ืขื ืืืืกืงืื, ืืื ืืืืื ืื ืืืืืืื ืื ืืืฉ ืืจืื ืืืื. ืคืชืจื ื ืืขืื ืื ืืืืฆืขืืช pg_stat_statements, ืชืฆืืื ืฉืืืกืคืช ื ืชืื ืื ืกืืืืกืืืื ืฉื ืฉืืืืชืืช.
ืื ืื ืื ืฉืืื ืื ืฆืจืื.
ืื ื ืืื ืื ืืจืคืื ืฉื ืืคืขืืืืช ืฉื ืืงืฉืืช ืงืจืืื ืืืชืืื:
ืืื ืคืฉืื ืืืจืืจ, ืืื ืืงืฉื ืืฉ ืืช ืืฆืืข ืฉืื.
ืืืืื ืืืืืช ืื ืคืืืช ืืื ืืืื ื Nginx. ืืื ืื ืืคืชืืข ืฉืืขืืื ืืื ืฉืื ืฉืื ืชืืื ืืืชื ืื ืืืืืจืื ืืืชื ืืจืฉืืืช ืคืจืืื ืืืืื. ืืคืืจืื ืืกืื ืืจืื ืืื ื ืืื ืคืืจืืืืื ืืืืืื ืืืฉ ืฆืืจื ืืืจืืื ืืืชื.
ืืืืคื ืืืฉื, ืืืกืคืชื request_time, upstream_response_time, body_bytes_sent, request_length, request_id. ืื ื ืืชืืืื ืืช ืืื ืืชืืืื ืืืกืคืจ ืืฉืืืืืช:
ืื ื ืืื ืื ืืจืคืื ืฉื ืืื ืชืืืื ืืืกืคืจ ืฉืืืืืช. ืืืืจ? ืืืืจืชื ืขื ืืฉืืืืช ืขืกืงืืืช? ืืืจ ืืืื ืฉืืืืืช? ืืืจ ืืืกืื ื ืืช ืืืขืืืช ืืืื ืขื ืฉื ื ืชืจืฉืืืื. ืืืืจ ืืคืฉืจ ืืืชืงืฉืจ ืืื ืืืื ืืชืืจื ืื ืืืืฆืขืืชื.
ืื ื ืืชืจื ืืขืื ืืืช ื ืืกืคืช - ืืืืืื ืืืกืื ืืืืจ ืฉื ืืืืจืืื ืืืืจืืข.
ืคืชืจืื ืืืจืืข
ื ืืชื ืืืืง ืืช ืื ืืชืืืื ืืืืืื ืืขื ืคืชืจืื ืืขืื ืืืกืคืจ ืฉืืืื:
- ืืืืื ืืืขืื;
- ืืืืขื ืืื ืื ืืชืืจื;
- ืชืืืื ืืืืจืืข;
- ืืืืื ืืกืืืืช.
ืืฉืื ืฉื ืขืฉื ืืืช ืืื ืฉืืืชืจ ืืืจ. ืืื ืืฉืืืื ืฉื ืืืืื ืืขืื ืืฉืืืืช ืืืืขื ืื ื ืืื ืืืจืืืื ืืจืื ืืื - ืืื ืืงืจื ืืงืืืฉื ืืื ืฉืชื ืืงืืช, ืื ืืืืืช ืคืฉืื ืื ืืชืงืืช ืืฉืื ืืฉืืคืืจืื.
ืืืื ืจืง ื ืืืืื ืฉืืืืคืื ืฉื ืืงืฆืื ืืชืืจื ืฆืืฆื. ืื ืืื ืืขืฉื? ืืคืฉื ืชืฉืืืืช ืืฉืืืืช - ืื ื ืฉืืจ, ืืืคื ื ืฉืืจ, ืืื ืืืืื? ืื ื ืืื ืื ืื ื ืขืื ืื ืขื ืืฉืืืืช ืืืื:
ืื ืื ื ืคืฉืื ืืืืืื ืืช ืื ืืืืืข ืืื ืืืงืกื ืฉื ืืืชืจืื, ื ืืชื ืื ืื ืงืืฉืืจ ืืืฃ ืืืงื ืฉืืชืืจ ืืืฆื ืืืืื ืืืขืื ืื, ืืืฆื ืืคืชืืจ ืืืชื ืืืืกืืื ืืืชื.
ืขืืืื ืื ืืืจืชื ืืืื ืขื ืฉืืืช ืืืืฉืื ืืืืืืืื ืืขืกืงื. ืืืจืื ืืฆืขืจ, ืืืคืืืงืฆืืืช ืฉืื ื ืขืืืื ืื ืืืืฉืืืช ืืืกืืฃ ืืืืื. ืืืงืืจ ืืืืื ืืื ืืืืข ืืจืืืช ืืื ืืื ืืืื ืื.
ืืื ื ืงืืืืช.
ืจืืฉืืช, ืืชืื ืืืื ืื ืืืื ืื. ืืื ืฆืืจื ืืืืื ืืงืฉืจ ืืืงืกื ืฉื ืืืืืขื. ืื ืืงืฉื ืขืืืื ืืงืืฅ ืืื ืชื ืืืชื. ืืืืืกืืืฉ ืืืงื ืืจืื ืืื ืื ืจืื ืืช ืื ืื.
ืฉื ืืช, ืืฉืชืืฉ ื ืืื ืืจืืืช ืืืืืจื. ืืื ืฉืคื ืืฉ ืชืงื ืืฉืื. ืืืืคื ืืืฉื, ืื ื ืืืืื ืืืจืืข ืจืืืช:
- ืืื ืฉืืืื;
- ืฉืืืื ืืฆื ืืืงืื;
- ืืืขืืช ืืื ืืฆื ืฉืื ื, ืื ืื ื ืื ืืคืกืืืื ืืกืฃ, ืื ืื ื ืื ื ืืฉืืื ืืกืืืื ืื;
- ืืืขืืช ืืื ืืฆื ืฉืื ื, ืื ืื ื ืืคืกืืืื ืืกืฃ.
ืชื ืื ืืกืื. ืืชื ืฆืจืื ืื ืกืืช ืืื ืืช ื ืืืืจ ืืืืืกืก ืขื ืืืืืื ืขืกืงื. ื ืกื ืืขืงืื ืืืจ ืืืคืืืงืฆืื ืขืฆืื ืืืคืขืื ืขื ืืืืื ืืื ืืกืคืจ ืืืืืจืืช, ืืกืคืจ ืจืืฉืืื ืืืฉืชืืฉืื ืืืืฉืื, ืืกืคืจ ืืืฉืชืืฉืื ืืคืขืืืื ืืขืช ืืืืืื.
ืื ืื ืืขืกืง ืฉืื ืืื ืืคืชืืจ ืืื ืืืคืืคื, ืืชื ืฆืจืื ืืขืงืื ืื ืืื ืืืืฅ ืืขืืื ืืื ืฉืฆืจืื. ืื ืืฉืืจ ืื ืืฉื ื.
ืื ืืื ืื ืืช ืื, ืืชื ืืืื ืื ืกืืช ืืืชืขืืื ืืืืื ื ืืืฉืืืื, ืืืืื ื Nginx ืืื ืืืื, ืืคื ืฉืขืฉืื ื. ืขืืื ืืืืืช ืงืจืื ืืื ืืืคืฉืจ ืืืืฉืื.
ืืืื ืืขืจืืช ืืืคืขืื ืื ืืืืื ืืฉืืืื, ืืื ืืขืกืงืื ืื ืืชืขื ืืื ืื ืืื, ืื ืื ื ืื ืืฉืืืื ืขืืืื.
ืืงืืจ: www.habr.com