Несколько полезных приемов для работы с docker-контейнерами

1. При работе с docker часто возникает ситуация когда необходимо проверить какие порты открыты внутри контейнера. Это легко реализовать с помощью nsenter (в debian входит в пакет util-linux). Для использования nsenter нам необходимо узнать PID контейнера:
docker inspect -f '{{.State.Pid}}' container_name_or_id
# docker inspect -f '{{.State.Pid}}' 51f30d86a938
392240
После используя полученное значение мы можем просмотреть установленные соединения
nsenter -t 392240 -n netstat -n

Active Internet connections (w/o servers)

Debian 8 и gearman - --listen не только localhost

Еще небольшая заметка на память.
Не часто, но изредка приходится разрешать gearmand слушать не только localhost. Однако в Debian 8 ("Jessie") сделать это используя конфигурационный файл невозможно.

Ansible и Google Cloud (часть 2)

ansible google

В этой части рассмотрю установку приложений при создании виртуальной машины. Взаимодействие с google cloud я описал в первой части статьи, в этой части рассмотрю работу c ansible, в качестве примера развернем LEMP (Linux, Nginx, MySQL, PHP) и установим Wordpress

 

Поиск имени файла, директории по номеру индексного дескриптора (inode)

Иногда необходимо определить имя файла либо директории по номеру иноды. Решить это можно одной строкой:
sudo debugfs -R 'ncheck 16909117' /dev/sdXN 2>/dev/null , где 

  • 16909117 - номер иноды;
  • /dev/sdXN - раздел в котором происходит поиск.

Результатом будет:
Inode   Pathname
16909117        /tmp/test.txt

Ansible и Google Cloud (часть 1)

ansible google
В серии статей я рассмотрю возможность взаимодействия Ansible с Google Cloud. 
В первой статье описывается создание проекта, настройка Ansible для работы c Google Cloud и создание (удаление) виртуальной машины.

 


Устанавливаем Ansible, если версия ниже 2.2 обновляем:

Мониторим MongoDB c помощью collectd и grafana

mongo grafana

Продолжаем развивать систему мониторинга и оповещений. В данной заметке рассмотрим визуализацию состояния MongoDB. Есть замечательный вариант для мониторинга от Percona использующий Prometheus и если у вас сложная распределённая система я бы рекомендовал использовать именно его. Но т.к. мне необходимо мониторить всего два сервера MongoDB, поэтому я просто использовал выходные данные утилиты mongostat при помощи следующего скрипта и collectd для передачи результата в graphite

Блокировка сканеров безопасности и визуализация Fail2Ban в Grafana

fail2ban grafana

Как правило, сканеры безопасности не представляют угрозы для сайта, если конечно вы следите за его состоянием. Но активность сканеров может быть сигналом, да и ничего приятного нет когда копаются в ваших вещах. В данной заметке я рассмотрю несколько методов блокировки сканеров и создание графиков состояния фильтров fail2ban

Netdata, graphite и grafana

В этой заметке я хочу рассмотреть установку и базовую настройку системы мониторинга в режиме реального времени Netdata и сбор данных, а также их последующую визуализацию с помощью graphite и grafana.

Для начала определим узлы для мониторинга:

схема мониторинга

Прокси сервер с привязкой исходящего соединения к IP-адресу входящего соединения.

     Еще один узелок на память.

     Задача. Есть пул IP адресов на удаленном сервере, необходимо настроить прокси-сервер так что бы запрос уходил с того IP на который он поступил.

Мне известны три варианта - tinyproxy, 3proxy и squid.