Description
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]
- http://www.google.com/;google.com
- https://github.com/;github.com
- https://www.apple.com/;apple.com
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: truepre_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?