Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No airgradient dashboard after install even though ansible-playbook says dashboard was copied #612

Open
SamuelCarson opened this issue Aug 12, 2024 · 3 comments
Labels

Comments

@SamuelCarson
Copy link

after installing using your instructions there is no airgradient dashboard. Everything else works.

/grafana/provisioning/dashboards contents:
dashboard.yml internet-connection.json node-exporter-full.json

/grafana/provisioning/datasources contents:
datasource.yml

datasource,yml contents:

apiVersion: 1

list of datasources that should be deleted from the database

deleteDatasources:

  • name: prometheus
    orgId: 1

list of datasources to insert/update depending

whats available in the database

datasources:

  • name: prometheus
    type: prometheus
    access: proxy
    orgId: 1
    url: http://prometheus:9090
    password:
    user:
    database:
    basicAuth: true
    basicAuthUser: admin
    basicAuthPassword: foobar
    withCredentials:
    isDefault:
    jsonData:
    graphiteVersion: "1.1"
    tlsAuth: false
    tlsAuthWithCACert: false
    secureJsonData:
    tlsCACert: "..."
    tlsClientCert: "..."
    tlsClientKey: "..."
    version: 1
    editable: true
    config.yml contents:

Location where configuration files will be stored.

config_dir: '~'

Domain names configuration (related services need to be enabled).

domain_name_enable: false
domain_name: 'home.local'
domain_pihole: 'pihole' # to access pihole via: http://pihole.home.local
domain_grafana: 'grafana' # to access grafana via: http://grafana.home.local
domain_prometheus: 'prometheus' # to access prometheus via: http://prometheus.home.local

Pi-hole configuration.

pihole_enable: false
pihole_hostname: pihole
pihole_timezone: America/Chicago
pihole_password: "change-this-password"

Internet monitoring configuration.

monitoring_enable: true
monitoring_grafana_admin_password: "admin"
monitoring_speedtest_interval: 60m
monitoring_ping_interval: 5s
monitoring_ping_hosts: # [URL];[HUMAN_READABLE_NAME]

Prometheus configuration.

prometheus_monitor_prometheus: true
prometheus_node_exporter_targets:

  • 'nodeexp:9100'
    prometheus_extra_scrape_configs: ''
    prometheus_tsdb_retention_time: 90d

Shelly Plug configuration. (Also requires monitoring_enable)

shelly_plug_enable: false
shelly_plug_hostname: my-shelly-plug-host-or-ip
shelly_plug_http_username: username
shelly_plug_http_password: "password"

AirGradient configuration. (Also requires monitoring_enable)

airgradient_enable: true
airgradient_sensors:

ID Should be limited to no more than 38 characters, in the set a-z.

  • id: airgradient-office
    ip: "192.168.1.142"
    port: 9926

Starlink configuration. (Also requires monitoring_enable)

starlink_enable: false

Output from ansible-playbook main.yml
PLAY [Configure Internet Pi.] **************************************************

TASK [Gathering Facts] *********************************************************
ok: [127.0.0.1]

TASK [Load configuration (with defaults from example file).] *******************
ok: [127.0.0.1] => (item=example.config.yml)
ok: [127.0.0.1] => (item=config.yml)

TASK [Ensure apt cache is up to date.] *****************************************
changed: [127.0.0.1]

TASK [Ensure pacman cache is up to date] ***************************************
skipping: [127.0.0.1]

TASK [Check if Docker is already present.] *************************************
ok: [127.0.0.1]

TASK [Download Docker install convenience script.] *****************************
skipping: [127.0.0.1]

TASK [Run Docker install convenience script.] **********************************
skipping: [127.0.0.1]

TASK [Ensure Docker is started.] ***********************************************
ok: [127.0.0.1]

TASK [Ensure dependencies are installed (Debian).] *****************************
ok: [127.0.0.1]

TASK [Ensure dependencies are installed (Archlinux).] **************************
skipping: [127.0.0.1]

TASK [Ensure user is added to the docker group: pi] ****************************
ok: [127.0.0.1]

TASK [Reset connection so docker group is picked up.] **************************
[WARNING]: Reset is not implemented for this connection

TASK [Gather package facts.] ***************************************************
skipping: [127.0.0.1]

TASK [Add Buster backports apt key.] *******************************************
skipping: [127.0.0.1] => (item=04EE7237B7D453EC)
skipping: [127.0.0.1] => (item=648ACFD622F3D138)
skipping: [127.0.0.1] => (item=0E98404D386FA1D9)
skipping: [127.0.0.1] => (item=6ED0E7B82643E131)
skipping: [127.0.0.1]

TASK [Add Buster backports for fixed libseccomp2.] *****************************
skipping: [127.0.0.1]

TASK [Install >libseccomp2.4.4 to fix 32-bit OS issue.] ************************
skipping: [127.0.0.1]

