Работа с aws rds и terraform в unix/linux

Погружаемся в конфигурацию New Relic

Прежде всего, файл конфигурации New Relic очень хорошо прокомментирован, и я рекомендую вам прочитать комментарии для различных параметров конфигурации, чтобы понять, что они делают.

Во-вторых, конфигурация New Relic осведомлена об окружении, а конфигурация для всех окружений определена в одном файле , это очень похоже на то, как работает файл Rails . Мы определяем совокупность общих значений конфигурации, а затем переопределяем соответствующие значения в конкретных блоках окружения, например:

Сразу можно заметить то, как мы можем исправить некоторые из пунктов, которые были упомянуты выше. Если мы не хотим запускать наше приложение в боевом режиме, пока мы настраиваем нашу конфигурацию, все, что нам нужно сделать, это включить мониторинг в режиме разработки (нам нужно будет помнить о том, чтобы отключить это, когда сделаем нашу конфигурацию, поскольку мы не хотим, чтобы данные разработки загромождали нашу учетную запись New Relic).

Мы также должны переопределить наше имя приложения для каждого окружения, которое у нас есть, чтобы убедиться, что они контролируются отдельно, и имя приложения имеет смысл:

С помощью этих настроек, когда мы запускаем наш сервер в режиме разработки и вызываем :

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

Следующим наиболее интересным (и часто самым запутанным) значением конфигурации является значение Apdex T. В отличие от большинства других параметров конфигурации это значение не расположено в файле , но вместо этого находится в настройках приложения в New Relic:

Если вы хотите настроить значение Apdex T, вам нужно сделать это здесь, но что это за параметр и каково его правильное значение? New Relic объясняет его следующим образом:

По сути, New Relic использует значение Apdex для оценки работоспособности вашего приложения в зависимости от производительности, поэтому, если многие запросы, которые отслеживаются New Relic, занимают больше времени, чем ваше значение Apdex, New Relic посчитает, что ваше приложение работает плохо, и если вы настроили оповещения, уведомит вас об этом. В принципе, вам нужно выяснить то, как быстро вы хотите, чтобы каждый запрос на сервер выполнялся вашим приложением, поэтому, если бэкэнд-запрос, занимающий две секунды вас не сильно беспокоит, то можете установить значение Apdex равным 2.0, но если вам нужны ответы, которые будет возвращены в течение 100 мс, тогда вы должны установить значение Apdex равным 0,1.

Если у вас есть новое приложение, вы можете установить значение Apdex на ту производительность, которую вы хотите получить от своего приложения. Если ваше приложение является уже существующим, у вас могут быть некоторые показатели относительно того, насколько быстро оно/должно выполняться, и вы можете руководствоваться этими данными. Все запросы, которые выполняются сервером меньше, чем значение Apdex T, New Relic будет считать хорошими. Все запросы, выполненные в Apdex * 4 секунды, будут считаться допустимыми (т. е. пользователи могут это терпеть). Все ответы, которые занимают больше времени, чем Apdex * 4, будут считаться разочаровывающими (разочарованные пользователи не склонны возвращаться на ваш сайт). Таким образом, установите значение Apdex T таким образом, чтобы на самом деле получить из него полезную информацию, фактическое значение зависит от вашей предметной области и того, чего вы хотите достичь (с точки зрения производительности), нет правильного или неправильного ответа.

Мы установим наше значение Apdex T-100ms (0.1), так как все, что у нас есть, — это приложение Hello World, и оно должно иметь возможность быстро вернуть ответ (даже в режиме разработки).

Installation

In order to install the solution, you can leverage either the chart or install
directly the one.

helm install newrelic-infra-operator newrelic/newrelic-infra-operator --values ./newrelic-infra-operator/values-dev.yaml

Once deployed, it will automatically inject the sidecar in the Pod matching the policy specified.
Only Pods created after the deployment of the monitoring solution will be injected with the configuration and agent.

For further information regarding the installation refer to the official docs and to the
and the of the chart.

To build the image:

GOOS=linux make image

To build the binary:

GOOS=linux make build

Configure Tilt

If you want to use a cluster for testing, configure Tilt using the command below:

cat <<EOF > tilt_option.json
{
  "default_registry": "localhost:5000"
}
EOF

If you want to use existing Kubernetes cluster, create file with content similar to below:

{
  "default_registry": "quay.io/<your username>",
  "allowed_contexts": "<kubeconfig context to use>"
}
Helm chart location

To deploy the operator, the current Tilt configuration expects the New Relic
helm-charts repository to be
cloned as a sibling to this repository under the name
This repository is an authoritative source of the deployment manifests for the operator.

If you have repository cloned into a different path, you can configure Tilt to use it by adding the
following key-value pair to your local file:

If you want to use a local cluster for testing, create it with command below:

make kind-up

Run

If you use a cluster, simply run:

make tilt-up

If you deploy on external cluster, run the command below, pointing to your file:

TILT_KUBECONFIG=~/.kube/config make tilt-down

Now, when you make changes to the code, the operator binary will be built locally, copied to the Pod, and then executed.

Testing

In order to run unit tests run:

make test

In order to run unit tests run:

make test-integration
make test-e2e

Notice that in order to run both integration tests and E2e, you will need a working environment available with the
running.
Both installing the chart or spinning up the environment with are possible options.

It is also possible to run such tests against any cluster you have access to by setting the environment variable
.

Contribute

We encourage your contributions to improve the newrelic-infra-operator! Keep in mind that when you submit your pull request,
you’ll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per
project.

A note about vulnerabilities

As noted in our security policy, New Relic is committed to the privacy and security of our
customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with
the security community are important means to achieve our security goals.

If you would like to contribute to this project, review these guidelines.

To all contributors, we thank you! Without your contribution, this project would not be what it is today.

Other configurations

Fix for using the WebSphere JDK

If you are using the JDK that is packaged with WebSphere and see an exception in the logs like below, it is due to attempting to use the WebSphere SSL Factory instead of the IBM JSSE packages.

If so, uncomment the following line in and restart the plugin.

Fix for using Solaris 10

If you see the following error, it may be because the Bourne shell does not support certain syntax in the installer script.

If so, use the Korn shell or Bash (if available). Both were tested successfully in Solaris 10.

Debug Mode

If you are trying to customize the commands that the Unix Monitor is running, or you are not seeing any or all of the data you expect to see, you can put the agent into ‘Debug Mode’, in which it outputs to the logs all of the commands being run and it’s attempts at parsing them.

Note: You will need to restart the Unix Monitor to pick up these changes.

Enabling Debug Mode

This can be enabled EITHER by:

  • Running with the at the end to start, like so:
    or
    OR
  • Replacing with and restarting the Unix monitor
    (if using this method, remember to swap the files back when finished)
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: