{"id":325435,"date":"2021-06-24T15:00:56","date_gmt":"2021-06-24T15:00:56","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=325435"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=325435","title":{"rendered":"\u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 RHEL 8"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0431\u043e\u0440 \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Red Hat Enterprise Linux 8 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 Performance Co-Pilot (PCP), Grafana \u0438 Bpftrace, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 \u0432\u0435\u0431-\u043a\u043e\u043d\u0441\u043e\u043b\u0438 RHEL 8.4.<\/p>\n<h2>\u041e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b<\/h2>\n<p>\u0412 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e:<\/p>\n<ol>\n<li>\n<p>\u0414\u0432\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 RHEL 8.3 (\u0441      \u0438\u043c\u0435\u043d\u0430\u043c\u0438 server-1 \u0438 server-2).<\/p>\n<\/li>\n<li>\n<p>Grafana \u0432\u0435\u0440\u0441\u0438\u0438      grafana-6.7.4-3.el8.x86_64.<\/p>\n<\/li>\n<li>\n<p>PCP \u0432\u0435\u0440\u0441\u0438\u0438      pcp-5.1.1-3.el8.x86_64.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Performance Co-Pilot \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 RHEL 8, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u043d\u0430 server-1 \u0438 server-2, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043d\u0430 \u043d\u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>yum install pcp-zeroconf -y<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a Performance Co-Pilot \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442:<\/p>\n<pre><code>pminfo | wc -l 3101 pminfo | grep kernel | head -n 15 kernel.all.load kernel.all.intr kernel.all.pswitch kernel.all.sysfork kernel.all.running kernel.all.blocked kernel.all.boottime kernel.all.hz  kernel.all.uptime kernel.all.idletime kernel.all.nusers kernel.all.nroots kernel.all.nsessions kernel.all.lastpid kernel.all.runnable<\/code><\/pre>\n<p>\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 pmrep:<\/p>\n<pre><code>pmrep kernel.all.load -s 5 &nbsp; k.a.load&nbsp; k.a.load&nbsp; k.a.load &nbsp; 1 minute&nbsp; 5 minute&nbsp; 15 minut &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080<\/code><\/pre>\n<p>\u041e\u043f\u0446\u0438\u044f -s 5 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u044b\u0448\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e 5 \u043f\u0435\u0440\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 \u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0430\u0434\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c pmproxy \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0440\u0442 \u043d\u0430 \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435:<\/p>\n<pre><code>systemctl enable pmproxy systemctl start pmproxy firewall-cmd --add-service=pmproxy --permanent firewall-cmd --reload<\/code><\/pre>\n<p>\u0418\u0442\u0430\u043a, Performance Co-Pilot \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0440\u0430 \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f <a href=\"https:\/\/grafana.com\/oss\/grafana\/\">Grafana<\/a>, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u0440\u0438\u043a.<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c grafana \u043d\u0430 server-1, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>yum install grafana grafana-pcp -y systemctl enable grafana-server systemctl start grafana-server firewall-cmd \u2013add-service=grafana \u2013permanent firewall-cmd \u2013reload<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u043c <a href=\"http:\/\/server-2:3000\/\">http:\/\/server-1:3000<\/a> \u0438 \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0438\u043c\u0441\u044f \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c admin \u0441 \u043f\u0430\u0440\u043e\u043b\u0435\u043c admin. \u042d\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0d0\/d3a\/2f1\/0d0d3a2f1f6040149e5a420ea3624d80.png\" width=\"624\" height=\"361\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u0434\u043e \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a \u0441 \u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 (Configuration), \u0438 \u0442\u0430\u043c \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c Plugins. \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043f\u043e\u043b\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u0432\u043e\u0434\u0438\u043c \u00abPerformance Co-Pilot App\u00bb, \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enable.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5fd\/a40\/34d\/5fda4034d35f18adf2216bffc990b86c.png\" width=\"1170\" height=\"677\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u043f\u044f\u0442\u044c \u0449\u0435\u043b\u043a\u0430\u0435\u043c Configuration, \u0437\u0430\u0442\u0435\u043c Data Sources, \u0436\u043c\u0435\u043c Add Data Source, \u043d\u0430\u0432\u043e\u0434\u0438\u043c \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 PCP Vector \u0438 \u0436\u043c\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0443 Select. \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u0439\u0441\u044f \u0444\u043e\u0440\u043c\u0435, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 HTTP \u0432\u0432\u043e\u0434\u0438\u043c \u00ab<a href=\"http:\/\/localhost:44322\/\">http:\/\/localhost:44322<\/a>\u00bb \u0432 \u043f\u043e\u043b\u0435 URL, \u0437\u0430\u0442\u0435\u043c \u0436\u043c\u0435\u043c Save &amp; Test \u0432\u043d\u0438\u0437\u0443 \u0444\u043e\u0440\u043c\u044b. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00abData source is working\u00bb.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4df\/c67\/a54\/4dfc67a54e037c823e4f1cf480f70b65.png\" width=\"1170\" height=\"670\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441\u043b\u0435\u0432\u0430 \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u043e\u043a \u0441 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0430\u043c\u0438 (Dashboard), \u0437\u0430\u0442\u0435\u043c Manage \u0438 \u043f\u043e\u0442\u043e\u043c PCP Vector Host Overview.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e97\/372\/736\/e973727362049947e3baa9affbc074be.png\" width=\"1170\" height=\"677\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u0439\u0441\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u0432\u0438\u0434\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 server-1, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a:<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU Percentage<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Load Average<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory Utilization<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disk Utilization<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Per-CPU busy (user\/system)<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU user%,system%,interrupt%,wait%<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scheduler context switches per second and runnable processes.<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory Used\/Cached\/Free\/Page Fault Rate\/Hard Fault Rate<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Network throughput in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Network drops in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Network packets in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCP connections\/timeouts\/close-waits\/time wait\/established\/listen errors\/retransmits<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disk latency\/iops\/throughput\/utilization<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f5b\/518\/56d\/f5b51856d4dd8c76c424eb3db5928bf2.png\" width=\"1170\" height=\"670\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u0435\u0441\u044c\u043c\u0430 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h2>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pmseries \u0438 Redis, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0440\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041d\u0430 server-1 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f Redis \u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a PCP \u0441\u043e \u0432\u0441\u0435\u0445 \u043d\u0430\u0448\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u0432\u0443\u0445). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 server-1 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Redis. \u041f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 PCP \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 100 \u041c\u0411 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0438 200 \u041c\u0411 \u041e\u0417\u0423 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0445\u043e\u0441\u0442. \u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0411\u0414 Redis, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f pmseries, \u0438 \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 server-1, \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \/etc\/pcp\/pmproxy\/pmproxy.conf, \u0447\u0442\u043e\u0431\u044b \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 [pmproxy] \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code># support Redis protocol proxying redis.enabled = true<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c, \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u0444\u0430\u0439\u043b\u0435, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 [pmseries] \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c:<\/p>\n<pre><code># allow REST API queries of fast, scalable time series enabled = true<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043d\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0443 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c Redis \u043d\u0430 server-1, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>yum install redis -y systemctl start redis systemctl enable redis<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432:<\/p>\n<pre><code>systemctl restart pmcd pmlogger pmproxy<\/code><\/pre>\n<p>\u0412\u0441\u0451, \u0442\u0435\u043f\u0435\u0440\u044c server-1 \u0431\u0443\u0434\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0430\u0437\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0445 \u0445\u043e\u0441\u0442\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d pmlogger. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e pmlogger \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u0441\u0447\u0435\u0442\u0435 \u043d\u0430 server-1, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0438 \u0434\u043b\u044f server-2.&nbsp;<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430 server-2 \u0432 \u0444\u0430\u0439\u043b\u0435 \/etc\/sysconfig\/pmcd \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 PMCD_LOCAL \u0441 1 \u043d\u0430 0, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 pmcd:<\/p>\n<pre><code># Behaviour regarding listening on external-facing interfaces; # unset PMCD_LOCAL to allow connections from remote hosts. # A value of 0 permits remote connections, 1 permits local only. PMCD_LOCAL=0<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432:<\/p>\n<pre><code>firewall-cmd --add-service=pmcd --permanent firewall-cmd --reload<\/code><\/pre>\n<p>\u0415\u0449\u0435 \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 pcp \u043a \u043f\u043e\u0440\u0442\u0430\u043c unreserved:<\/p>\n<pre><code>setsebool -P pcp_bind_all_unreserved_ports on<\/code><\/pre>\n<p>\u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b pcp:<\/p>\n<pre><code>systemctl restart pmcd pmlogger<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c server-2 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u043a \u043d\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0430\u0433\u0435\u043d\u0442 pmlogger \u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438.<\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043d\u0430 server-1 \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0430\u0433\u0435\u043d\u0442\u0443 pmlogger, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c server-2. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \/etc\/pcp\/pmlogger\/control.d\/remote&nbsp;\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0443\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code>server-2 n n PCP_LOG_DIR\/pmlogger\/server-2 -r -T24h10m -c config.remote<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c pmlogger:<\/p>\n<pre><code>systemctl restart pmlogger<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>cd \/var\/log\/pcp\/pmlogger\/server-2&nbsp; ls *.0<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0444\u0430\u0439\u043b, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 \u00ab.0\u00bb:<\/p>\n<pre><code>20200923.16.41.0<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e server-1 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c pcp-\u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441 server-2.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 Grafana (<a href=\"http:\/\/server-1:3000\/\">http:\/\/server-1:3000<\/a>)&nbsp;\u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 redis.<\/p>\n<p>\u0429\u0435\u043b\u043a\u0430\u0435\u043c Configuration, \u0437\u0430\u0442\u0435\u043c Data Sources, \u0437\u0430\u0442\u0435\u043c Add Data Source. \u041d\u0430\u0432\u043e\u0434\u0438\u043c \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 PCP Redis \u0438 \u0436\u043c\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0443 Select. \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u0439\u0441\u044f \u0444\u043e\u0440\u043c\u0435, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 HTTP \u0432\u0432\u043e\u0434\u0438\u043c \u00ab<a href=\"http:\/\/localhost:44322\/\">http:\/\/localhost:44322<\/a>\u00bb \u0432 \u043f\u043e\u043b\u0435 URL, \u0438 \u0437\u0430\u0442\u0435\u043c \u0436\u043c\u0435\u043c Save &amp; Test \u0432\u043d\u0438\u0437\u0443 \u0444\u043e\u0440\u043c\u044b. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00abData source is working\u00bb.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b19\/ddd\/509\/b19ddd509ef5a714ee435b3e3ccddc8f.png\" width=\"1170\" height=\"677\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u0438 \u043f\u043e\u0440\u0430 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0429\u0435\u043b\u043a\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u043e\u043a Dashboard, \u0437\u0430\u0442\u0435\u043c Manage \u0438 \u0437\u0430\u0442\u0435\u043c \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u043e\u043f\u0446\u0438\u044e PCP Redis Host Overview.<\/p>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0430\u043d\u0435\u043b\u044c PCP Redis Host Overview \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0448\u0435\u0441\u0442\u044c \u0447\u0430\u0441\u043e\u0432, \u043d\u043e \u044d\u0442\u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u043e\u0440\u043e\u0442\u0438\u0442\u044c. \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; load average<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory utilization<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per-cpu busy (user\/sys)<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context switches per second<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runnable processes<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory (used\/cached\/free)<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network throughput in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network drops in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network packets in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcp timeouts\/listen errors\/retransmits<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disk latency\/iops\/throughput\/utilization<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8f5\/9de\/fd1\/8f59defd19fee7009f12ecff8211ad37.png\" width=\"1170\" height=\"670\"><figcaption><\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u0439\u043c\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0432\u0441\u0435\u043c \u0445\u043e\u0441\u0442\u0430\u043c, \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 Redis. \u041a\u0441\u0442\u0430\u0442\u0438, \u0445\u043e\u0441\u0442, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0439 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043c\u0435\u043d\u044e Host \u0432 \u043b\u0435\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0441\u0442\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0445\u043e\u0441\u0442\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0440\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435.<\/p>\n<p>\u0412\u044b   \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0441\u0431\u043e\u0440\u0430 \u0438   \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u0440\u0438\u043a, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0440\u043e\u043b\u044c\u044e ansible \u2013 rhel-system-roles.metrics , \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430:<\/p>\n<p><a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/8\/html\/administration_and_configuration_tasks_using_system_roles_in_rhel\/monitoring-performance-using-rhel-system-roles_administration-and-configuration-tasks-using-system-roles-in-rhel#introduction-to-the-metrics-role_monitoring-performance-using-rhel-system-roles\">https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/8\/html\/administration_and_configuration_tasks_using_system_roles_in_rhel\/monitoring-performance-using-rhel-system-roles_administration-and-configuration-tasks-using-system-roles-in-rhel#introduction-to-the-metrics-role_monitoring-performance-using-rhel-system-roles<\/a><\/p>\n<h2>\u0423\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Performance Co-Pilot \u0438 Bpftrace<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Performance Co-Pilot \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 bpftrace \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u0438\u0434\u043d\u044b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Linux. \u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0435\u0441\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f bpftrace \u0438\u0437 \u044f\u0434\u0440\u0430 Linux \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0440\u0442 eBPF (\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u00ab\u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 eBPF), \u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Performance Co-Pilot.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0435 dev-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 bpftrace \u0438 Performance Co-Pilot. \u0418\u0442\u0430\u043a, Performance Co-Pilot \u0438 Grafana \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0430 server-1 \u043c\u043e\u0434\u0443\u043b\u044c pcp-pmda-bpftrace, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>yum install bpftrace pcp-pmda-bpftrace -y cd \/var\/lib\/pcp\/pmdas\/bpftrace .\/Install<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0447\u0442\u043e bpftrace pmda \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>pmrep bpftrace.scripts.runqlat.data_bytes -s 5<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e, \u0442\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u044f\u0442\u0438 \u0437\u0430\u043c\u0435\u0440\u043e\u0432 (\u0432 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445):<\/p>\n<pre><code>b.s.r.data_bytes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte\/s &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 586.165 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 590.276 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 588.141 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 589.113<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 bpftrace pmda \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 Performance Co-Pilot, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Grafana. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u044d\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 dev-\u0441\u0440\u0435\u0434\u044b, \u0430 \u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d\u0443 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043f\u043e\u0437\u0436\u0435.&nbsp;<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f, \u0441\u043e\u0437\u0434\u0430\u0432 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f Performance Co-Pilot \u0441 \u0438\u043c\u0435\u043d\u0435\u043c metrics:<\/p>\n<pre><code>yum install cyrus-sasl-scram cyrus-sasl-lib -y useradd -r metrics passwd metrics saslpasswd2 -a pmcd metrics chown root:pcp \/etc\/pcp\/passwd.db chmod 640 \/etc\/pcp\/passwd.db<\/code><\/pre>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 saslpasswd2 \u0437\u0430\u0434\u0430\u0435\u0442 \u043f\u0430\u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f metrics \u0432 sasl-\u0433\u0440\u0443\u043f\u043f\u0443 pmcd, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0438\u043c\u0435\u043b \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0430\u043d\u043d\u044b\u043c pcp.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u0434\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u0444\u0430\u0439\u043b\u0435 \/etc\/sasl2\/pmcd.conf \u0431\u044b\u043b\u0438 \u0434\u0432\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<pre><code>mech_list: scram-sha-256 sasldb_path: \/etc\/pcp\/passwd.db<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c pcp:<\/p>\n<pre><code>systemctl restart pmcd<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c bpftrace pmda \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0433 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e. <strong>\u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415: \u044d\u0442\u043e\u0442 \u0448\u0430\u0433 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043d\u043e \u043d\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d<\/strong>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \/var\/lib\/pcp\/pmdas\/bpftrace\/bpftrace.conf , \u0447\u0442\u043e\u0431\u044b \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 [dynamic_scripts] \u0431\u044b\u043b\u0438 \u0434\u0432\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430:<\/p>\n<pre><code>enabled=true allowed_users=root,metrics<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c bpftrace pmda:<\/p>\n<pre><code>cd \/var\/lib\/pcp\/pmdas\/bpftrace .\/Remove .\/Install<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c Grafana (<a href=\"http:\/\/server-1:3000\/\">http:\/\/server-1:3000<\/a>) \u0438 \u0432\u043e\u0439\u0442\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c admin (\u043f\u0430\u0440\u043e\u043b\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0437\u0430\u0434\u0430\u043b\u0438 \u0432\u044b\u0448\u0435).<\/p>\n<p>\u0412 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 Grafana \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u043e\u043a Configuration, \u0437\u0430\u0442\u0435\u043c Data Sources, \u0437\u0430\u0442\u0435\u043c Add Data Source, \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u0437 \u0434\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 PCP bpftrace, \u043d\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u043a\u0443\u0440\u0441\u043e\u0440 \u0438 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0443 Select.<\/p>\n<p>\u0412 \u043f\u043e\u043b\u0435 URL \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u00ab<a href=\"http:\/\/localhost:44322\/\">http:\/\/localhost:44322<\/a>\u00bb, \u0432 \u043f\u043e\u043b\u0435 Auth \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 Basic auth, \u0432 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0441\u0435\u043a\u0446\u0438\u0438 Basic Auth Details \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f metrics \u0438 \u043f\u0430\u0440\u043e\u043b\u044c, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0435\u0435 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 saslpasswd2. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435Save &amp; Test, \u0438, \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00abData source is working\u00bb.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/519\/197\/a78\/519197a7804bcba2cafd198d01001bb0.png\" width=\"1170\" height=\"712\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u043e\u043a Dashboards \u0438 \u0437\u0430\u0442\u0435\u043c Manage. \u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0441 \u0438\u043c\u0435\u043d\u0435\u043c PCP bpftrace System Analysis, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0435\u0435. \u0417\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u0440\u0438\u043a. \u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0441\u0442\u0440\u0435\u043b\u043a\u0443 \u0432\u043d\u0438\u0437 \u0440\u044f\u0434\u043e\u043c \u0441 CPU usage \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 Edit. \u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 bpftrace-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 bpf-\u043a\u0430\u0440\u0442\u0443 @cpu \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. Grafana \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0435\u0440\u0435\u0442 \u044d\u0442\u0443 bpf-\u043a\u0430\u0440\u0442\u0443 \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0435\u0435.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/074\/3fc\/701\/0743fc7010a67d6a34b44cf860bb5af8.png\" width=\"1170\" height=\"712\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 bpftrace \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u044f\u0434\u0440\u0430, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e pid \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 fork. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/iovisor\/bpftrace\/blob\/master\/tools\/pidpersec.bt\">\u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 pidpersec.bt<\/a> \u0438 \u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n<pre><code>tracepoint:sched:sched_process_fork { &nbsp;&nbsp;&nbsp;&nbsp; @ = count(); }<\/code><\/pre>\n<p>\u041f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0437\u043e\u0432\u043e\u0432 sched_process_fork \u0438 \u043f\u0438\u0448\u0435\u0442 \u0435\u0433\u043e \u0432 \u043a\u0430\u0440\u0442\u0443 bpf, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0437\u0430\u0442\u0435\u043c \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Grafana.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0432\u043e\u044e \u043f\u0430\u043d\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0435 \u044d\u0442\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c PCP bpftrace System Analysis \u0438 \u0436\u043c\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 Add Panel, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0441 \u0434\u0432\u0443\u043c\u044f \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438, \u0436\u043c\u0435\u043c Add Query.<\/p>\n<p>\u0420\u044f\u0434\u043e\u043c \u0441 \u043d\u0430\u0434\u043f\u0438\u0441\u044c\u044e Query \u0435\u0441\u0442\u044c \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0432 \u043d\u0435\u043c PCP bpftrace, \u0438 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u043f\u043e\u043b\u0435 Query A \u0432\u0432\u043e\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 bpftrace:<\/p>\n<pre><code>tracepoint:sched:sched_process_fork { &nbsp;&nbsp;&nbsp;&nbsp; @ = count(); }<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443 General \u0438 \u0437\u0430\u0434\u0430\u0435\u043c \u0438\u043c\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u2013 \u00abProcesses Per Second\u00bb. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e PCP bpftrace System Analysis \u0438 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u044d\u0442\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u0438. \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u044d\u0442\u0443 \u043f\u0430\u043d\u0435\u043b\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e32\/5a7\/4b2\/e325a74b2775b56b4f390f8e1af79859.png\" width=\"1170\" height=\"712\"><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0432\u0441\u0451 \u0437\u0434\u043e\u0440\u043e\u0432\u043e, \u043d\u043e \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e grafana \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043c\u0435\u0442\u0440\u0438\u043a pcp, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043b\u044e\u0431\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 bpftrace. \u042d\u0442\u043e \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e \u0432 dev-\u0441\u0440\u0435\u0434\u0435, \u043d\u043e \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u0448 bpftrace-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b \u0438\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 bpftrace.<\/p>\n<p>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u043a\u0435\u0442\u0430 bpftrace pmda. \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0438 bpftrace, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0435\u0441\u044f \u0432 \/var\/lib\/pcp\/pmdas\/bpftrace\/autostart, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 Performance Co-Pilot \u0432 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f bpftrace pmda.&nbsp;<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \/var\/lib\/pcp\/pmdas\/bpftrace\/autostart\/pidpersec.bt \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>tracepoint:sched:sched_process_fork { &nbsp;&nbsp;&nbsp;&nbsp; @ = count(); }<\/code><\/pre>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u0435\u0433\u043e, \u0438 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>cd \/var\/lib\/pcp\/pmdas\/bpftrace\/ .\/Remove .\/Install pminfo | grep pidpersec<\/code><\/pre>\n<p>\u0412\u044b\u0432\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439:<\/p>\n<pre><code>bpftrace.scripts.pidpersec.data.root bpftrace.scripts.pidpersec.data_bytes bpftrace.scripts.pidpersec.code bpftrace.scripts.pidpersec.probes bpftrace.scripts.pidpersec.error bpftrace.scripts.pidpersec.exit_code bpftrace.scripts.pidpersec.pid bpftrace.scripts.pidpersec.status<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043d\u0435 \u0437\u0430\u0434\u0430\u043b\u0438 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 bpf-\u043a\u0430\u0440\u0442\u044b, pmda \u0438\u043c\u0435\u043d\u0443\u0435\u0442 \u0435\u0435 \u043a\u0430\u043a root. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0438 \u0434\u043e\u0431\u0438\u0432\u0430\u043b\u0438\u0441\u044c, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439 \u0441 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:<\/p>\n<pre><code>pmrep bpftrace.scripts.pidpersec.data.root -s 5<\/code><\/pre>\n<p>\u0418 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u0432\u0440\u043e\u0434\u0435 \u0442\u0430\u043a\u043e\u0433\u043e:<\/p>\n<pre><code>&nbsp; b.s.p.d.root &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/s &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.984 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 31.049 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.000 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.000<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 grafana, \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f grafana-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0439, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 Performance Co-Pilot.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432 Grafana, \u0449\u0435\u043b\u043a\u043d\u0435\u043c \u0437\u043d\u0430\u0447\u043e\u043a Dashboards, \u0437\u0430\u0442\u0435\u043c Manage, \u0437\u0430\u0442\u0435\u043c PCP Vector Host Overview, \u0437\u0430\u0442\u0435\u043c Add Panel \u0438 \u0432 \u043d\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u043d\u0430\u0436\u043c\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443Add Query.<\/p>\n<p>\u0412 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u043c\u0441\u044f \u043c\u0435\u043d\u044e \u0440\u044f\u0434\u043e\u043c \u0441 \u043d\u0430\u0434\u043f\u0438\u0441\u044c\u044e Query \u0432\u044b\u0431\u0435\u0440\u0435\u043c PCP Vector \u0438 \u0432 \u043f\u043e\u043b\u0435 A-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432\u0432\u0435\u0434\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code>bpftrace.scripts.pidpersec.data.root<\/code><\/pre>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/492\/903\/f78\/492903f78ccf11c3ee3aeba7fb8f0533.png\" width=\"1170\" height=\"712\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u043e\u043a General \u0438 \u0432\u0432\u043e\u0434\u0438\u043c \u0438\u043c\u044f \u00abProcesses per Second\u00bb.<\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c PCP Vector Host Overview \u0438 \u0432\u0438\u0434\u0438\u043c \u0442\u0430\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e bpf-\u043a\u0430\u0440\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0448\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u043c bpftrace \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0445 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/83b\/a84\/1fa\/83ba841faf2be37b878b3461294626ec.png\" width=\"1170\" height=\"712\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0441\u0432\u044f\u0437\u043a\u0443 pcp-pmda-bpftrace \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a Linux-\u044f\u0434\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Grafana.<\/p>\n<p>\u041d\u0430\u0434\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 bpftrace \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e\u0442 \u0430\u0441\u043f\u0435\u043a\u0442 \u0442\u043e\u0436\u0435 \u043d\u0430\u0434\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<h2>\u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 \u0432\u0435\u0431-\u043a\u043e\u043d\u0441\u043e\u043b\u0438 RHEL 8.4<\/h2>\n<p>\u041d\u0438\u0436\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439 RHEL 8.4 \u0432 \u043f\u043b\u0430\u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0442 \u043f\u043e\u0438\u0441\u043a \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442\u0435\u0439, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0443\u044e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u043b\u0443\u0447\u0448\u0435 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c.<\/p>\n<h3>\u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0431-\u043a\u043e\u043d\u0441\u043e\u043b\u044c<\/h3>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u0440\u0430 \u043c\u0438\u043d\u0443\u0442, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u0438\u043b\u0438 \u0440\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043f\u0430\u043c\u044f\u0442\u0438, \u0434\u0438\u0441\u043a\u043e\u0432 \u0438 \u0441\u0435\u0442\u0438, \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438 (saturation) \u044d\u0442\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u044d\u0442\u043e?<\/p>\n<p>\u0414\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041d\u043e\u0432\u0430\u044f \u0432\u0435\u0431-\u043a\u043e\u043d\u0441\u043e\u043b\u044c RHEL 8.4 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0447\u0435\u0442\u0447\u0435 \u043f\u043e\u043d\u044f\u0442\u044c, \u0441 \u0447\u0435\u0433\u043e \u0441\u0442\u043e\u0438\u0442 \u043d\u0430\u0447\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043a\u0430\u0441\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043a\u0430\u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0442\u0430\u043a \u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 System -&gt; Overview &#8212; Usage card. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 cockpit-pcp (\u0441\u043c. \u0432\u044b\u0448\u0435), \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 Usage card.&nbsp;<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1e1\/fe2\/bc8\/1e1fe2bc8f98e019c948493eddf4e25c.png\" width=\"690\" height=\"265\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u043e\u0432\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u0434\u0432\u0435 \u0441\u0435\u043a\u0446\u0438\u0438. \u0412 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044d\u043a\u0440\u0430\u043d\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 Usage card, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0449\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043f\u0430\u043c\u044f\u0442\u0438, \u0434\u0438\u0441\u043a\u043e\u0432 \u0438 \u0441\u0435\u0442\u0438:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d80\/843\/72b\/d8084372b973302c522ad9f194e514bf.png\" width=\"1170\" height=\"384\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u043f\u043b\u0438\u0442\u043a\u0435 CPU \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u043e\u043f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u041f\u043b\u0438\u0442\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u041e\u0417\u0423 \u0438 \u0444\u0430\u0439\u043b \u043f\u043e\u0434\u043a\u0430\u0447\u043a\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u041d\u0430 \u043f\u043b\u0438\u0442\u043a\u0435 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u044b IO-\u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u0437\u0430\u043d\u044f\u0442\u044b\u0445 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041f\u043b\u0438\u0442\u043a\u0430 \u0441\u0435\u0442\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443.<\/p>\n<p>\u041d\u0438\u0436\u043d\u044f\u044f \u0447\u0430\u0441\u0442\u044c \u044d\u043a\u0440\u0430\u043d\u0430, \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a pcp (\u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438 \u044d\u0442\u043e \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438), \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e97\/b3d\/99a\/e97b3d99a19adaf931b495fc56a1afdf.png\" width=\"1170\" height=\"284\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043e\u0442 \u0441\u0430\u043c\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0434\u043e \u0442\u0435\u0445, \u0447\u0442\u043e \u0431\u044b\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0434\u0435\u043b\u044c \u043d\u0430\u0437\u0430\u0434. \u0421\u043b\u0435\u0432\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438; \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u0447\u0430\u0441\u0430\u043c\u0438 \u0447\u0430\u0441\u0430\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b.<\/p>\n<p>\u0427\u0435\u0442\u044b\u0440\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0430 \u2013 \u044d\u0442\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043f\u0430\u043c\u044f\u0442\u0438, \u0434\u0438\u0441\u043a\u043e\u0432 \u0438 \u0441\u0435\u0442\u0438. \u0421\u043b\u0435\u0432\u0430 \u043e\u0442 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0441\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u043f\u0440\u0430\u0432\u0430 \u2013&nbsp; \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438 (saturation). \u041f\u0440\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u043d\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430 \u0441 \u0442\u043e\u0447\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u042d\u0442\u0438 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u044c, \u043d\u0430 \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0441\u0442\u0430\u043b\u0438 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f.<\/p>\n<h3>\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 flame graph<\/h3>\n<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0433\u043b\u0443\u0431\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0442 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0431-\u043a\u043e\u043d\u0441\u043e\u043b\u0438 RHEL. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439 \u0432 RHEL \u0435\u0441\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f flame graphs.<\/p>\n<p>\u041e\u043d\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043a\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b, \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0433\u0434\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0438\u0445 \u0446\u0438\u043a\u043b\u043e\u0432 \u0442\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0441\u0447\u0443\u0440 \u043c\u043d\u043e\u0433\u043e. \u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e, \u0430 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u044d\u043a\u0440\u0430\u043d\u043e\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0435\u043a\u0430, \u043a\u0430\u043a \u0440\u0430\u043d\u044c\u0448\u0435.<\/p>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043f\u0430\u043a\u0435\u0442\u044b perf \u0438 js-d3-flame-graph.<\/p>\n<p>\u0421\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f flame graph \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b perf. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435, \u0434\u0430\u0442\u044c \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0441\u043a\u0430\u0436\u0435\u043c, 30 \u0441\u0435\u043a\u0443\u043d\u0434, \u0438 \u0437\u0430\u0442\u0435\u043c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u0436\u0430\u0432 Ctrl+C \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435.<\/p>\n<pre><code>[root@bigdemo1 ~]# perf script record flamegraph -F 99 -g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ^C  [ perf record: Woken up 3 times to write data ] [ perf record: Captured and wrote 1.194 MB perf.data (3448 samples) ]<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 flame graph, \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>[root@bigdemo1 ~]# perf script report flamegraph<\/code><\/pre>\n<p>\u041e\u043d\u0430 \u0432\u044b\u0434\u0430\u0441\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code>dumping data to flamegraph.html<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0444\u0430\u0439\u043b flamegraph.html, \u0438 \u0432\u0438\u0434\u0438\u043c \u0442\u0430\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/caf\/572\/433\/caf572433bf38782e258081ab8231887.png\" width=\"1170\" height=\"452\"><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 30 \u0441\u0435\u043a\u0443\u043d\u0434 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 perf. \u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0435 \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438 \u0441\u043d\u0438\u0437\u0443-\u0432\u0432\u0435\u0440\u0445, \u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043f\u043e\u0442\u043e\u043a \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0445 \u0442\u0440\u0430\u0441\u0441. \u041f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438 \u0436\u0435 \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b, \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b. \u0421\u0442\u0435\u043a\u0438 \u0443\u0440\u043e\u0432\u043d\u044f \u044f\u0434\u0440\u0430 \u0438\u043c\u0435\u044e\u0442 \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439 \u0446\u0432\u0435\u0442, \u0430 \u0441\u0442\u0435\u043a\u0438 user space \u2013 \u0431\u043e\u043b\u0435\u0435 \u0442\u0435\u043f\u043b\u044b\u0439 \u043e\u0442\u0442\u0435\u043d\u043e\u043a.<\/p>\n<p>\u0412 \u0441\u0430\u043c\u043e\u0439 \u043d\u0438\u0436\u043d\u0435\u0439 \u043f\u043e\u043b\u043e\u0441\u043a\u0435 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e root, \u044d\u0442\u043e \u043a\u043e\u0440\u0435\u043d\u044c \u0434\u0435\u0440\u0435\u0432\u044c\u0435\u0432 \u0441\u0442\u0435\u043a\u043e\u0432\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u043e\u0432. \u0414\u0432\u0438\u0433\u0430\u044f\u0441\u044c \u043f\u043e \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0435 \u0441\u043d\u0438\u0437\u0443-\u0432\u0432\u0435\u0440\u0445, \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b: SetroubleshootP, mysqld, apache2, 240998, rpm, ksoftirqd, kworker, grafana-server \u0438 redis-server.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u043b\u0435\u0433\u043a\u0430 \u043f\u043e\u0437\u0443\u043c\u0438\u0442\u044c (\u0432\u0441\u0435 \u0444\u0440\u0435\u0439\u043c\u044b \u0441\u0442\u0435\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0449\u0435\u043b\u043a\u0430\u0442\u044c), \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u00ab\u043a\u0440\u0430\u0441\u043d\u043e\u0439\u00bb \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u043a mysqld:<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/564382\/\"> https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/564382\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0431\u043e\u0440 \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Red Hat Enterprise Linux 8 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 Performance Co-Pilot (PCP), Grafana \u0438 Bpftrace, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 \u0432\u0435\u0431-\u043a\u043e\u043d\u0441\u043e\u043b\u0438 RHEL 8.4.<\/p>\n<h2>\u041e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b<\/h2>\n<p>\u0412 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e:<\/p>\n<ol>\n<li>\n<p>\u0414\u0432\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 RHEL 8.3 (\u0441      \u0438\u043c\u0435\u043d\u0430\u043c\u0438 server-1 \u0438 server-2).<\/p>\n<\/li>\n<li>\n<p>Grafana \u0432\u0435\u0440\u0441\u0438\u0438      grafana-6.7.4-3.el8.x86_64.<\/p>\n<\/li>\n<li>\n<p>PCP \u0432\u0435\u0440\u0441\u0438\u0438      pcp-5.1.1-3.el8.x86_64.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Performance Co-Pilot \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 RHEL 8, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0433\u043e \u043d\u0430 server-1 \u0438 server-2, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043d\u0430 \u043d\u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>yum install pcp-zeroconf -y<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a Performance Co-Pilot \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442:<\/p>\n<pre><code>pminfo | wc -l 3101 pminfo | grep kernel | head -n 15 kernel.all.load kernel.all.intr kernel.all.pswitch kernel.all.sysfork kernel.all.running kernel.all.blocked kernel.all.boottime kernel.all.hz  kernel.all.uptime kernel.all.idletime kernel.all.nusers kernel.all.nroots kernel.all.nsessions kernel.all.lastpid kernel.all.runnable<\/code><\/pre>\n<p>\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 pmrep:<\/p>\n<pre><code>pmrep kernel.all.load -s 5 &nbsp; k.a.load&nbsp; k.a.load&nbsp; k.a.load &nbsp; 1 minute&nbsp; 5 minute&nbsp; 15 minut &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080 &nbsp; 0.020&nbsp; 0.020 0.080<\/code><\/pre>\n<p>\u041e\u043f\u0446\u0438\u044f -s 5 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u044b\u0448\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e 5 \u043f\u0435\u0440\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c\u0438 \u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0430\u0434\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c pmproxy \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0440\u0442 \u043d\u0430 \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435:<\/p>\n<pre><code>systemctl enable pmproxy systemctl start pmproxy firewall-cmd --add-service=pmproxy --permanent firewall-cmd --reload<\/code><\/pre>\n<p>\u0418\u0442\u0430\u043a, Performance Co-Pilot \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0440\u0430 \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f <a href=\"https:\/\/grafana.com\/oss\/grafana\/\">Grafana<\/a>, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u0440\u0438\u043a.<\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c grafana \u043d\u0430 server-1, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>yum install grafana grafana-pcp -y systemctl enable grafana-server systemctl start grafana-server firewall-cmd \u2013add-service=grafana \u2013permanent firewall-cmd \u2013reload<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u043c <a href=\"http:\/\/server-2:3000\/\">http:\/\/server-1:3000<\/a> \u0438 \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0438\u043c\u0441\u044f \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c admin \u0441 \u043f\u0430\u0440\u043e\u043b\u0435\u043c admin. \u042d\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430 \u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u0434\u043e \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a \u0441 \u0448\u0435\u0441\u0442\u0435\u0440\u0435\u043d\u043a\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 (Configuration), \u0438 \u0442\u0430\u043c \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c Plugins. \u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043f\u043e\u043b\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u0432\u043e\u0434\u0438\u043c \u00abPerformance Co-Pilot App\u00bb, \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c Enable.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u043f\u044f\u0442\u044c \u0449\u0435\u043b\u043a\u0430\u0435\u043c Configuration, \u0437\u0430\u0442\u0435\u043c Data Sources, \u0436\u043c\u0435\u043c Add Data Source, \u043d\u0430\u0432\u043e\u0434\u0438\u043c \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 PCP Vector \u0438 \u0436\u043c\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0443 Select. \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u0439\u0441\u044f \u0444\u043e\u0440\u043c\u0435, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 HTTP \u0432\u0432\u043e\u0434\u0438\u043c \u00ab<a href=\"http:\/\/localhost:44322\/\">http:\/\/localhost:44322<\/a>\u00bb \u0432 \u043f\u043e\u043b\u0435 URL, \u0437\u0430\u0442\u0435\u043c \u0436\u043c\u0435\u043c Save &amp; Test \u0432\u043d\u0438\u0437\u0443 \u0444\u043e\u0440\u043c\u044b. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00abData source is working\u00bb.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043f\u0430\u043d\u0435\u043b\u0438 \u0441\u043b\u0435\u0432\u0430 \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u043e\u043a \u0441 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u043a\u0430\u043c\u0438 (Dashboard), \u0437\u0430\u0442\u0435\u043c Manage \u0438 \u043f\u043e\u0442\u043e\u043c PCP Vector Host Overview.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u0439\u0441\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u0432\u0438\u0434\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 server-1, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a:<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU Percentage<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Load Average<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory Utilization<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disk Utilization<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Per-CPU busy (user\/system)<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU user%,system%,interrupt%,wait%<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scheduler context switches per second and runnable processes.<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory Used\/Cached\/Free\/Page Fault Rate\/Hard Fault Rate<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Network throughput in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Network drops in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Network packets in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCP connections\/timeouts\/close-waits\/time wait\/established\/listen errors\/retransmits<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disk latency\/iops\/throughput\/utilization<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u0435\u0441\u044c\u043c\u0430 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<h2>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pmseries \u0438 Redis, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0440\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435.<\/p>\n<p>\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041d\u0430 server-1 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f Redis \u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a PCP \u0441\u043e \u0432\u0441\u0435\u0445 \u043d\u0430\u0448\u0438\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u0432\u0443\u0445). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 server-1 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0435\u0441\u0442\u0430 \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Redis. \u041f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 PCP \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 100 \u041c\u0411 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0438 200 \u041c\u0411 \u041e\u0417\u0423 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0445\u043e\u0441\u0442. \u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0411\u0414 Redis, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f pmseries, \u0438 \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 server-1, \u043f\u043e\u0434\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0444\u0430\u0439\u043b \/etc\/pcp\/pmproxy\/pmproxy.conf, \u0447\u0442\u043e\u0431\u044b \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 [pmproxy] \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code># support Redis protocol proxying redis.enabled = true<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c, \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u0444\u0430\u0439\u043b\u0435, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 [pmseries] \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c:<\/p>\n<pre><code># allow REST API queries of fast, scalable time series enabled = true<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043d\u0430 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043a\u0443 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c Redis \u043d\u0430 server-1, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>yum install redis -y systemctl start redis systemctl enable redis<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432:<\/p>\n<pre><code>systemctl restart pmcd pmlogger pmproxy<\/code><\/pre>\n<p>\u0412\u0441\u0451, \u0442\u0435\u043f\u0435\u0440\u044c server-1 \u0431\u0443\u0434\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0430\u0437\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0445 \u0445\u043e\u0441\u0442\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d pmlogger. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e pmlogger \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u0441\u0447\u0435\u0442\u0435 \u043d\u0430 server-1, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0438 \u0434\u043b\u044f server-2.&nbsp;<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430 server-2 \u0432 \u0444\u0430\u0439\u043b\u0435 \/etc\/sysconfig\/pmcd \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 PMCD_LOCAL \u0441 1 \u043d\u0430 0, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 pmcd:<\/p>\n<pre><code># Behaviour regarding listening on external-facing interfaces; # unset PMCD_LOCAL to allow connections from remote hosts. # A value of 0 permits remote connections, 1 permits local only. PMCD_LOCAL=0<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432:<\/p>\n<pre><code>firewall-cmd --add-service=pmcd --permanent firewall-cmd --reload<\/code><\/pre>\n<p>\u0415\u0449\u0435 \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 pcp \u043a \u043f\u043e\u0440\u0442\u0430\u043c unreserved:<\/p>\n<pre><code>setsebool -P pcp_bind_all_unreserved_ports on<\/code><\/pre>\n<p>\u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b pcp:<\/p>\n<pre><code>systemctl restart pmcd pmlogger<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c server-2 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e \u043a \u043d\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0430\u0433\u0435\u043d\u0442 pmlogger \u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438.<\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043d\u0430 server-1 \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0430\u0433\u0435\u043d\u0442\u0443 pmlogger, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c server-2. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \/etc\/pcp\/pmlogger\/control.d\/remote&nbsp;\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0443\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre><code>server-2 n n PCP_LOG_DIR\/pmlogger\/server-2 -r -T24h10m -c config.remote<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c pmlogger:<\/p>\n<pre><code>systemctl restart pmlogger<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>cd \/var\/log\/pcp\/pmlogger\/server-2&nbsp; ls *.0<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0444\u0430\u0439\u043b, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 \u00ab.0\u00bb:<\/p>\n<pre><code>20200923.16.41.0<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e server-1 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c pcp-\u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441 server-2.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 Grafana (<a href=\"http:\/\/server-1:3000\/\">http:\/\/server-1:3000<\/a>)&nbsp;\u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043c\u0435\u0442\u0440\u0438\u043a\u0430\u043c, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 redis.<\/p>\n<p>\u0429\u0435\u043b\u043a\u0430\u0435\u043c Configuration, \u0437\u0430\u0442\u0435\u043c Data Sources, \u0437\u0430\u0442\u0435\u043c Add Data Source. \u041d\u0430\u0432\u043e\u0434\u0438\u043c \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 PCP Redis \u0438 \u0436\u043c\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0443 Select. \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u0439\u0441\u044f \u0444\u043e\u0440\u043c\u0435, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 HTTP \u0432\u0432\u043e\u0434\u0438\u043c \u00ab<a href=\"http:\/\/localhost:44322\/\">http:\/\/localhost:44322<\/a>\u00bb \u0432 \u043f\u043e\u043b\u0435 URL, \u0438 \u0437\u0430\u0442\u0435\u043c \u0436\u043c\u0435\u043c Save &amp; Test \u0432\u043d\u0438\u0437\u0443 \u0444\u043e\u0440\u043c\u044b. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00abData source is working\u00bb.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u0438 \u043f\u043e\u0440\u0430 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0429\u0435\u043b\u043a\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u043e\u043a Dashboard, \u0437\u0430\u0442\u0435\u043c Manage \u0438 \u0437\u0430\u0442\u0435\u043c \u0449\u0435\u043b\u043a\u0430\u0435\u043c \u043e\u043f\u0446\u0438\u044e PCP Redis Host Overview.<\/p>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0430\u043d\u0435\u043b\u044c PCP Redis Host Overview \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0448\u0435\u0441\u0442\u044c \u0447\u0430\u0441\u043e\u0432, \u043d\u043e \u044d\u0442\u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u043e\u0440\u043e\u0442\u0438\u0442\u044c. \u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; load average<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory utilization<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; per-cpu busy (user\/sys)<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context switches per second<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runnable processes<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memory (used\/cached\/free)<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network throughput in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network drops in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network packets in\/out<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcp timeouts\/listen errors\/retransmits<\/p>\n<p>\u25cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disk latency\/iops\/throughput\/utilization<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u0439\u043c\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0432\u0441\u0435\u043c \u0445\u043e\u0441\u0442\u0430\u043c, \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 Redis. \u041a\u0441\u0442\u0430\u0442\u0438, \u0445\u043e\u0441\u0442, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0439 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043c\u0435\u043d\u044e Host \u0432 \u043b\u0435\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0441\u0442\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0445\u043e\u0441\u0442\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0440\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435.<\/p>\n<p>\u0412\u044b   \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0441\u0431\u043e\u0440\u0430 \u0438   \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u0440\u0438\u043a, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0440\u043e\u043b\u044c\u044e ansible \u2013 rhel-system-roles.metrics , \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430:<\/p>\n<p><a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/8\/html\/administration_and_configuration_tasks_using_system_roles_in_rhel\/monitoring-performance-using-rhel-system-roles_administration-and-configuration-tasks-using-system-roles-in-rhel#introduction-to-the-metrics-role_monitoring-performance-using-rhel-system-roles\">https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/8\/html\/administration_and_configuration_tasks_using_system_roles_in_rhel\/monitoring-performance-using-rhel-system-roles_administration-and-configuration-tasks-using-system-roles-in-rhel#introduction-to-the-metrics-role_monitoring-performance-using-rhel-system-roles<\/a><\/p>\n<h2>\u0423\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Performance Co-Pilot \u0438 Bpftrace<\/h2>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Performance Co-Pilot \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 bpftrace \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u0438\u0434\u043d\u044b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Linux. \u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0435\u0441\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f bpftrace \u0438\u0437 \u044f\u0434\u0440\u0430 Linux \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0440\u0442 eBPF (\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u00ab\u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 eBPF), \u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Performance Co-Pilot.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0435 dev-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 bpftrace \u0438 Performance Co-Pilot. \u0418\u0442\u0430\u043a, Performance Co-Pilot \u0438 Grafana \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0430 server-1 \u043c\u043e\u0434\u0443\u043b\u044c pcp-pmda-bpftrace, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code>yum install bpftrace pcp-pmda-bpftrace -y cd \/var\/lib\/pcp\/pmdas\/bpftrace .\/Install<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0447\u0442\u043e bpftrace pmda \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code>pmrep bpftrace.scripts.runqlat.data_bytes -s 5<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e, \u0442\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u044f\u0442\u0438 \u0437\u0430\u043c\u0435\u0440\u043e\u0432 (\u0432 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445):<\/p>\n<pre><code>b.s.r.data_bytes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte\/s &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 586.165 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 590.276 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 588.141 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 589.113<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 bpftrace pmda \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 Performance Co-Pilot, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Grafana. \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u044d\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 dev-\u0441\u0440\u0435\u0434\u044b, \u0430 \u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d\u0443 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043f\u043e\u0437\u0436\u0435.&nbsp;<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f, \u0441\u043e\u0437\u0434\u0430\u0432 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f Performance Co-Pilot \u0441 \u0438\u043c\u0435\u043d\u0435\u043c metrics:<\/p>\n<pre><code>yum install cyrus-sasl-scram cyrus-sasl-lib -y useradd -r metrics passwd metrics saslpasswd2 -a pmcd metrics chown root:pcp \/etc\/pcp\/passwd.db chmod 640<\/code><\/pre>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-325435","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=325435"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/325435\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=325435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=325435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=325435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}