Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787 Заявка: 8137718351
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Библиотека девопса | DevOps, SRE, Sysadmin
تُعد قناة Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 336 مشتركاً، محتلاً المرتبة 11 813 في فئة التكنولوجيات والتطبيقات والمرتبة 61 444 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 336 مشتركاً.
بحسب آخر البيانات بتاريخ 29 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -47، وفي آخر 24 ساعة بمقدار -3، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 10.47%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.97% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 082 مشاهدة. وخلال اليوم الأول يجمع عادةً 514 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 1.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل devops'a, навигация, скрипт, docker, git.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Все самое полезное для девопсера в одном канале.
Наши курсы: https://clc.to/ZJ7Z1w
По рекламе: @tproger_sales_bot
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Заявка: 8137718351”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 30 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
resource "aws_db_instance" "database" {
password = "notasecurepassword"
}
Правильный подход:
1. Объявляем переменную в variables.tf:
variable "db_password" {
type = string
}
2. Создаем secrets.tfvars:
db_password = "insecurepassword"3. Используем переменную:
resource "aws_db_instance" "database" {
password = var.db_password
}
Не забудьте добавить secrets.tfvars в .gitignore
Но это только первый шаг. Хранить секреты в файлах — всё ещё не лучшее решение.
🐸 Библиотека devops'a
#root@promptjournalctl --since "1 hour ago" | grep -i error
Вытаскивает все записи с ошибками за нужный промежуток. Можно изменить период: «10 minutes ago», «2 hours ago», «today».
🐸 Библиотека devops'a
#root@promptdate из пакета rust-coreutils, который блокирует автоматическую проверку доступных обновлений системы.
Как проверить, затронута ли ваша система:
dpkg -l rust-coreutils
Затронуты системы с версией: <= 0.2.2-0ubuntu2
Не затронуты системы с версией: >= 0.2.2-0ubuntu2.1
Быстрый фикс:
sudo apt install --update rust-coreutils
Если вы регулярно обновляете систему вручную через apt, скорее всего вы уже не затронуты.
➡️ Источник
🐸 Библиотека devops'a
#пульс_индустрииscreen — это программа, которая не даёт вашим командам на сервере прерваться, если интернет пропал или вы закрыли терминал.
Как пользоваться
Создать новую сессию:
screen -S my-task
Теперь вы внутри screen. Запускайте команды как обычно.
Выйти из сессии (она продолжит работать):
Нажмите Ctrl+A, отпустите, потом нажмите D
Посмотреть все запущенные сессии:
screen -ls
Вернуться в сессию:
screen -r my-task
Открыть ещё одну вкладку внутри screen:
Ctrl+A, потом C
Переключаться между вкладками:
Ctrl+A, потом N — следующая вкладка
Ctrl+A, потом P — предыдущая вкладка
Ctrl+A, потом цифра (0, 1, 2...) — конкретная вкладка
Убить конкретную сессию:
screen -X -S 12345 quit
Лайфхак: всегда давайте сессиям понятные имена (-S backup, -S deploy), а не оставляйте автоматические номера — так проще найти нужную.
🐸 Библиотека devops'a
#арсенал_инженераexec в Debug Console — и вы получите живой shell внутри образа, который сейчас собирается.
➡️ Попробовать фишки
🐸 Библиотека devops'a
#арсенал_инженера$ kubectl get pods -A | grep -E 'Completed|Error|Evicted' | wc -l
847
Как почистить кластер
Удалить все Completed поды:
kubectl get pods -A --field-selector=status.phase==Succeeded \
-o json | jq -r '.items[] | "\(.metadata.namespace) \(.metadata.name)"' \
| xargs -n2 bash -c 'kubectl delete pod -n $0 $1'
Или проще, если у вас kubectl 1.24+:
kubectl delete pods --all-namespaces \
--field-selector=status.phase==Succeeded
Удалить все Failed поды:
kubectl delete pods --all-namespaces \
--field-selector=status.phase==Failed
Удалить Evicted поды
Тут хитрее, потому что Evicted — это не phase, а reason:
kubectl get pods -A -o json | \
jq -r '.items[] | select(.status.reason=="Evicted") | "\(.metadata.namespace) \(.metadata.name)"' | \
xargs -n2 bash -c 'kubectl delete pod -n $0 $1'
Удалить всё разом:
kubectl get pods -A -o json | \
jq -r '.items[] |
select(.status.phase=="Succeeded" or .status.phase=="Failed" or .status.reason=="Evicted") |
"\(.metadata.namespace) \(.metadata.name)"' | \
xargs -n2 bash -c 'kubectl delete pod -n $0 $1 --ignore-not-found=true'
Чистый кластер — счастливый кластер.
🐸 Библиотека devops'a
#арсенал_инженераgit clone git@github.com:zyra-engineering-ltda/watch-doggo.git
cd watch-doggo && ./run.sh
# Dashboard на http://127.0.0.1:5000
• Поддержка нескольких адаптеров: StatusPage.io, пользовательский HTML и общие форматы API, плюс простой ping-адаптер.
• Конфиг — это просто JSON:
{
"refresh_interval": 300,
"timeout": 30,
"services": [
{
"name": "github",
"adapter": "statuspage_io",
"url": "https://www.githubstatus.com/api/v2/status.json",
"display_name": "GitHub",
"category": "infrastructure"
},
{
"name": "internal_api",
"adapter": "ping",
"url": "https://api.yourcompany.com/health",
"display_name": "Internal API",
"category": "backend"
}
]
}
➡️ Попробовать WatchDoggo
🐸 Библиотека devops'a
#пульс_индустрии