Статьи

Доступ к данным о производительности с помощью API AppDynamics REST

В App Man ранее рассказывалось, как стать мобильным с помощью API AppDynamics REST и Dojo,  выделив проект AppDynamics Gauges . В этом посте мы расскажем, как получить максимальную отдачу от AppDynamics , используя REST API .

Пользовательские панели инструментов

AppDynamics поставляется с очень мощными и привлекательными инструментальными панелями, которые может создать каждый . С нашими настраиваемыми информационными панелями вы можете комбинировать и отображать любые метрики и легко придумать оперативную или бизнес-ориентированную информационную панель для своей исполнительной команды.

Панель инструментов DevOps:

Панель инструментов DevOps

Панель управления

Панель управления

Начните создавать собственную панель инструментов .

Иногда пользовательской панели управления недостаточно, и вам действительно нужны данные внизу. Если наших удивительных пользовательских панелей HTML5 недостаточно, в конце концов ваши данные будут вашими. Цель этого поста — дать представление о том, как получить доступ к вашим данным о производительности.

AppDynamics расширяемый

AppDynamics Pro позволяет вам отслеживать любые пользовательские метрики с помощью агента машины . Это означает, что вы можете легко отслеживать любые метрики приложений через AppDynamics и использовать API REST для объединения данных (представьте, что это замена популярной комбинации StatsD и Graphite ). REST API позволяет метрикам доступа и Mashup данных с внутренними инструментами.

Как получить доступ к данным о производительности через REST API

Из браузера метрик AppDynamics вы можете легко получить доступ к URL-адресу API для конкретной метрики, щелкнув правой кнопкой мыши, как показано здесь:

REST_URL

Доступ к данным через командную строку

Если у вас есть конечная точка 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 является не пользовательский интерфейс, а платформа статистики и бизнес-аналитики.

Как всегда, пожалуйста, не стесняйтесь комментировать, если вы думаете, что я что-то пропустил или если у вас есть запрос на контент для предстоящего сообщения.