Skip to content

Commit e8541df

Browse files
committed
First working version of the Monitoring dashboard (Grafana)
1 parent 7164684 commit e8541df

20 files changed

+118
-17
lines changed

Templates/AWS-HPC-Cluster.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -957,8 +957,8 @@ Outputs:
957957
Cloud9URL:
958958
Description: Cloud9 Environment
959959
Value: !Sub 'https://${AWS::Region}.console.aws.amazon.com/cloud9/ide/${Cloud9}'
960-
EnginFrameURL:
960+
WebURL:
961961
Description: "EnginFrame HPC Portal, default username: ec2-user , default password: Change_this!"
962962
Value: !Sub
963-
- 'https://${ALB}/enginframe'
963+
- 'https://${ALB}/'
964964
- ALB: !GetAtt ApplicationLoadBalancer.DNSName

modules/40.install.monitoring.compute.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ compute_instance_type=$(ec2-metadata -t | awk '{print $2}')
2121
gpu_instances="[pg][2-9].*\.[0-9]*[x]*large"
2222

2323
monitoring_dir_name="monitoring"
24-
monitoring_home="${SHARED_FS_DIR}/1click-hpc/${monitoring_dir_name}"
24+
monitoring_home="${SHARED_FS_DIR}/${monitoring_dir_name}"
2525

2626
set -x
2727
set -e

modules/40.install.monitoring.master.sh

+3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ monitoring_home="${SHARED_FS_DIR}/${monitoring_dir_name}"
2525
chef_dna="/etc/chef/dna.json"
2626
s3_bucket=$(echo $cfn_postinstall | sed "s/s3:\/\///g;s/\/.*//")
2727
grafana_password=$(aws secretsmanager get-secret-value --secret-id "${stack_name}" --query SecretString --output text --region "${cfn_region}")
28+
NICE_ROOT=$(jq --arg default "${SHARED_FS_DIR}/nice" -r '.post_install.enginframe | if has("nice_root") then .nice_root else $default end' "${dna_json}")
2829

2930

