ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π΅Π²ΠΎΠΏΡΠ° | DevOps, SRE, Sysadmin
ΠΡΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄Π»Ρ Π΄Π΅Π²ΠΎΠΏΡΠ΅ΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅. ΠΠ°ΡΠΈ ΠΊΡΡΡΡ: https://clc.to/ZJ7Z1w ΠΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ΅: @tproger_sales_bot ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ: @proglibrary_feeedback_bot Π ΠΠ: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787 ΠΠ°ΡΠ²ΠΊΠ°: 8137718351
Ko'proq ko'rsatishπ Telegram kanali ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π΅Π²ΠΎΠΏΡΠ° | DevOps, SRE, Sysadmin analitikasi
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π΅Π²ΠΎΠΏΡΠ° | DevOps, SRE, Sysadmin (@devopsslib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 338 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 813-o'rinni va Rossiya mintaqasida 61 452-o'rinni egallagan.
π Auditoriya koβrsatkichlari va dinamika
Π½Π΅Π²ΡΠ΄ΠΎΠΌΠΎ sanasidan buyon loyiha tez oβsib, 10 338 obunachiga ega boβldi.
28 Oktabr, 2026 dagi oxirgi maβlumotlarga koβra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -44 ga, soβnggi 24 soatda esa 1 ga oβzgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya oβrtacha 10.47% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.07% ini tashkil etuvchi reaksiyalarni toβplaydi.
- Post qamrovi: Har bir post oβrtacha 1 082 marta koβriladi; birinchi sutkada odatda 524 ta koβrish yigβiladi.
- Reaksiyalar va oβzaro taβsir: Auditoriya faol: har bir postga oβrtacha 1 ta reaksiya keladi.
- Tematik yoβnalishlar: Kontent devops'a, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ, ΡΠΊΡΠΈΠΏΡ, docker, git kabi asosiy mavzularga jamlangan.
π Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida taβriflaydi:
βΠΡΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π΄Π»Ρ Π΄Π΅Π²ΠΎΠΏΡΠ΅ΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅.
ΠΠ°ΡΠΈ ΠΊΡΡΡΡ: https://clc.to/ZJ7Z1w
ΠΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ΅: @tproger_sales_bot
ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ: @proglibrary_feeedback_bot
Π ΠΠ: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
ΠΠ°ΡΠ²ΠΊΠ°: 8137718351β
Yuqori yangilanish chastotasi (oxirgi maβlumot 29 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli boβlib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim taβsir nuqtasiga aylantirishini koβrsatadi.
Π ΡΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠΊ ΠΎΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ Π² Kubernetes?ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: ΠΎΠ±Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΠ½Π°Π΅ΡΠ΅ ΠΎΡΠ²Π΅Ρ? β‘οΈ ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π±Ρ π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a #Π·Π°Π΄Π°ΡΠ°_ΡΠΎ_Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΎΠΉ
Docker β ΡΡΡΠΈΠ½Π°, Π° Π²ΠΎΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Observability Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΠ°Π³Π΅Π½ΡΠ½ΠΎΠΉ LLM-ΡΠΈΡΡΠ΅ΠΌΡ β ΡΡΠΎ Π±ΠΎΠ»Ρ. ΠΠ°ΠΊ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ², Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Β«Π³Π°Π»Π»ΡΡΠΈΠ½Π°ΡΠΈΠΈΒ» ΠΈ Π½Π΅ Π½Π°ΡΡΡΠΈΡΡ 152-Π€Π?
Π ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠΊΡΡ ΡΠΌΠ΅ΡΡΠ½ Π½Π° AgentOps, ΠΆΡΡΡΠΊΠΈΠΉ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ ΠΈ Π²ΡΠ²ΠΎΠ΄ Π² ΠΏΡΠΎΠ΄. ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ LangGraph, Π²Π½Π΅Π΄ΡΡΡΡ RAG ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ MCP. ΠΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅: ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, time-travel Π΄Π΅Π±Π°Π³Π³ΠΈΠ½Π³, Π·Π°ΡΠΈΡΠ° ΠΎΡ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ, human-in-the-loop ΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Π·Π°ΠΊΡΡΡΡΡ
ΠΊΠΎΠ½ΡΡΡΠ°Ρ
.
ΠΠΎΡΠ΅ΠΌΡ Π½Π΅Π»ΡΠ·Ρ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ:
β ΠΌΠ°ΡΡΡΠ°Π±Π½Π°Ρ Π°ΠΊΡΠΈΡ Β«3 ΠΊΡΡΡΠ° ΠΏΠΎ ΡΠ΅Π½Π΅ 1Β» ΡΠ³ΠΎΡΠΈΡ ΡΠΆΠ΅ Π·Π°Π²ΡΡΠ°;
β ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄ Agent Π½Π° ΡΠΊΠΈΠ΄ΠΊΡ 10 000 ΡΡΠ±Π»Π΅ΠΉ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΡΡ;
β ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ β Π½Π°ΡΠ°ΡΡ ΡΡΠΈΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
ΠΠ°Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΊΡΡΡΠ΅ ΠΈ Π·Π°Π±ΡΠ°ΡΡ Π±ΠΎΠ½ΡΡΡ Π΄ΠΎ 28 ΡΠ΅Π²ΡΠ°Π»Ρcurl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
β‘οΈ Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#Π°ΡΡΠ΅Π½Π°Π»_ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°/api/v1/health/readiness β Π΄Π»Ρ load balancer, Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
/api/v1/diagnostics β Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΡ Π΄Π»Ρ troubleshooting
ΠΠ·ΠΎΠ»ΡΡΠΈΡ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎ Π½ΠΎΠ΄Π° ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° Π½Π΅ ΠΌΠΈΠ½ΡΡΡ. Π‘ΡΠ°ΡΡΠ΅ health check ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ Π·Π°Π΄Π΅ΠΏΡΠ΅ΠΊΠ΅ΠΉΡΠ΅Π½Ρ.
Terraform Actions β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² β ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π² TFE
Replace resource ΠΏΡΡΠΌΠΎ ΠΈΠ· UI β ΠΏΠΎΡΠΈΠ½ΠΈΡΡ ΡΠΏΠ°Π²ΡΡΡ VM, Π½Π΅ Π²ΡΡ
ΠΎΠ΄Ρ ΠΈΠ· Π΄Π°ΡΠ±ΠΎΡΠ΄Π°.
ΠΠ°ΠΆΠ½ΠΎ ΠΏΡΠΈ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄Π΅: ΡΠ±ΡΠ°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ PostgreSQL 13.
β‘οΈ ΠΠ»ΠΎΠ³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#ΠΏΡΠ»ΡΡ_ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ# yaml-language-server: $schema=... ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡ
Π΅ΠΌΡ.
Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ yaml-schema-router: ΠΎΠ½ ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠ°ΠΏΠΊΡ, Π³Π΄Π΅ ΠΎΠ½ Π»Π΅ΠΆΠΈΡ, ΠΈ ΡΠ°ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, docker-compose.yml, Π·Π½Π°ΡΠΈΡ Π½ΡΠΆΠ½Π° ΡΡ
Π΅ΠΌΠ° Π΄Π»Ρ Π½Π΅Π³ΠΎ. Π Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Ρ, ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
β‘οΈ Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#Π°ΡΡΠ΅Π½Π°Π»_ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°/api/v1/health/readiness β Π΄Π»Ρ load balancer, Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
/api/v1/diagnostics β Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΡ Π΄Π»Ρ troubleshooting
ΠΠ·ΠΎΠ»ΡΡΠΈΡ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎ Π½ΠΎΠ΄Π° ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° Π½Π΅ ΠΌΠΈΠ½ΡΡΡ. Π‘ΡΠ°ΡΡΠ΅ health check ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ Π·Π°Π΄Π΅ΠΏΡΠ΅ΠΊΠ΅ΠΉΡΠ΅Π½Ρ.
Terraform Actions β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² β ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π² TFE
Replace resource ΠΏΡΡΠΌΠΎ ΠΈΠ· UI β ΠΏΠΎΡΠΈΠ½ΠΈΡΡ ΡΠΏΠ°Π²ΡΡΡ VM, Π½Π΅ Π²ΡΡ
ΠΎΠ΄Ρ ΠΈΠ· Π΄Π°ΡΠ±ΠΎΡΠ΄Π°.
ΠΠ°ΠΆΠ½ΠΎ ΠΏΡΠΈ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄Π΅: ΡΠ±ΡΠ°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ PostgreSQL 13.
β‘οΈ ΠΠ»ΠΎΠ³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#ΠΏΡΠ»ΡΡ_ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈAgentOps ΠΈ ΡΠΌΠ΅ΡΡΠΈΠ»ΠΈ ΡΠΎΠΊΡΡ Ρ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Π½Π° ΡΡΡΠΎΠ²ΡΠΉ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³. Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π»Π΅Π³ΠΊΠΎ, Π° Π²ΠΎΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ, Π»ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΡΠΎΠ΄Π΅ β Π·Π°Π΄Π°ΡΠ° ΡΠΎ Π·Π²ΡΠ·Π΄ΠΎΡΠΊΠΎΠΉ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
β AgentOps: Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
β ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π² LangGraph: ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ time-travel Π΄Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΊΠ°Π·ΠΎΠ²;
β ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ RAG Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π° ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²;
β ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ: Π·Π°ΡΠΈΡΠ° ΠΎΡ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ;
β ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΎΠΏΠ΅Π½ΡΠΎΡΡ-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ 152-Π€Π.
Π ΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΠ° ΠΏΡΠΎΠ΄Π°ΠΆ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅: 3 ΠΊΡΡΡΠ° ΠΏΠΎ ΡΠ΅Π½Π΅ 1 (Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΡΡΡΠ° Π² ΠΏΠΎΠ΄Π°ΡΠΎΠΊ).
ΠΠΎΡΡΡΠΏ ΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ»Π°ΡΡ.
ΠΠΎ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄Ρ Agent Π·Π°Π±ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΊΠΈΠ΄ΠΊΡ 10 000 β½ (89 000 β½ Π²ΠΌΠ΅ΡΡΠΎ 99 000 β½). Π£ΡΠΏΠ΅ΠΉΡΠ΅ Π·Π°Π½ΡΡΡ ΠΌΠ΅ΡΡΠΎ Π΄ΠΎ 28 ΡΠ΅Π²ΡΠ°Π»Ρ!
π ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²ΡΡΡΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ AgentOpsimport subprocess
def check_security_policies():
report = []
# ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ subprocess, ΡΠ΅ΠΌ os.popen
result = subprocess.run(["cat", "/etc/passwd"], capture_output=True, text=True)
users = result.stdout.strip().split("\n")
for user in users:
if "/bin/bash" in user:
username = user.split(":")[0]
report.append(f"User with shell access: {username}")
with open("compliance_report.txt", "w") as f:
f.write("\n".join(report))
print(f"Compliance report generated. Found {len(report)} users with shell access.")
if __name__ == "__main__":
check_security_policies()
Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠΊΡΠΈΠΏΡ: ΡΠΈΡΠ°Π΅Ρ /etc/passwd ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ shell ΠΏΡΠΎΠΏΠΈΡΠ°Π½ /bin/bash. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΈΡΠ΅Ρ Π² ΡΠ°ΠΉΠ».
ΠΠ°ΠΊ ΡΠ»ΡΡΡΠΈΡΡ: Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΡΡΡΡΡ
ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· /etc/shadow, ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² Ρ UID < 1000, ΠΈΠ»ΠΈ ΠΏΡΠΈΠΊΡΡΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ Π² JSON Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ SIEM.
ΠΠ° ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΈΠΏΠ° pwd β ΠΎΠ½Π° ΡΠΈΡΠ°Π΅Ρ /etc/passwd Π½Π°ΡΠΈΠ²Π½ΠΎ, Π±Π΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ².
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#Π°ΡΡΠ΅Π½Π°Π»_ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°kubectl get pods Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°Π·Ρ. kubectl get pods -o wide ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π½ΡΠΆΠ½Ρ.
ΠΡΡΡ ΡΠΏΠΎΡΠΎΠ± Π»ΡΡΡΠ΅:
kubectl get pods -o custom-columns='NAME:.metadata.name,IMAGE:.spec.containers[*].image'
Π€Π»Π°Π³ -o custom-columns ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ· Π»ΡΠ±ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°. Π€ΠΎΡΠΌΠ°Ρ ΠΏΡΠΎΡΡΠΎΠΉ: ΠΠΠΠΠΠΠΠΠ:jsonpath. Π’ΠΎΡΠΊΠ° β ΡΡΠΎ ΠΊΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΄Π°Π»ΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅.
[*] Π² ΠΏΡΡΠΈ β ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ Π² ΠΏΠΎΠ΄Π΅, Π²ΠΊΠ»ΡΡΠ°Ρ sidecar-Ρ. ΠΡΠ»ΠΈ ΠΈΡ
Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΎΠ±ΡΠ°Π·Ρ Π²ΡΠ²Π΅Π΄ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅.
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ namespace ΠΈ ΡΡΠ°ΡΡΡ:
kubectl get pods -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,IMAGE:.spec.containers[*].image,STATUS:.status.phase'
Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΡΠ±ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ΄Π°ΠΌΠΈ. Π’Π΅ ΠΆΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΊ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½ΡΠ°ΠΌ, Π½ΠΎΠ΄Π°ΠΌ, ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ β Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π΅ΡΡΡ YAML-ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ.
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#root_prompt# Π’ΡΠ½Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ
docker model pull ai/gpt-oss:20B-UD-Q4_K_XL
# Π‘ΠΎΠ·Π΄Π°ΡΠΌ sandbox
docker sandbox create --name openclaw -t olegselajev241/openclaw-dmr:latest shell .
docker sandbox network proxy openclaw --allow-host localhost
docker sandbox run openclaw
# ΠΠ½ΡΡΡΠΈ sandbox
~/start-openclaw.sh
ΠΠ±Π»Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ»ΠΈ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Ρ
ΠΎΡΡΠ° Π΅ΡΡΡ ANTHROPIC_API_KEY ΠΈΠ»ΠΈ OPENAI_API_KEY β ΠΏΡΠΎΠΊΡΠΈ ΡΠ°ΠΌ ΠΈΡ
ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡ. ΠΠ»ΡΡΠΈ Π²Π½ΡΡΡΡ sandbox Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ.
β‘οΈ ΠΠ»ΠΎΠ³ Docker
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#Π°ΡΡΠ΅Π½Π°Π»_ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°iostat -x 1 5 β ΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ %wa. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅ 20% β ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΉ ΡΠΈΠ³Π½Π°Π».
iotop β ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΡΡΠ·ΡΡ Π΄ΠΈΡΠΊ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
strace -p PID β ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠ²ΠΈΡΡ Π·Π°ΡΠΈΠΊΠ»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΠ°ΠΊ Π»Π΅ΡΠΈΡΡ:
Π‘Π½ΠΈΠ·ΠΈΡΡ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π³ΡΡΠ·Π½ΡΡ
ΡΡΡΠ°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ:
echo 1000 > /proc/sys/vm/dirty_expire_centisecs
Π Π°ΡΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ionice β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ½ΠΈΠ·ΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π±ΡΠΊΠ°ΠΏΠ°, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΌΠ΅ΡΠ°Π» ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Ρ.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ β ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° SSD ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ.
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: Π»ΠΈΡΠ½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π΄ΠΈΡΠΊΡ, Π½Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, Π·Π°ΠΏΠΈΡΡ Π±Π΅Π· Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ β Π²ΡΡ ΡΡΠΎ Π±ΡΡΡ ΠΏΠΎ I/O.
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ, ΠΏΠΎΡΠΎΠΌ Π»Π΅ΡΠΈΡΡ. iostat ΠΈ iotop Π΄Π°Π΄ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ Π·Π° ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ.
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#Π°ΡΡΠ΅Π½Π°Π»_ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°from kubernetes import client, config
def check_kubernetes_status():
config.load_kube_config() # ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ ΠΈΠ· ~/.kube/config
v1 = client.CoreV1Api()
pods = v1.list_pod_for_all_namespaces(watch=False)
for pod in pods.items:
print(f"Pod: {pod.metadata.name}, Status: {pod.status.phase}")
if __name__ == "__main__":
check_kubernetes_status()
config.load_kube_config() ΠΏΠΎΠ΄Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ ΠΈΠ· ~/.kube/config β ΡΠΎΡ ΠΆΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ kubectl. ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° config.load_incluster_config().
list_pod_for_all_namespaces() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΏΠΎΠ΄Ρ ΡΡΠ°Π·Ρ. Π₯ΠΎΡΠΈΡΠ΅ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π½Π΅ΠΉΠΌΡΠΏΠ΅ΠΉΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ list_namespaced_pod(namespace="your-namespace").
Π₯ΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
π ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ: ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ β’ ΠΠ°Π΄Π°ΡΠΈ β’ Π‘ΠΎΠ±Π΅ΡΡ
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° devops'a
#Π°ΡΡΠ΅Π½Π°Π»_ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°