Skip to content

Commit f8055c9

Browse files
Merge pull request #232 from f5devcentral/dev_release-0.9.5
Dev release 0.9.5
2 parents cf333b1 + ca68fc8 commit f8055c9

File tree

10 files changed

+104
-47
lines changed

10 files changed

+104
-47
lines changed

COLLECTOR_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.9.4
1+
v0.9.5

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,4 @@ concatenate all commit messages right before you hit the "Confirm squash and mer
9797
button. Maintainers must make sure to edit this concatenated message to make it right before merging.
9898
In some cases, if the commit messages are lacking the easiest approach to have at
9999
least something useful is copy/pasting the PR description into the commit message box
100-
before merging (but see the above paragraph about writing good commit messages in the first place).
100+
before merging (but see the above paragraph about writing good commit messages in the first place).

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ configuration, troubleshooting (REST changes) info, etc.
77

88
> See the [F5 Application Study Tool Labs](https://clouddocs.f5.com/training/community/ast/html/) for an educational guided lab experience.
99
10-
The Application Study Tool is intended to provide enhanced insights into (classic) BIG-IP products, leveraging best in class
10+
The F5 Application Study Tool is intended to provide enhanced insights into (classic) BIG-IP products, leveraging best in class
1111
open source telemetry tools. The full installation includes:
1212

1313
* Custom Instance of OpenTelemetry Collector with enhanced BIG-IP data receivers (data fetched via iControlRest) [Full List of Metrics Collected](pages/components/otel_collector/receiver_metrics.md).
@@ -173,6 +173,8 @@ Create a file called .env.device-secrets, and add your BIP passwords like so:
173173
BIGIP_PASSWORD_1=foo-bar123!
174174
BIGIP_PASSWORD_2=bar-foo123!
175175
```
176+
> **Note:** Ensure that the permissions on the (_.env.device-secrets_) file are restricted to allow read access only to the user running the Docker containers.
177+
> This ensures that credential information remains protected from unauthorized access.
176178
177179
The variable name (the part on the left of the equal sign) must match the configured
178180
value for the devices that use this password in config/ast_defaults.yaml or device specific
@@ -348,7 +350,7 @@ cp .env-example .env
348350
```
349351

350352
### Run Application Study Tool
351-
Once the above configurations have been made, the tool can be started with:
353+
After the above configurations have been made, start the tool with:
352354

353355
```shell
354356
# `docker compose up -d` to start in background mode
@@ -357,7 +359,7 @@ docker compose up
357359

358360
#### View The Dashboards
359361
The default Grafana user/pass is `admin/admin`, and can be accessed at
360-
`http://<hostname>:3000`.
362+
`http://<hostname>:3000`. If HTTPS is configured, use `https://<hostname>:3001`.
361363

362364

363365
## Updating AST Versions
@@ -371,15 +373,14 @@ special instructions / breaking changes.
371373
git stash
372374
git fetch --tags
373375
git pull origin main
374-
git checkout tags/RELEASE_VERSION #(e.g. tags/v0.9.4)
376+
git checkout tags/RELEASE_VERSION #(e.g. tags/v0.9.5)
375377
git stash pop
376378
# <merge any conflicts with your local changes>
377379
# <re-run config scripts>
378380
docker compose down
379381
# `docker compose up -d` to start in background mode
380382
docker compose up
381383
```
382-
383384
## Support
384385

385386
For support, please open a GitHub issue. Note, the code in this repository is community supported and is not supported by F5 Networks. For a complete list of supported projects please reference [SUPPORT.md](SUPPORT.md).
@@ -394,7 +395,7 @@ Please refer to the [F5 DevCentral Community Code of Conduct](code_of_conduct.md
394395

395396
## Copyright
396397

397-
Copyright 2014-2024 F5 Networks Inc.
398+
Copyright 2014-2025 F5 Networks Inc.
398399

399400
### F5 Networks Contributor License Agreement
400401

@@ -406,4 +407,4 @@ Otherwise by submitting a CLA you represent that you are legally entitled to gra
406407
If your employer has rights to intellectual property that you create, such as your contributions, you represent that you have received permission to make contributions on behalf of that employer, that your employer has waived such rights for your contributions, or that your employer has executed a separate CLA with F5.
407408

408409
If you are signing on behalf of a company, you represent that you are legally entitled to grant the license recited therein.
409-
You represent further that each employee of the entity that submits contributions is authorized to submit such contributions on behalf of the entity pursuant to the CLA.
410+
You represent further that each employee of the entity that submits contributions is authorized to submit such contributions on behalf of the entity pursuant to the CLA.

docker-compose.yaml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ volumes:
66

77
services:
88
prometheus:
9-
image: prom/prometheus:v2.54.1
9+
# prom/prometheus:v2.53.5
10+
image: prom/prometheus@sha256:7a34573f0b9c952286b33d537f233cd5b708e12263733aa646e50c33f598f16c
1011
container_name: prometheus
1112
restart: unless-stopped
1213
stop_grace_period: 5m
@@ -21,13 +22,14 @@ services:
2122
- '--web.enable-lifecycle'
2223
- '--enable-feature=otlp-write-receiver'
2324
- '--storage.tsdb.retention.time=1y'
24-
ports:
25-
- 9090:9090
25+
expose:
26+
- 9090
2627
networks:
2728
- 7lc_network
2829

2930
otel-collector:
30-
image: ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.9.4
31+
# ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.9.5
32+
image: ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.9.5
3133
restart: unless-stopped
3234
volumes:
3335
- ./services/otel_collector:/etc/otel-collector-config
@@ -40,7 +42,8 @@ services:
4042
- 7lc_network
4143

4244
grafana:
43-
image: grafana/grafana:11.2.0
45+
# grafana/grafana:v11.6.3
46+
image: grafana/grafana@sha256:6128afd8174f01e39a78341cb457588f723bbb9c3b25c4d43c4b775881767069
4447
container_name: grafana
4548
restart: unless-stopped
4649
ports:

https_setup.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
### Enabling HTTPS for Grafana
2+
3+
This section outlines the steps required to enable HTTPS for Grafana when deployed using Docker Compose.
4+
5+
#### 1. Generate SSL Certificate and Key
6+
7+
To enable HTTPS, you need a certificate `(cert.pem)` and a private key `(key.pem)`. For local development, you can generate self-signed certificates using OpenSSL with the following commands:
8+
9+
```sh
10+
mkdir -p ./services/grafana/ssl
11+
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
12+
-keyout ./services/grafana/ssl/key.pem -out ./services/grafana/ssl/cert.pem \
13+
-subj "/CN=localhost"
14+
```
15+
16+
> **Note:** In production environments, always use certificates from a trusted Certificate Authority (CA).
17+
> It is recommended to rotate these certificates regularly before they expire to minimize the risk of security breaches.
18+
19+
> **Reference:** For more detailed guidance on configuring HTTPS, refer to the [official Grafana documentation](https://grafana.com/docs/grafana/latest/setup-grafana/set-up-https/).
20+
21+
#### 2. Modify the Docker Compose Configuration
22+
23+
Update your `docker-compose.yaml` file with the necessary configurations to enable HTTPS for Grafana. Below is an example snippet for the Grafana service:
24+
25+
```yaml
26+
grafana:
27+
image: grafana/grafana:11.6.3
28+
container_name: grafana
29+
restart: unless-stopped
30+
ports:
31+
- 3000:3000
32+
- 3001:3001 # HTTPS port
33+
volumes:
34+
- grafana:/var/lib/grafana
35+
- ./services/grafana/provisioning/:/etc/grafana/provisioning
36+
- ./services/grafana/ssl/cert.pem:/etc/grafana/cert.pem:ro
37+
- ./services/grafana/ssl/key.pem:/etc/grafana/key.pem:ro
38+
env_file: ".env"
39+
environment:
40+
- GF_SERVER_PROTOCOL=https
41+
- GF_SERVER_CERT_FILE=/etc/grafana/cert.pem
42+
- GF_SERVER_CERT_KEY=/etc/grafana/key.pem
43+
- GF_SERVER_HTTP_PORT=3001
44+
```
45+
46+
By following these steps, you will successfully enable HTTPS for your Grafana deployment. Ensure you test your configuration in both development and production environments to verify functionality and security compliance.

pages/Gemfile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,12 @@ gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin]
3232
# do not have a Java counterpart.
3333
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
3434

35-
gem 'nokogiri'
36-
gem 'rack', '~> 2.2.4'
35+
gem 'nokogiri', '>= 1.18.8'
36+
gem 'rack', '~> 2.2.14'
3737
gem 'rspec'
3838

39+
gem 'google-protobuf', '>= 4.28.2'
40+
gem 'webrick', '>= 1.8.2'
41+
gem 'rexml', '>= 3.3.9'
42+
3943
gem "html-proofer", "~> 5.0", :group => :development

pages/Gemfile.lock

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ GEM
3030
fiber-storage
3131
fiber-storage (1.0.0)
3232
forwardable-extended (2.6.0)
33-
google-protobuf (4.28.1-arm64-darwin)
33+
google-protobuf (4.31.1-arm64-darwin)
3434
bigdecimal
3535
rake (>= 13)
36-
google-protobuf (4.28.1-x86_64-linux)
36+
google-protobuf (4.31.1-x86_64-linux-gnu)
3737
bigdecimal
3838
rake (>= 13)
3939
hashery (2.1.2)
@@ -89,9 +89,9 @@ GEM
8989
rb-fsevent (~> 0.10, >= 0.10.3)
9090
rb-inotify (~> 0.9, >= 0.9.10)
9191
mercenary (0.4.0)
92-
nokogiri (1.16.7-arm64-darwin)
92+
nokogiri (1.18.8-arm64-darwin)
9393
racc (~> 1.4)
94-
nokogiri (1.16.7-x86_64-linux)
94+
nokogiri (1.18.8-x86_64-linux-gnu)
9595
racc (~> 1.4)
9696
pathutil (0.16.2)
9797
forwardable-extended (~> 2.6)
@@ -103,13 +103,13 @@ GEM
103103
ttfunk
104104
public_suffix (6.0.1)
105105
racc (1.8.1)
106-
rack (2.2.10)
106+
rack (2.2.17)
107107
rainbow (3.1.1)
108108
rake (13.2.1)
109109
rb-fsevent (0.11.2)
110110
rb-inotify (0.11.1)
111111
ffi (~> 1.0)
112-
rexml (3.3.7)
112+
rexml (3.4.1)
113113
rouge (4.3.0)
114114
rspec (3.13.0)
115115
rspec-core (~> 3.13.0)
@@ -137,7 +137,7 @@ GEM
137137
typhoeus (1.4.1)
138138
ethon (>= 0.9.0)
139139
unicode-display_width (2.6.0)
140-
webrick (1.8.1)
140+
webrick (1.9.1)
141141
yell (2.2.2)
142142
zeitwerk (2.7.1)
143143

@@ -146,16 +146,19 @@ PLATFORMS
146146
x86_64-linux-gnu
147147

148148
DEPENDENCIES
149+
google-protobuf (>= 4.28.2)
149150
html-proofer (~> 5.0)
150151
http_parser.rb (~> 0.6.0)
151152
jekyll (~> 4.3.4)
152153
just-the-docs (= 0.10.0)
153-
nokogiri
154-
rack (~> 2.2.4)
154+
nokogiri (>= 1.18.8)
155+
rack (~> 2.2.14)
156+
rexml (>= 3.3.9)
155157
rspec
156158
tzinfo (>= 1, < 3)
157159
tzinfo-data
158160
wdm (~> 0.1)
161+
webrick (>= 1.8.2)
159162

160163
BUNDLED WITH
161164
2.5.9

pages/troubleshooting/troubleshooting.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,19 @@ This output shows everything looks good:
6565
```shell
6666
$ docker ps
6767
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68-
cb4cf8867390 grafana/grafana:11.2.0 "/run.sh" About a minute ago Up 49 seconds 0.0.0.0:3000->3000/tcp grafana
69-
bb8891f2cd47 prom/prometheus:v2.54.1 "/bin/prometheus --c…" About a minute ago Up 49 seconds 0.0.0.0:9090->9090/tcp prometheus
70-
df2739cd67cb ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.6.0 "/otelcol-custom --c…" About a minute ago Up 49 seconds 4317/tcp, 55679-55680/tcp application-study-tool-otel-collector-1
68+
cb4cf8867390 grafana/grafana:11.6.3 "/run.sh" About a minute ago Up 49 seconds 0.0.0.0:3000->3000/tcp grafana
69+
bb8891f2cd47 prom/prometheus:v2.53.5 "/bin/prometheus --c…" About a minute ago Up 49 seconds 0.0.0.0:9090->9090/tcp prometheus
70+
df2739cd67cb ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.9.5 "/otelcol-custom --c…" About a minute ago Up 49 seconds 4317/tcp, 55679-55680/tcp application-study-tool-otel-collector-1
7171
```
7272

7373
This output shows a problem (Restarting container) for the `application-study-tool-otel-collector-1`
7474
container (the otel collector):
7575
```shell
7676
$ docker ps
7777
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
78-
fdbde8a3ee16 ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.6.0 "/otelcol-custom --c…" 14 seconds ago Restarting (1) 5 seconds ago application-study-tool-otel-collector-1
79-
b7ef41accd46 grafana/grafana:11.2.0 "/run.sh" 14 seconds ago Up 13 seconds 0.0.0.0:3000->3000/tcp grafana
80-
8edff3e8666e prom/prometheus:v2.54.1 "/bin/prometheus --c…" 14 seconds ago Up 13 seconds 0.0.0.0:9090->9090/tcp prometheus
78+
fdbde8a3ee16 ghcr.io/f5devcentral/application-study-tool/otel_custom_collector:v0.9.5 "/otelcol-custom --c…" 14 seconds ago Restarting (1) 5 seconds ago application-study-tool-otel-collector-1
79+
b7ef41accd46 grafana/grafana:11.6.3 "/run.sh" 14 seconds ago Up 13 seconds 0.0.0.0:3000->3000/tcp grafana
80+
8edff3e8666e prom/prometheus:v2.53.5 "/bin/prometheus --c…" 14 seconds ago Up 13 seconds 0.0.0.0:9090->9090/tcp prometheus
8181
```
8282

8383
### View Docker Container Logs

services/grafana/provisioning/dashboards/bigip/device/device-overview.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1178,7 +1178,7 @@
11781178
"exemplar": false,
11791179
"expr": "f5_system_memory_used_bytes{job=\"$device_name\", state=\"used\"} / ignoring(state) f5_system_memory_total_bytes{job=\"$device_name\"}",
11801180
"instant": true,
1181-
"legendFormat": "__auto",
1181+
"legendFormat": "{{instance}}",
11821182
"range": false,
11831183
"refId": "A"
11841184
}

0 commit comments

Comments
 (0)