В App Man ранее рассказывалось, как стать мобильным с помощью API AppDynamics REST и Dojo, выделив проект AppDynamics Gauges . В этом посте мы расскажем, как получить максимальную отдачу от AppDynamics , используя REST API .
Пользовательские панели инструментов
AppDynamics поставляется с очень мощными и привлекательными инструментальными панелями, которые может создать каждый . С нашими настраиваемыми информационными панелями вы можете комбинировать и отображать любые метрики и легко придумать оперативную или бизнес-ориентированную информационную панель для своей исполнительной команды.
Панель инструментов DevOps:
Панель управления
Начните создавать собственную панель инструментов .
Иногда пользовательской панели управления недостаточно, и вам действительно нужны данные внизу. Если наших удивительных пользовательских панелей HTML5 недостаточно, в конце концов ваши данные будут вашими. Цель этого поста — дать представление о том, как получить доступ к вашим данным о производительности.
AppDynamics расширяемый
AppDynamics Pro позволяет вам отслеживать любые пользовательские метрики с помощью агента машины . Это означает, что вы можете легко отслеживать любые метрики приложений через AppDynamics и использовать API REST для объединения данных (представьте, что это замена популярной комбинации StatsD и Graphite ). REST API позволяет метрикам доступа и Mashup данных с внутренними инструментами.
Как получить доступ к данным о производительности через REST API
Из браузера метрик AppDynamics вы можете легко получить доступ к URL-адресу API для конкретной метрики, щелкнув правой кнопкой мыши, как показано здесь:
Доступ к данным через командную строку
Если у вас есть конечная точка API, необходимая для нужных вам метрик, вы можете легко получить к ней доступ через командную строку curl. Наш REST API использует базовую аутентификацию HTTP . Если вы установили контроллер на платформу с одним владельцем, ваша учетная запись по умолчанию:
Имя пользователя: username @ customer1
Пароль: xxxx
Если вы используете контроллер SaaS, ваше имя пользователя — это имя пользователя AppDynamics в вашей учетной записи AppDynamics:
имя пользователя @ AccountName
Учетные данные те же, что вы используете для входа в контроллер. Ниже приведены общие примеры:
Получить список доступных приложений
curl --user username@example:password 'http://example.saas.appdynamics.com:8090/controller/rest/applications?output=JSON'
[ { "description": "", "id": 7, "name": "AppDynamics" }, { "description": "", "id": 5, "name": "Knp Ipsum" } ]
Получить среднее время отклика конкретного приложения
curl --user username@example:password 'http://example.saas.appdynamics.com:8090/controller/rest/applications/AppDynamics/metric-data?metric-path=Overall%20Application%20Performance%7CAverage%20Response%20Time%20(ms)&time-range-type=BEFORE_NOW&duration-in-mins=60&output=JSON'
[{ "frequency": "ONE_MIN", "metricPath": "Overall Application Performance|Average Response Time (ms)", "metricValues": [ { "current": 41, "max": 131, "min": 9, "startTimeInMillis": 1375298040000, "value": 50 }] }]
Получить количество запросов в минуту для конкретного приложения
curl --user username@example:password 'http://example.saas.appdynamics.com:8090/controller/rest/applications/AppDynamics/metric-data?metric-path=Overall%20Application%20Performance%7CCalls%20per%20Minute&time-range-type=BEFORE_NOW&duration-in-mins=15&output=JSON'
[{ "frequency": "ONE_MIN", "metricPath": "Overall Application Performance|Calls per Minute", "metricValues": [ { "current": 2, "max": 0, "min": 0, "startTimeInMillis": 1375300860000, "value": 2 }] }]
Начало работы с REST API через SDK
Самый простой способ начать работу с REST API — это использовать SDK, доступный для Java и Python . В SDKs обеспечивает легкую оболочку вокруг нашего REST API и доступны через AppDynamics X . API REST AppDynamics предлагает XML и JSON для обеспечения взаимодействия.
Доступ к REST API через Python SDK
from appd.cmdline import parse_argv from appd.request import AppDynamicsClient args = parse_argv() c = AppDynamicsClient(args.url, args.username, args.password, args.account, args.verbose) for app in c.get_applications(): print app.name, app.id
Лучший пример для выборки показателей для бизнес — операций . Проверьте Python SDK для большего количества примеров .
Как отследить пользовательскую метрику с агентом машины
Агент машины может выступать в качестве шлюза REST для захвата пользовательских метрик в браузер метрик AppDynamics . Чтобы включить API агента компьютера, запустите агент компьютера со следующими параметрами:
sudo java -Dmetric.http.listener=true -Dmetric.http.listener.port=8293 -jar /opt/appdynamics/machine-agent/machineagent.jar
Когда агент компьютера прослушивает, отслеживание пользовательских метрик так же просто, как отправка почтового запроса:
http://localhost:8293/machineagent/metrics?name=foo|bar&value=42&type=average
Идти еще дальше
Две недели назад мы анонсировали AppDynamics X, где мы выпустили много интеграций, которые используют машинный агент для отслеживания пользовательских метрик из Nginx , Apache , Cassandra и других . Настоящей силой AppDynamics является не пользовательский интерфейс, а платформа статистики и бизнес-аналитики.
Как всегда, пожалуйста, не стесняйтесь комментировать, если вы думаете, что я что-то пропустил или если у вас есть запрос на контент для предстоящего сообщения.