gpt4 book ai didi

amazon-web-services - 无法访问我在 AWS Elastic beanstalk 上的 docker 中部署的 prometheus 和 grafana

转载 作者:行者123 更新时间:2023-12-04 08:10:13 25 4
gpt4 key购买 nike

我想使用 Prometheus 和 Grafana 监控我的应用程序,在 AWS Elastic Beanstalk 上的 Docker 中运行,但无法正确部署它。

这是我的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.ymlprometheus文件夹:
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 ,一切正常,我可以在 localhost:9090 上访问 prometheus和格拉法纳 localhost:3000 .

当我使用 eb deploy 将其部署到 AWS Elastic Beanstalk 时,该过程成功结束,我可以在我的仪表板中看到该实例,但在一分钟状态 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

但无论如何,通过键入 EB url + :port 提供的内容,我既无法访问 prometheus 也无法访问 grafana,例如: jd-env.8myne2inmq.us-west-2.elasticbeanstalk.com:9090 .我还尝试使用 EC2 控制台中显示的公共(public) DNS 和 IP,但它也不起作用。

在我的负载均衡器中,我打开了端口 9090 和 3000:

enter image description here

请帮助我让这些应用程序正常工作。

最佳答案

我发现了问题。打开端口后90903000在Loadbalancer中,还需要在Configurations/Instances/中切换EC2安全组.之后,打开这些端口的新负载平衡配置变得可用。

另一个问题是 Elastic beanstalk 健康监控系统试图检查端口 80。 ,但就我而言,那里什么都没有,所以健康状况总是红色的。在 Configurations/Monitoring我将其更改为端点 HTTP:9090/graph - 现在它访问 Prometheus 主页并且健康是绿色的。

关于amazon-web-services - 无法访问我在 AWS Elastic beanstalk 上的 docker 中部署的 prometheus 和 grafana,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50434310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com