3031
set -x
@@ -60,6 +61,8 @@ installMonitoring(){
6061

6162
cp -rp ${monitoring_home}/custom-metrics/* /usr/local/bin/
6263
mv -f "${monitoring_home}/prometheus-slurm-exporter/slurm_exporter.service" /etc/systemd/system/
64+
65+
cp -rp ${monitoring_home}/www/* "${NICE_ROOT}/enginframe/conf/tomcat/webapps/ROOT/"
6366
}
6467

6568

monitoring/prometheus-slurm-exporter/slurm_exporter.service

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Description=Prometheus SLURM Exporter
33

44
[Service]
55
Environment=PATH=/opt/slurm/bin:$PATH
6-
ExecStart=/usr/bin/prometheus-slurm-exporter -listen-address 8081
6+
ExecStart=/usr/bin/prometheus-slurm-exporter -listen-address 0.0.0.0:8081
77
Restart=on-failure
88
RestartSec=15
99
Type=simple

monitoring/www/aws-logo.svg

+1
Loading

monitoring/www/background.png

244 KB
Loading

monitoring/www/index.html

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<!DOCTYPE html>
2+
<!--
3+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4+
SPDX-License-Identifier: MIT-0
5+
-->
6+
<html>
7+
<head>
8+
<title>AWS ParallelCluster</title>
9+
<style>
10+
@font-face {
11+
font-family: 'Amazon Ember';
12+
src: url('https://a0.awsstatic.com/libra-css/fonts/amazon-ember/AmazonEmber_Rg.woff2');
13+
}
14+
15+
html {
16+
min-height: 100vh;
17+
background-color: #232F3E;
18+
background-image: url(background.png);
19+
background-size: 600px;
20+
background-position: 105% 110%;
21+
background-attachment: fixed;
22+
background-repeat: no-repeat;
23+
}
24+
25+
body {
26+
color: #fff;
27+
font-family: 'Amazon Ember', 'sans-serif';
28+
}
29+
30+
#content {
31+
max-width: 900px;
32+
margin: 0 auto;
33+
}
34+
35+
#content #logo {
36+
margin-top: 40px;
37+
max-width: 300px;
38+
margin-left: auto;
39+
margin-right: auto;
40+
display: block;
41+
}
42+
43+
#content #grafana-logo {
44+
cursor: pointer;
45+
max-width: 50px;
46+
vertical-align: top;
47+
}
48+
49+
#content h1 {
50+
font-weight: normal;
51+
text-align: center;
52+
}
53+
54+
#content #txt {
55+
background-color: #232F3E;
56+
border: 0;
57+
color: #fff;
58+
cursor: pointer;
59+
}
60+
61+
#content #grafana-txt {
62+
background-color: #fff;
63+
vertical-align: bottom;
64+
border: 1;
65+
font-size: 1.2em;
66+
color: #000;
67+
padding: 5px;
68+
cursor: pointer;
69+
margin: 5px;
70+
text-align: center;
71+
}
72+
</style>
73+
</head>
74+
<body>
75+
<div id="content">
76+
<img src="aws-logo.svg" alt="AWS logo" id="logo">
77+
<h1>1Click-HPC</h1>
78+
<p>1Click-HPC is an open-source project that aims at speeding up the deployment of an HPC Cluster on AWS. You can have a fully functional and ready to use HPC cluster in minutes and with just 1-Click.</p>
79+
<p>1Click-HPC source code and get started guide can be found <a href="here: https://github.com/aws-samples/1click-hpc"><button id="txt">here</button></a>.</p>
80+
<p>It leverages on AWS supported services and projects, like: </p>
81+
82+
<ul>
83+
<li>AWS ParallelCluster
84+
<p>an AWS-supported open source cluster management tool that makes it easy for you to deploy and manage High Performance Computing (HPC) clusters on AWS.</p>
85+
</li>
86+
<li>NICE DCV</li>
87+
<p>a high-performance remote display protocol that provides customers with a secure way to deliver remote desktops and application streaming from any cloud or data center to any device, over varying network conditions.</p>
88+
<li>NICE EnginFrame</li>
89+
<p> is an advanced web front-end for accessing technical and scientific applications running on an HPC Cluster</p>
90+
</ul>
91+
92+
<p><a href="/enginframe/"><button id="grafana-txt">EnginFrame</button></a></p>
93+
<p><a href="/grafana/"><button id="grafana-txt">Cluster Monitoring Dashboards</button></a></p>
94+
<p><a href="/prometheus/"><button id="grafana-txt">Prometheus Server</button></a></p>
95+
</div>
96+
</body>
97+
</html>

parallelcluster/config.ap-east-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "limited-ec2" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.ap-northeast-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.ap-northeast-2.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.ap-south-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "limited-ec2" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.ca-central-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "limited-ec2" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.eu-central-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.eu-north-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "limited-ec2" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.eu-south-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, spot-batch, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.eu-west-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.us-east-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.us-east-2.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.us-west-1.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

parallelcluster/config.us-west-2.sample

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ queue_settings = batch-efa, batch, dcv-gpu, dcv, spot-batch-efa
4040
post_install = ${POST_INSTALL}
4141
post_install_args = "${POST_INSTALL_ARGS}"
4242
tags = {"EnginFrame" : "true", "1Click-HPC" : "true", "1Click-HPC-version" : "0.1", "1Click-HPC-Template" : "standard" }
43-
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite
43+
additional_iam_policies = arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess,arn:aws:iam::aws:policy/SecretsManagerReadWrite,arn:aws:iam::aws:policy/CloudWatchFullAccess,arn:aws:iam::aws:policy/AWSPriceListServiceFullAccess,arn:aws:iam::aws:policy/AmazonSSMFullAccess,arn:aws:iam::aws:policy/AWSCloudFormationReadOnlyAccess
4444
${EXTRA_JSON}
4545

4646
[fsx new]

0 commit comments

Comments
 (0)