Допустим, есть кластер/набор процессов, которые взаимодействуют через REST/HTTP (что может описывать множество продуктов в наши дни). Какой хороший и простой способ просмотреть взаимодействие между ними в каком-то удобном визуальном инструменте? Они могут быть организованы Zookeeper, но не обязательно. (Кроме того, если они находятся на одной машине, в идеале я мог бы использовать netstat, чтобы узнать, кто кому звонит — было бы неплохо, если бы все это было как-то доступно). Должно работать на Linux.
Да, я знаю, что могу использовать прокси и т. д., но это требует кучи ручной работы. Wireshark и подобные ему — еще больше работы. Интересно, есть ли более готовое решение для чего-то подобного.
Один из подходов основан на Wireshark, но ориентирован только на отображение HTTP-трафика с определенными критериями, которые уже работают.
Причина упоминания Zookeeper, возможно, в том, что есть еще один способ — опросить Zookeeper и заменить там порты на порты прокси-сервера, а весь трафик направить через них, но, опять же, мне бы хотелось что-то уже работающее.
решение1
Если вам нужно только знать, кто кому звонит (а не подробности того, что было сказано), вы можете увеличить ведение журнала на уровне сети через iptables, затем централизованно собирать системные журналы и преобразовывать их в нужную вам форму. Или вы можете использовать что-то вроде ntop/nprobe для сбора обобщенных данных о соединениях на каждом хосте, а затем передавать их в центральный инструмент отчетов NetFlow. В зависимости от вашей среды вы можете даже собирать эти данные с вашего сетевого оборудования.
Если вам нужно узнать больше о том, что было сказано, вам понадобятся прокси-серверы, хотя это могут быть простые прокси-серверы, работающие на том же сервере и передающие свои журналы на центральный сервер для анализа.
Лучшим решением будет модифицировать ваше программное обеспечение, включив в него собственную функцию ведения журнала, даже если это происходит только в «режиме отладки», чтобы вы могли использовать ее для устранения проблем в будущем.
Смотрите также: http://www.tokiwinter.com/adding-logging-to-iptables-under-centos/