Мониторинг java-приложений с многопроцессной …1. Что...
TRANSCRIPT
![Page 1: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/1.jpg)
Мониторинг Java-приложений с многопроцессной
архитектурой
Владимир Красильщик, Luxoft
![Page 2: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/2.jpg)
О чём доклад
• Мониторинг и многопроцессная архитектура
• Продукты для мониторинга: их фантазии, наши реалии
• Боль, мрак и велосипедный спорт: постигаем нирвану
![Page 3: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/3.jpg)
–Википедия
“Мониторинг - непрерывный процесс наблюдения и регистрации параметров объекта,
в сравнении с заданными критериями”
Что такое мониторинг?
![Page 4: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/4.jpg)
Объекты мониторинга
• железо: компы, сервера, сеть
• приложения: наши, “ихние”, middleware
• бизнес-транзакции
![Page 5: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/5.jpg)
Application Monitoring vs
Business Transaction Monitoring
![Page 6: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/6.jpg)
Многопроцессная архитектура
• кластер сервера приложений
• микросервисы
![Page 7: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/7.jpg)
Многопроцессная архитектура - микросервисы
![Page 8: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/8.jpg)
Мой текущий проект• интеграционная платформа для банковских сделок
• >16 лет в продакшене
• 9*5
• ~20 server-side java developers
• ~40 JVM * 8 окружений
![Page 9: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/9.jpg)
Давным-давно…
![Page 10: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/10.jpg)
Давным-давно…
![Page 11: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/11.jpg)
Давным-давно…
![Page 12: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/12.jpg)
? = нирвана
![Page 13: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/13.jpg)
ITRS Geneos• Application Monitoring
• Active Console (UI) + серверная часть
• интеграция со многими компонентами
• умеет парсить логи
![Page 14: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/14.jpg)
Логи - это наше всё!log.error(“New error marker”, e)
!
log.warn(Alert.AMBER + “Be ready to fail soon, dude”, e) log.error(Alert.RED + “Something very bad happened”, e)
![Page 15: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/15.jpg)
Логи - это наше всё!• -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
• Heart-beat поток: log.info(“I’m alive”)
• Runtime.getRuntime().freeMemory()/(1024*1024), Runtime.getRuntime().totalMemory()/(1024*1024)
• размер очереди в Executor
• счётчик открытых файловых дескрипторов
![Page 16: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/16.jpg)
Логи - это наше всё!Пример:!!String pid = ManagementFactory.getRuntimeMXBean().getName();!pid = pid.substring(0, pid.indexOf(‘@‘)); //pid@hostname!String command = String.format("pfiles -n %s | wc -l", pid);!Process process = Runtime.getRuntime()! .exec(new String[]{"/bin/sh", “-c”, command});!process.waitFor();!StringWriter sw = new StringWriter();!IOUtils.copy(process.getInputStream(), sw);!Integer.parseInt(sw.toString().trim()) - 2; //ignore first 2
![Page 17: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/17.jpg)
Логи - это наше всё!• PID files: SomeMicroServiceName.pid
• конфигурацию в массы логи!
• отдельный лог для больших документов
• ротация, архивирование
• доставка логов на локальную машину
![Page 18: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/18.jpg)
логи + Geneos = нирвана?
![Page 19: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/19.jpg)
Hyperic HQ• SpringSource, vmware
• интеграция с серверами приложений, плагины
• сервер (JBoss + database) + агент (JWS)
• одно/двусторонний канал - Х
• standalone java - Х
• Tomcat как Windows service - V
• форум активный, комитов мало
• “бесценный” enterprise и open source
![Page 20: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/20.jpg)
Nagios XI• визарды, автообнаружение
• RHEL, CentOS или виртуалка - X
• установка Nagios XI Solaris agent - X
• цена - V
![Page 21: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/21.jpg)
AppDynamics• конкурент JConsole и VisualVM
• ориентирован на сервера приложений
• сервер (Controller) - SaaS/On-Premise, Lite/Pro
• javaagent на каждую JVM - X
• “бесценно” - X
![Page 22: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/22.jpg)
New Relic
• только SaaS - X
• javaagents - X
• ориентировано на сервера приложений
• цена - V
![Page 23: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/23.jpg)
Zabbix!
http://www.zabbix.com/java_applications.php - Zabbix Java gateway via JMX for JEE app servers
Splunk http://www.splunk.com/videos : • installing java SDK • connecting SDK • logging • searching
И многие другие
![Page 24: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/24.jpg)
(логи + Geneos) + ? = нирвана
![Page 25: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/25.jpg)
Java-программер! Сделай сам себе хорошо!
• таблица со всеми компонентами и серверами
• одна страница с цветовой индикацией ок/не-ок
![Page 26: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/26.jpg)
Статус-скрин: обзор
![Page 27: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/27.jpg)
Статус-скрин: детальки
![Page 28: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/28.jpg)
Статус-скрин: фишки
![Page 29: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/29.jpg)
Статус-скрин: плюшки
![Page 30: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/30.jpg)
SSH - это наше всё! (после логов, разумеется)
![Page 31: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/31.jpg)
(логи + Geneos) + (Status-screen + Log Viewer) = нирвана?
![Page 32: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/32.jpg)
CoreFirst Optier
• Application Performance Management (APM)
• Instrumented app + native agent + server (Flash)
• SDK: com.optier.corefirst.sdk.otti.*
![Page 33: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/33.jpg)
CoreFirst Optier: BCI
![Page 34: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/34.jpg)
(логи + Geneos) + (Status-screen + Log Viewer) + Optier = нирвана!
![Page 35: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/35.jpg)
MoSKito
• MoSKito Essentials (Core): @Monitor, CDI, AOP, web, ProxyUtils, CallExecution
• MoSKito Control
• MoSKito Central
![Page 36: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/36.jpg)
Как выбирать тул? (5+5+5)
Время на старт
Напильник в приложениях
Напильник в окружениях
Что тул умеет
Доверие к тулу
![Page 37: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/37.jpg)
Как выбирать тул? (5+5+5)
Интеграции из коробки
Плагины, кастомизация
Железо, сеть
Оповещения
История
![Page 38: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/38.jpg)
Форум, VCS, комьюнити
Цена
Для кого делался тул
Юзабилити
Привычки
Как выбирать тул? (5+5+5)
![Page 39: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/39.jpg)
Java-программер! Да сделай же себе хорошо!
• ssh
• JDK 1.6+
• IntelliJ IDEA
• “Don’t touch my f… apps and environments!” (The Customer, The Security guy, DevOps)
![Page 40: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/40.jpg)
Drozd - IntelliJ IDEA plugin for monitoring java environments
![Page 41: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/41.jpg)
Drozd - IntelliJ IDEA plugin for monitoring java environments
![Page 42: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/42.jpg)
Drozd - IntelliJ IDEA plugin for monitoring java environments
• org.gridkit.*
• com.sun.tools.attach.*
• com.intellij.ui.treeStructure.Tree, Event Log, Notifications, Speed Search, Autocompletion
![Page 43: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/43.jpg)
Уроки1. Что есть объект, параметры и критерии мониторинга
2. Логи - это наше всё!
3. SSH - это наше всё!
4. Подбирай тул по критериям 5+5+5!
5. Сделай сам себе хорошо!
![Page 44: Мониторинг Java-приложений с многопроцессной …1. Что есть объект, параметры и критерии мониторинга 2](https://reader033.vdocuments.site/reader033/viewer/2022042412/5f2c629765e876540c6e71ca/html5/thumbnails/44.jpg)
Спасибо!
http://drozd4j.postach.io