TASK [Synchronize internet-monitoring directory.] ******************************
changed: [127.0.0.1]

TASK [Ensure internet-monitoring directory is not a Git repository.] ***********
ok: [127.0.0.1]

TASK [Copy templated internet-monitoring files into place.] ********************
ok: [127.0.0.1] => (item={'src': 'docker-compose.yml.j2', 'dest': 'docker-compose.yml'})
ok: [127.0.0.1] => (item={'src': 'grafana-config.monitoring.j2', 'dest': 'grafana/config.monitoring'})
changed: [127.0.0.1] => (item={'src': 'prometheus.yml.j2', 'dest': 'prometheus/prometheus.yml'})
ok: [127.0.0.1] => (item={'src': 'prometheus-pinghosts.yaml.j2', 'dest': 'prometheus/pinghosts.yaml'})

TASK [Ensure internet-monitoring environment is running.] **********************
ok: [127.0.0.1]

TASK [Create Pi-hole folder on Pi.] ********************************************
skipping: [127.0.0.1]

TASK [Copy Pi-hole docker-compose template to Pi.] *****************************
skipping: [127.0.0.1]

TASK [Ensure Pi-hole is running.] **********************************************
skipping: [127.0.0.1]

TASK [Ensure resolveconf exists.] **********************************************
skipping: [127.0.0.1]

TASK [Update resolveconf for local name server use.] ***************************
skipping: [127.0.0.1]

TASK [Regenerate resolvconf if file is changed.] *******************************
skipping: [127.0.0.1]

TASK [Clone shelly-plug-prometheus repo to Pi.] ********************************
skipping: [127.0.0.1]

TASK [Copy Shelly Plug docker-compose template to Pi.] *************************
skipping: [127.0.0.1]

TASK [Ensure Shelly Plug Prometheus exporter is running.] **********************
skipping: [127.0.0.1]

TASK [Copy shelly dashboard config to grafana] *********************************
skipping: [127.0.0.1]

TASK [Copy airgradient dashboard configs to Grafana.] **************************
changed: [127.0.0.1] => (item={'id': 'airgradient-office', 'ip': '192.168.1.142', 'port': 9926})

TASK [Ensure Starlink directory exists.] ***************************************
skipping: [127.0.0.1]

TASK [Copy Starlink docker-compose template to Pi.] ****************************
skipping: [127.0.0.1]

TASK [Ensure Starlink Prometheus exporter is running.] *************************
skipping: [127.0.0.1]

TASK [Copy starlink dashboard config to grafana.] ******************************
skipping: [127.0.0.1]

RUNNING HANDLER [Restart internet-monitoring] **********************************
changed: [127.0.0.1]

PLAY RECAP *********************************************************************
127.0.0.1 : ok=13 changed=5 unreachable=0 failed=0 skipped=22 rescued=0 ignored=0

main.yml contents:

  • name: Configure Internet Pi.
    hosts: internet_pi
    become: true

    pre_tasks:

    • name: Load configuration (with defaults from example file).
      ansible.builtin.include_vars: "{{ item }}"
      loop:

      • example.config.yml
      • config.yml
    • name: Ensure apt cache is up to date.
      ansible.builtin.apt:
      update_cache: true
      cache_valid_time: 3600
      when:

      • ansible_facts.os_family == "Debian"
    • name: Ensure pacman cache is up to date
      community.general.pacman:
      update_cache: true
      when:

      • ansible_facts.os_family == "Archlinux"

    handlers:

    • name: Include handlers.
      ansible.builtin.import_tasks: tasks/handlers.yml

    tasks:

    • name: Setup Docker.
      ansible.builtin.import_tasks: tasks/docker.yml

    • name: Set up Internet Monitoring.
      ansible.builtin.import_tasks: tasks/internet-monitoring.yml
      when: monitoring_enable

    • name: Set up Pi Hole.
      ansible.builtin.import_tasks: tasks/pi-hole.yml
      when: pihole_enable

    • name: Set up Shelly Plug Monitoring.
      ansible.builtin.import_tasks: tasks/shelly-plug.yml
      when: shelly_plug_enable

    • name: Set up Air Gradient Monitoring.
      ansible.builtin.import_tasks: tasks/airgradient.yml
      when: airgradient_enable

    • name: Set up Starlink Monitoring.
      ansible.builtin.import_tasks: tasks/starlink.yml
      when: starlink_enable

The output from ansible-playbook says airgradient WAS copied to dashboards!!!!!!!!

what's wrong?

@SamuelCarson
Copy link
Author

Ccorretion: Airgradient dashboard is present but no data.
RPi 4 Bookworm

@SamuelCarson
Copy link
Author

nodeexporter:9100 is showing only core metrics

Copy link

This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution!

Please read this blog post to see the reasons why I mark issues as stale.

@github-actions github-actions bot added the stale label Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant