Не удается добраться до моего прометея и графаны, развернутых в докере на AWS Elastic beanstalk - PullRequest
0 голосов
/ 20 мая 2018

Я хотел бы контролировать свое приложение с помощью Prometheus и Grafana, работающего в Docker на AWS Elastic Beanstalk, но у меня есть проблемы с его правильным развертыванием.

Вот мой Dockerrun.aws.json:

{
  "AWSEBDockerrunVersion": "2",
  "volumes": [
    {
      "name": "prometheus-conf",
      "host": {
        "sourcePath": "/var/app/current/prometheus"
      }
    }
  ],
  "containerDefinitions": [
    {
      "name": "prometheus-app",
      "image": "prom/prometheus",
      "essential": true,
      "memory": 512,
      "portMappings": [
        {
          "hostPort": 9090,
          "containerPort": 9090
        }
      ],
      "mountPoints": [
        {
          "sourceVolume": "prometheus-conf",
          "containerPath": "/opt/prometheus"
        }
      ],
      "command": [
        "--config.file=/opt/prometheus/prometheus.yml"
      ]
    },
    {
      "name": "grafana",
      "image": "grafana/grafana",
      "essential": true,
      "memory": 256,
      "links": [
        "prometheus-app"
       ],
       "portMappings": [
         {
           "hostPort": 3000,
           "containerPort": 3000
         }
       ]
     }
  ]
}

Вот моя папка prometheus.yml в prometheus:

global:
  scrape_interval:     15s
  evaluation_interval: 15s
rule_files:
scrape_configs:
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'jParser'
    static_configs:
      - targets: ['jParser.fpemryt2er.us-east-2.elasticbeanstalk.com']

Когда я запускаю ее локально с eb local run в eb cli, все работает нормально, я могу получить доступ к Prometheus на localhost:9090и grafana на localhost:3000.

Когда я внедряю его в AWS Elastic Beanstalk с eb deploy, процесс успешно завершается, и я вижу экземпляр на моей панели инструментов, но в минутное состояние OK переключается наSevere с сообщением Environment health has transitioned from Ok to Severe. ELB health is failing or not available for all instances. и 100.0 % of the requests to the ELB are failing with HTTP 5xx (10 minutes ago):

enter image description here

Но когда я смотрю на этот экземпляр в консоли управления EC2, он показывает, чтоЭкземпляр работает без проблем:

enter image description here

В моей консоли определений задач я также вижу Prometheus и Grafana, работающие без проблем:

enter image description here

Но в любом случае, я не могу достичь ни Прометея нетr Графана, введя EBl +: порт, например: jd-env.8myne2inmq.us-west-2.elasticbeanstalk.com:9090.Я также пытался использовать общедоступные DNS и IP, показанные в консоли EC2, но это тоже не работает.

В моем loadbalancer я открыл порты 9090 и 3000:

enter image description here

Пожалуйста, помогите мне заставить эти приложения работать.

1 Ответ

0 голосов
/ 20 мая 2018

Я нашел проблему.После открытия портов 9090 и 3000 в Loadbalancer также необходимо переключить группы безопасности EC2 в Configurations/Instances/.После этого становится доступной новая конфигурация балансировки нагрузки с открытыми этими портами.

Еще одна проблема заключалась в том, что система мониторинга работоспособности beanstalk Elastic пытается проверить порт 80, но в моем случае там ничего нет, поэтому состояние здоровья всегда было красным.В Configurations/Monitoring я изменил это на конечную точку HTTP:9090/graph - теперь он посещает главную страницу Прометея, и здоровье становится зеленым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...