Forum Discussion

Mikesisav's avatar
Mikesisav
Icon for Altocumulus rankAltocumulus
Oct 06, 2025

AST Configuration Assistance

All, I had AST configured on a RHEL platform and the 3000 port as web available.  

Something changed in our environment and I had to wipe away the docker configuration and I am starting from scratch on the same RHEL instance.  

Docker is working as "sudo docker run hello-world" states "This message shows that your installation appears to be working correctly."

I deleted the old application-study-tool and added the folder from the tarball to my home directory.

I copied and edited the below : 

cp .env-example .env

 cp .env.device-secrets-example .env.device-secrets

 vi ./config/ast_defaults.yaml 

vi ./config/bigip_receivers.yaml

That all took like before the first installation.  

When I run this " docker run --rm -it -w /app -v ${PWD}:/app --entrypoint /app/src/bin/init_entrypoint.sh python:3.12.6-slim-bookworm --generate-config "...I get the error :

"docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "/app/src/bin/init_entrypoint.sh": stat /app/src/bin/init_entrypoint.sh: no such file or directory: unknown"

That is where I am stuck.  

Python version is python3.11

Wanted to reach out here first before I potentially tried it on another RHEL box - clean install. 

Any help or direction would be appreciated.   

 

 

 

 

 

21 Replies

  • Another thing I realized today when working with another customer with a similar permissions issue: if you want to work with your existing clone of the repo, you will also need to enable executable permissions for user, "other", on all directories. This is also required for access to these files.

    From the application-study-tool/ directory, run "chmod -R o+X services" (you might need "sudo" before this command as well). Note the capital "X", which will only change the permissions of the directories -- not the files.

    • Mikesisav's avatar
      Mikesisav
      Icon for Altocumulus rankAltocumulus

      I missed this entry as I had to hit a hyperlink.  Not sure why it just did not thread it lower.  Whatever.  I will try this today instead of "chmod -R o+r ." from yesterday as I just saw it and report back.   Thanks, again, Jason.  

  • Jason,

     

    Happy New Year.

     

    I was able to run "chmod -R o+r ." and then successfully, which seems to move then next command forward from last year's work "

    sudo docker run --rm -it -w /app -v ${PWD}:/app --entrypoint /app/src/bin/init_entrypoint.sh python:3.12.6-slim-bookworm --generate-config".  The last lines for that last command are "

    2026-01-07 22:37:39,991 - INFO - Successfully wrote data to './services/otel_collector/pipelines.yaml'.

    2026-01-07 22:37:39,997 - INFO - Successfully wrote data to './services/otel_collector/receivers.yaml'."

     

    I then tried to run "docker compose up" next and get this "

    unable to get image 'grafana/grafana@sha256:6128afd8174f01e39a78341cb457588f723bbb9c3b25c4d43c4b775881767069': permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.51/images/grafana/grafana@sha256:6128afd8174f01e39a78341cb457588f723bbb9c3b25c4d43c4b775881767069/json": dial unix /var/run/docker.sock: connect: permission denied"

     

    This still reads like a permission issue, potentially?  

     

    Thank you for your time and efforts.  

  • You're close. It looks like you just need "sudo" before "docker compose up", and you should get past the permissions issue.
    So:

    sudo docker compose up

    Also, there shouldn't be a quote (") after the previous docker command, but it looks like you have it working.

    • Mikesisav's avatar
      Mikesisav
      Icon for Altocumulus rankAltocumulus

      Can't seem to see the threaded Forrest through the threaded trees here. Only one cup of coffee.  Will update after doing some more testing.  Thank you.  

  • Jason, Happy 2026....I am still here. There is a lot of text in the below.  Sorry for the verbosity but we did make progress.  getting stuck at "sudo compose docker up".  See the below.  

     

    Update: ...made progress and was able to run past "docker run --rm -it -w /app -v ${PWD}:/app --entrypoint /app/src/bin/init_entrypoint.sh python:3.12.6-slim-bookworm --generate-config" Get the below.  

     

    sudo docker run --rm -it -w /app -v ${PWD}:/app --entrypoint /app/src/bin/init_entrypoint.sh python:3.12.6-slim-bookworm --generate-config

    Collecting PyYAML==6.0.2

    Downloading PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)

    Downloading PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (767 kB)

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 767.5/767.5 kB 24.0 MB/s eta 0:00:00

    Installing collected packages: PyYAML

    Successfully installed PyYAML-6.0.2

    WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable.It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.

     

    [notice] A new release of pip is available: 24.2 -> 25.3

    [notice] To update, run: pip install --upgrade pip

    2026-01-27 19:01:10,067 - INFO - Generating configs from ./config/ast_defaults.yaml and ./config/bigip_receivers.yaml...

    2026-01-27 19:01:10,067 - INFO - Loading AST Default Settings in ./config/ast_defaults.yaml...

    2026-01-27 19:01:10,074 - INFO - Successfully loaded './config/ast_defaults.yaml'.

    2026-01-27 19:01:10,074 - INFO - Loading Per-Receiver (BigIP) Settings in ./config/bigip_receivers.yaml...

    2026-01-27 19:01:10,076 - INFO - Successfully loaded './config/bigip_receivers.yaml'.

    2026-01-27 19:01:10,077 - INFO - Generating receiver configs...

    2026-01-27 19:01:10,077 - INFO - Generating pipeline configs...

    2026-01-27 19:01:10,077 - WARNING - The f5_data_export=true and f5_pipeline_default fields are required to export metrics periodically to F5. Contact your F5 Sales Rep to provision a Sensor ID and Access Token.

    2026-01-27 19:01:10,077 - INFO - Built the following pipeline file:

     

    metrics/local:

    exporters:

    - otlphttp/metrics-local

    - debug/bigip

    processors:

    - batch/local

    receivers:

    - bigip/1

     

    2026-01-27 19:01:10,078 - INFO - Built the following receiver file:

     

    bigip/1:

    collection_interval: 60s

    data_types:

    f5.apm:

    enabled: false

    f5.cgnat:

    enabled: false

    f5.dns:

    enabled: false

    f5.dos:

    enabled: false

    f5.firewall:

    enabled: false

    f5.gtm:

    enabled: false

    f5.policy.api_protection:

    enabled: false

    f5.policy.asm:

    enabled: false

    f5.policy.firewall:

    enabled: false

    f5.policy.ip_intelligence:

    enabled: false

    f5.policy.nat:

    enabled: false

    f5.profile.dos:

    enabled: false

    endpoint: https://10.232.1.77

    password: ${env:BIGIP_PASSWORD_1}

    timeout: 60s

    tls:

    ca_file: ''

    insecure_skip_verify: false

    username: admin

     

    2026-01-27 19:01:10,087 - INFO - Successfully wrote data to './services/otel_collector/pipelines.yaml'.

    2026-01-27 19:01:10,096 - INFO - Successfully wrote data to './services/otel_collector/receivers.yaml'.

    [s331325@f05astpl001 application-study-tool]$

     

    Now when doing "sudo docker compose up"... get the following error : "

    grafana | logger=provisioning.datasources t=2026-01-27T18:58:19.649894511Z level=error msg="can't read datasource provisioning files from directory" path=/etc/grafana/provisioning/datasources error="open /etc/grafana/provisioning/datasources: permission denied"

    grafana | logger=provisioning.plugins t=2026-01-27T18:58:19.67632371Z level=error msg="Failed to read plugin provisioning files from directory" path=/etc/grafana/provisioning/plugins error="open /etc/grafana/provisioning/plugins: permission denied"

    grafana | logger=provisioning.alerting t=2026-01-27T18:58:19.676411247Z level=error msg="can't read alerting provisioning files from directory" path=/etc/grafana/provisioning/alerting error="open /etc/grafana/provisioning/alerting: permission denied"

    grafana | logger=provisioning.alerting t=2026-01-27T18:58:19.676417257Z level=info msg="starting to provision alerting"

    grafana | logger=provisioning.alerting t=2026-01-27T18:58:19.67642702Z level=info msg="finished to provision alerting"

    grafana | logger=provisioning.dashboard t=2026-01-27T18:58:19.676436736Z level=error msg="can't read dashboard provisioning files from directory" path=/etc/grafana/provisioning/dashboards error="open /etc/grafana/provisioning/dashboards: permission denied"

    grafana | logger=http.server t=2026-01-27T18:58:19.67676324Z level=info msg="HTTP Server Listen" address=0.0.0.0:3000 protocol=http subUrl= socket=

    grafana | logger=provisioning.dashboard t=2026-01-27T18:58:19.723051927Z level=info msg="starting to provision dashboards"

    grafana | logger=provisioning.dashboard t=2026-01-27T18:58:19.72307652Z level=info msg="finished to provision dashboards"

    grafana | logger=grafana-apiserver t=2026-01-27T18:58:19.90612739Z level=info msg="Adding GroupVersion userstorage.grafana.app v0alpha1 to ResourceManager"

    grafana | logger=grafana-apiserver t=2026-01-27T18:58:19.906792166Z level=info msg="Adding GroupVersion playlist.grafana.app v0alpha1 to ResourceManager"

    grafana | logger=grafana-apiserver t=2026-01-27T18:58:19.907291435Z level=info msg="Adding GroupVersion featuretoggle.grafana.app v0alpha1 to ResourceManager"

    grafana | logger=grafana-apiserver t=2026-01-27T18:58:19.9085977Z level=info msg="Adding GroupVersion iam.grafana.app v0alpha1 to ResourceManager"

    grafana | logger=grafana-apiserver t=2026-01-27T18:58:19.910245956Z level=info msg="Adding GroupVersion notifications.alerting.grafana.app v0alpha1 to ResourceManager"

    grafana | logger=app-registry t=2026-01-27T18:58:19.942745581Z level=info msg="app registry initialized"

    grafana | logger=plugin.backgroundinstaller t=2026-01-27T18:58:20.165873398Z level=info msg="Installing plugin" pluginId=grafana-lokiexplore-app version=

    grafana | logger=plugins.update.checker t=2026-01-27T18:58:20.16628026Z level=info msg="Update check succeeded" duration=542.57888ms

    grafana | logger=grafana.update.checker t=2026-01-27T18:58:20.166481732Z level=info msg="Update check succeeded" duration=542.932799ms

    grafana | logger=plugin.installer t=2026-01-27T18:58:20.216209971Z level=info msg="Updating plugin" pluginId=grafana-lokiexplore-app from=1.0.31 to=1.0.34

    grafana | logger=plugin.angulardetectorsprovider.dynamic t=2026-01-27T18:58:20.217751349Z level=info msg="Patterns update finished" duration=624.259046ms

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:58:20 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    grafana | logger=installer.fs t=2026-01-27T18:58:20.821082742Z level=info msg="Downloaded and extracted grafana-lokiexplore-app v1.0.34 zip successfully to /var/lib/grafana/plugins/grafana-lokiexplore-app"

    grafana | logger=plugins.registration t=2026-01-27T18:58:20.895879816Z level=info msg="Plugin registered" pluginId=grafana-lokiexplore-app

    grafana | logger=plugin.backgroundinstaller t=2026-01-27T18:58:20.895912971Z level=info msg="Plugin successfully installed" pluginId=grafana-lokiexplore-app version= duration=730.011779ms

    grafana | logger=plugin.backgroundinstaller t=2026-01-27T18:58:20.940501472Z level=info msg="Installing plugin" pluginId=grafana-pyroscope-app version=

    grafana | logger=plugin.installer t=2026-01-27T18:58:20.988538131Z level=info msg="Updating plugin" pluginId=grafana-pyroscope-app from=1.12.0 to=1.15.2

    grafana | logger=installer.fs t=2026-01-27T18:58:21.122997211Z level=info msg="Downloaded and extracted grafana-pyroscope-app v1.15.2 zip successfully to /var/lib/grafana/plugins/grafana-pyroscope-app"

    grafana | logger=plugins.registration t=2026-01-27T18:58:21.159611196Z level=info msg="Plugin registered" pluginId=grafana-pyroscope-app

    grafana | logger=plugin.backgroundinstaller t=2026-01-27T18:58:21.159643085Z level=info msg="Plugin successfully installed" pluginId=grafana-pyroscope-app version= duration=219.110763ms

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:58:21 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:58:23 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:58:27 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:58:33 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:58:47 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    grafana | logger=infra.usagestats t=2026-01-27T18:59:00.580020213Z level=info msg="Usage stats are ready to report"

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 18:59:13 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

    otel-collector-1 | Error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 | 2026/01/27 19:00:04 collector server run finished with error: failed to get config: cannot resolve the configuration: cannot retrieve the configuration: unable to read the file file:/etc/otel-collector-config/defaults/bigip-scraper-config.yaml: open /etc/otel-collector-config/defaults/bigip-scraper-config.yaml: permission denied

    otel-collector-1 exited with code 1 (restarting)

     

    Thanks for your time.  

  • Can you check something quickly?
    From your application-study-tool/ directory, which I believe you are already in (you can run "pwd" to confirm), run the following to spot check executable permissions for a few of the required directories:

    ls -l ./services/otel_collector/
    ls -l ./services/otel-collector-config/defaults/
    ls -l ./services/grafana/
    ls -l ./services/grafana/provisioning/
    ls -l ./services/prometheus/

    If these directories are not executable by "other", then you'll need to enable that permission. You can do so using the following command from the application-study-tool/ directory:

    sudo chmod -R o+X services

    (I also go into more detail on why this issue occurs and how to fix it in my blog, File Permissions Errors When Installing F5 Application Study Tool? Here’s Why.)

  • Am I running the in right place?  

     

     application-study-tool]$ ls -l ./services/otel-collector-config/defaults/

    ls: cannot access './services/otel-collector-config/defaults/': No such file or directory

    [s331325@netanspl001 application-study-tool]$ ls -l ./services/grafana/

    total 32

    drwxr-xr-x 4 s331325  57 Nov 19 10:37 provisioning

    [ application-study-tool]$ ls -l ./services/grafana/provisioning/

    total 80

    drwxr-xr-x 4 s331325  88 Nov 19 10:37 dashboards

    drwxr-xr-x 2 s331325 34 Nov 19 10:37 datasources

    [ application-study-tool]$ ls -l ./services/prometheus/

    total 32

    -rw-r--r-- 1270 Nov 19 10:37 prometheus.yml

    [ application-study-tool]$  ls

    code_of_conduct.md  COLLECTOR_VERSION  config  CONTRIBUTING.md  diagrams  docker-compose.yaml  https_setup.md  LICENSE  pages  README.md  requirements.txt  services  src  SUPPORT.md

    [ application-study-tool]$

     

    If so or if not...where do I need to run this command "sudo chmod -R o+X services" ?

    Still absorbing this but working through it.  Once I fully understand it, I think my linux permission and directory growth will be massively improved.  

     

    (I also go into more detail on why this issue occurs and how to fix it in my blog, File Permissions Errors When Installing F5 Application Study Tool? Here’s Why.)

  • Sorry about that. That command should have been "ls -l ./services/otel_collector/defaults".
    That said, your other commands are showing the config files to have the correct permissions. Assuming the defaults directory and the files within it are all readable by everyone, and the defaults directory is also executable by everyone, it would probably be easier to reinstall AST. If you do, make sure your umask is set to something that won't remove permissions you need. The above blog goes through doing this.