Skip to content

Commit 86c9c2d

Browse files
Merge pull request #233 from f5devcentral/development
merging release_0_9_5 changes to main
2 parents ae21ad7 + f8055c9 commit 86c9c2d

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
@@ -11,7 +11,7 @@ configuration, troubleshooting (REST changes, HIGH CPU on control plane) info, e
1111
>
1212
> To review ideas on integrating your secrets with a vault, see the [Integrating your secrets with Hashi vault](https://community.f5.com/kb/TechnicalArticles/f5-app-study-tool-with-passwords-stored-in-vault/341155) for further information.
1313
14-
The Application Study Tool is intended to provide enhanced insights into (classic) BIG-IP products, leveraging best in class
14+
The F5 Application Study Tool is intended to provide enhanced insights into (classic) BIG-IP products, leveraging best in class
1515
open source telemetry tools. The full installation includes:
1616

1717
* 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).
@@ -177,6 +177,8 @@ Create a file called .env.device-secrets, and add your BIP passwords like so:
177177
BIGIP_PASSWORD_1=foo-bar123!
178178
BIGIP_PASSWORD_2=bar-foo123!
179179
```
180+
> **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.
181+
> This ensures that credential information remains protected from unauthorized access.
180182
181183
The variable name (the part on the left of the equal sign) must match the configured
182184
value for the devices that use this password in config/ast_defaults.yaml or device specific
@@ -352,7 +354,7 @@ cp .env-example .env
352354
```
353355

354356
### Run Application Study Tool
355-
Once the above configurations have been made, the tool can be started with:
357+
After the above configurations have been made, start the tool with:
356358

357359
```shell
358360
# `docker compose up -d` to start in background mode
@@ -361,7 +363,7 @@ docker compose up
361363

362364
#### View The Dashboards
363365
The default Grafana user/pass is `admin/admin`, and can be accessed at
364-
`http://<hostname>:3000`.
366+
`http://<hostname>:3000`. If HTTPS is configured, use `https://<hostname>:3001`.
365367

366368

367369
## Updating AST Versions
@@ -375,15 +377,14 @@ special instructions / breaking changes.
375377
git stash
376378
git fetch --tags
377379
git pull origin main
378-
git checkout tags/RELEASE_VERSION #(e.g. tags/v0.9.4)
380+
git checkout tags/RELEASE_VERSION #(e.g. tags/v0.9.5)
379381
git stash pop
380382
# <merge any conflicts with your local changes>
381383
# <re-run config scripts>
382384
docker compose down
383385
# `docker compose up -d` to start in background mode
384386
docker compose up
385387
```
386-
387388
## Support
388389

389390
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).
@@ -398,7 +399,7 @@ Please refer to the [F5 DevCentral Community Code of Conduct](code_of_conduct.md
398399

399400
## Copyright
400401

401-
Copyright 2014-2024 F5 Networks Inc.
402+
Copyright 2014-2025 F5 Networks Inc.
402403

403404
### F5 Networks Contributor License Agreement
404405

@@ -410,4 +411,4 @@ Otherwise by submitting a CLA you represent that you are legally entitled to gra
410411
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.
411412

412413
If you are signing on behalf of a company, you represent that you are legally entitled to grant the license recited therein.
413-
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.
414+
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
@@ -80,19 +80,19 @@ This output shows everything looks good:
8080
```shell
8181
$ docker ps
8282
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83-
cb4cf8867390 grafana/grafana:11.2.0 "/run.sh" About a minute ago Up 49 seconds 0.0.0.0:3000->3000/tcp grafana
84-
bb8891f2cd47 prom/prometheus:v2.54.1 "/bin/prometheus --c…" About a minute ago Up 49 seconds 0.0.0.0:9090->9090/tcp prometheus
85-
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
83+
cb4cf8867390 grafana/grafana:11.6.3 "/run.sh" About a minute ago Up 49 seconds 0.0.0.0:3000->3000/tcp grafana
84+
bb8891f2cd47 prom/prometheus:v2.53.5 "/bin/prometheus --c…" About a minute ago Up 49 seconds 0.0.0.0:9090->9090/tcp prometheus
85+
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
8686
```
8787

8888
This output shows a problem (Restarting container) for the `application-study-tool-otel-collector-1`
8989
container (the otel collector):
9090
```shell
9191
$ docker ps
9292
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93-
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
94-
b7ef41accd46 grafana/grafana:11.2.0 "/run.sh" 14 seconds ago Up 13 seconds 0.0.0.0:3000->3000/tcp grafana
95-
8edff3e8666e prom/prometheus:v2.54.1 "/bin/prometheus --c…" 14 seconds ago Up 13 seconds 0.0.0.0:9090->9090/tcp prometheus
93+
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
94+
b7ef41accd46 grafana/grafana:11.6.3 "/run.sh" 14 seconds ago Up 13 seconds 0.0.0.0:3000->3000/tcp grafana
95+
8edff3e8666e prom/prometheus:v2.53.5 "/bin/prometheus --c…" 14 seconds ago Up 13 seconds 0.0.0.0:9090->9090/tcp prometheus
9696
```
9797

9898
### 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)