Skip to content

Commit e119055

Browse files
authored
Merge branch 'f5devcentral:main' into main
2 parents 99ba871 + ae21ad7 commit e119055

46 files changed

Lines changed: 7923 additions & 813 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.device-secrets-example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Names here are arbitrary, but must match values in big-ips.json.
1+
# Names here are arbitrary, but must match values in bigip_receivers.yaml.
22
# Passwords can be referenced by many devices (you do not need a unique variable for each device).
33
BIGIP_PASSWORD_1=A_SECRET_PASSWORD
44
BIGIP_PASSWORD_2=ANOTHER_SECRET_PASSWORD

.github/workflows/build-pages.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ name: Pages-CI
1111
jobs:
1212
validate:
1313
name: Validate HTML
14+
permissions:
15+
contents: read
1416
strategy:
1517
fail-fast: false
1618
runs-on: ubuntu-latest

.github/workflows/check-branch.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77

88
jobs:
99
check-branch:
10+
permissions:
11+
contents: read
1012
runs-on: ubuntu-latest
1113
steps:
1214
- name: Check branch

.github/workflows/push-image.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
- 'v[0-9]+.[0-9]+.[0-9]+'
77
jobs:
88
Pull-From_Gitlab:
9+
permissions:
10+
contents: read
11+
packages: write
912
runs-on: ubuntu-latest
1013
steps:
1114
- name: "Checkout source code"
@@ -18,7 +21,7 @@ jobs:
1821
password: ${{ secrets.GITLAB_PASSWORD }}
1922
- name: Set variables
2023
run: |
21-
VER=$(cat VERSION)
24+
VER=$(cat COLLECTOR_VERSION)
2225
echo "VERSION=$VER" >> $GITHUB_ENV
2326
- name: Pull Gitlab Image
2427
run: docker pull registry.gitlab.com/f5/greenhouse/apps/seven-layer-cake-collector/otel_custom_collector:${{ env.VERSION }}

COLLECTOR_VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v0.9.4

README.md

Lines changed: 58 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
# Application Study Tool
22

3-
> 🚨🚨**Notice**🚨🚨
4-
>
5-
> Configuration for the Application Study Tool has changed significantly in the v0.6.0 release. To
6-
update a legacy configuration, see [Config Migration for Pre v0.6.0 Deployments](https://f5devcentral.github.io/application-study-tool/config/config_migration.html).
7-
>
8-
> Before you start, make sure to backup the /config/big-ips.json file!
9-
10-
113
## Overview
124

13-
> See the [AST Docsite](https://f5devcentral.github.io/application-study-tool/) for detailed
14-
configuration, troubleshooting info, etc.
5+
> Prior to installation, please see the [AST Docsite](https://f5devcentral.github.io/application-study-tool/) for detailed
6+
configuration, troubleshooting (REST changes, HIGH CPU on control plane) info, etc.
7+
8+
> See the [F5 Application Study Tool Labs](https://clouddocs.f5.com/training/community/ast/html/) for an educational guided lab experience.
9+
>
10+
> For enabling HTTPS within Grafana, see the [Make Grafana Listen on HTTPS guide](https://community.f5.com/kb/technicalarticles/application-study-tool-make-grafana-listen-on-https/341728) for guidance.
11+
>
12+
> 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.
1513
1614
The Application Study Tool is intended to provide enhanced insights into (classic) BIG-IP products, leveraging best in class
1715
open source telemetry tools. The full installation includes:
@@ -61,8 +59,8 @@ vi ./config/ast_defaults.yaml
6159
vi ./config/bigip_receivers.yaml
6260
# Run the configuration generator
6361
docker run --rm -it -w /app -v ${PWD}:/app --entrypoint /app/src/bin/init_entrypoint.sh python:3.12.6-slim-bookworm --generate-config
64-
# Start the tool
65-
docker-compose up
62+
# Start the tool (use `docker compose up -d` to start in background mode)
63+
docker compose up
6664
```
6765

6866
## Configuration
@@ -78,8 +76,6 @@ Application Study Tool config management relies on default configs in
7876

7977
Settings in the bigip_receivers.yaml override those in ast_defaults.yaml.
8078

81-
To update a legacy (pre v0.6.0) configuration, to the new scheme see
82-
[Config Migration for Pre v0.6.0 Deployments](https://f5devcentral.github.io/application-study-tool/config/config_migration.html)
8379

8480
## Configure Default Device Settings
8581

@@ -97,14 +93,34 @@ bigip_receiver_defaults:
9793
# BIGIP_PASSWORD_1
9894
password: "${env:BIGIP_PASSWORD_1}"
9995
# The data_types that should be enabled or disabled.
100-
# DNS and GTM are disabled by default and users can enable those modules
96+
# These are disabled by default and users can enable those modules
10197
# on all devices by setting the below to true.
102-
# A full list of data_types is in pages/receiver_readme.md.
98+
# A full list of data_types is at https://f5devcentral.github.io/application-study-tool/components/otel_collector/receiver_readme.html.
10399
data_types:
100+
f5.apm:
101+
enabled: false
102+
f5.cgnat:
103+
enabled: false
104104
f5.dns:
105105
enabled: false
106+
f5.dos:
107+
enabled: false
108+
f5.firewall:
109+
enabled: false
106110
f5.gtm:
107111
enabled: false
112+
f5.policy.api_protection:
113+
enabled: false
114+
f5.policy.asm:
115+
enabled: false
116+
f5.policy.firewall:
117+
enabled: false
118+
f5.policy.ip_intelligence:
119+
enabled: false
120+
f5.policy.nat:
121+
enabled: false
122+
f5.profile.dos:
123+
enabled: false
108124
# The TLS settings to use. Either a CA file must be specified or
109125
# insecure_skip_verify set to true (not recommended).
110126
tls:
@@ -270,11 +286,28 @@ f5_policy_ip_intelligence_feed_list_count{}
270286
f5_policy_ip_intelligence_info{}
271287
f5_virtual_server_profile_client_ssl_secure_handshakes_total{}
272288
f5_policy_ip_intelligence_generation{}
289+
f5_pool_member_bytes_in_total{}
290+
f5_pool_member_bytes_out_total{}
291+
f5_pool_member_connection_count{}
292+
f5_pool_member_connections_total{}
293+
f5_pool_member_requests_total{}
294+
f5_pool_member_session_count{}
295+
f5_pool_member_packets_in_total{}
296+
f5_pool_member_packets_out_total{}
273297
f5_plane_cpu_utilization_5s{}
274298
```
275299

276300
This will impact data output in several dashboards/panels (denoted with description fields indicating as such).
277301

302+
You can disable attempts to collect bash information with `enable_bash_collection: false` at the appropriate level (global or device).
303+
304+
```yaml
305+
bigip/1:
306+
endpoint: https://10.0.0.1
307+
enable_bash_collection: false
308+
#...
309+
```
310+
278311
### Configure CA File
279312
AST expects a valid TLS cert bundle unless `tls.insecure_skip_verify` is
280313
set to true for each device. In order to mount and use your CA file, you must
@@ -321,7 +354,8 @@ cp .env-example .env
321354
### Run Application Study Tool
322355
Once the above configurations have been made, the tool can be started with:
323356

324-
```
357+
```shell
358+
# `docker compose up -d` to start in background mode
325359
docker compose up
326360
```
327361

@@ -339,9 +373,15 @@ special instructions / breaking changes.
339373
3. Stash changes, update the repo state, and unstash changes as follows:
340374
```shell
341375
git stash
376+
git fetch --tags
342377
git pull origin main
343-
git checkout tags/RELEASE_VERSION #(e.g. tags/v0.7.0)
378+
git checkout tags/RELEASE_VERSION #(e.g. tags/v0.9.4)
344379
git stash pop
380+
# <merge any conflicts with your local changes>
381+
# <re-run config scripts>
382+
docker compose down
383+
# `docker compose up -d` to start in background mode
384+
docker compose up
345385
```
346386

347387
## Support

VERSION

Lines changed: 0 additions & 1 deletion
This file was deleted.

config/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,3 @@ Files in this directory can be used to configure aspects of the Application Stud
55
For additional detail, see:
66

77
* [Configuration Management](pages/config_management.md) (new users start here)
8-
* [Pre v0.6.0 Config Migration](pages/config_migration.md)

config/ast_defaults.yaml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,42 @@ bigip_receiver_defaults:
88
# The password (not recommended) or a reference to an env variable (recommended, shown)
99
# Below tells the collector to look for an environment variable named BIGIP_PASSWORD_1
1010
password: "${env:BIGIP_PASSWORD_1}"
11-
# The timeout field can be used to adjust the amount of time the collector will wait for a response
11+
# The timeout field can be used to adjust the maximum amount of time the collector will wait for a response
1212
# to BigIP iControl Rest requests. Larger boxes with more complex config may require setting this value
13-
# higher. Set for individual devices in bigip_receivers.yaml
14-
timeout: 10s
15-
# The data_types that should be enabled or disabled. DNS and GTM users can enable those modules
13+
# higher.
14+
# This value should be less than or equal to the collection_interval. Any requests that haven't completed
15+
# before this timer expires (starting at the beginning of the collection interval) will be cancelled.
16+
# You can set this for individual devices in bigip_receivers.yaml.
17+
timeout: 60s
18+
# The data_types that should be enabled or disabled. Default-disabled module users can enable those modules
1619
# by setting the below to true. These will apply to all devices and may be better specified on the
17-
# per-reciever settings file below.
20+
# per-reciever settings file.
21+
# The full list of available data types is [here](https://f5devcentral.github.io/application-study-tool/components/otel_collector/receiver_readme.html#available-data_types).
1822
data_types:
23+
f5.apm:
24+
enabled: false
25+
f5.cgnat:
26+
enabled: false
1927
f5.dns:
2028
enabled: false
29+
f5.dos:
30+
enabled: false
31+
f5.firewall:
32+
enabled: false
2133
f5.gtm:
2234
enabled: false
35+
f5.policy.api_protection:
36+
enabled: false
37+
f5.policy.asm:
38+
enabled: false
39+
f5.policy.firewall:
40+
enabled: false
41+
f5.policy.ip_intelligence:
42+
enabled: false
43+
f5.policy.nat:
44+
enabled: false
45+
f5.profile.dos:
46+
enabled: false
2347
# The TLS settings to use. Either a CA file must be specified or insecure_skip_verify
2448
# set to true (not recommended)
2549
tls:

config/bigip_receivers.yaml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
bigip/1:
77
# Endpoint must be specified for each device
88
# Set this to the management IP for the device. This must be
9-
# reachable from the Application Study Tool host.
9+
# reachable from the Application Study Tool host (port 443).
1010
endpoint: https://10.0.0.1
1111
## Uncommenting any of the following lines will override the defaults in
1212
## ast_defaults.yaml bigip_receiver_defaults section.
@@ -15,10 +15,30 @@ bigip/1:
1515
# collection_interval: 30s
1616
# timeout: 20s
1717
# data_types:
18-
# f5.dns:
19-
# enabled: false
20-
# f5.gtm:
21-
# enabled: false
18+
# f5.apm:
19+
# enabled: false
20+
# f5.cgnat:
21+
# enabled: false
22+
# f5.dns:
23+
# enabled: false
24+
# f5.dos:
25+
# enabled: false
26+
# f5.firewall:
27+
# enabled: false
28+
# f5.gtm:
29+
# enabled: false
30+
# f5.policy.api_protection:
31+
# enabled: false
32+
# f5.policy.asm:
33+
# enabled: false
34+
# f5.policy.firewall:
35+
# enabled: false
36+
# f5.policy.ip_intelligence:
37+
# enabled: false
38+
# f5.policy.nat:
39+
# enabled: false
40+
# f5.profile.dos:
41+
# enabled: false
2242
# tls:
2343
# insecure_skip_verify: true
2444
# ca_file:

0 commit comments

Comments
 (0)