Open SamuelCarson opened 3 months ago
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
apiVersion: 1
deleteDatasources:
datasources:
config_dir: '~'
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
pihole_enable: false pihole_hostname: pihole pihole_timezone: America/Chicago pihole_password: "change-this-password"
monitoring_enable: true monitoring_grafana_admin_password: "admin" monitoring_speedtest_interval: 60m monitoring_ping_interval: 5s monitoring_ping_hosts: # [URL];[HUMAN_READABLE_NAME]
prometheus_monitor_prometheus: true prometheus_node_exporter_targets:
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_enable: true airgradient_sensors:
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:
name: Ensure apt cache is up to date. ansible.builtin.apt: update_cache: true cache_valid_time: 3600 when:
name: Ensure pacman cache is up to date community.general.pacman: update_cache: true when:
handlers:
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?
Ccorretion: Airgradient dashboard is present but no data. RPi 4 Bookworm
nodeexporter:9100 is showing only core metrics
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:
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:
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.
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:
name: Ensure apt cache is up to date. ansible.builtin.apt: update_cache: true cache_valid_time: 3600 when:
name: Ensure pacman cache is up to date community.general.pacman: update_cache: true when:
handlers:
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?