Skip to content

Commit 809581a

Browse files
committedOct 22, 2022
Add in Enphase Envoy compose and scrapers.
1 parent 2fe2d6c commit 809581a

7 files changed

+79
-0
lines changed
 

‎example.config.yml

+5
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,8 @@ unpoller_unifi_url: https://192.168.1.1
5757
# https://unpoller.com/docs/install/gettingstarted#configuring-the-controller
5858
unpoller_unifi_admin_username: "unifipoller"
5959
unpoller_unifi_admin_password: "change-this-password"
60+
61+
# Enable collection for enphase collector.
62+
enphasecollector_enable: false
63+
enphasecollector_host: "envoy.local"
64+
domain_enphasecollector: 'enphase' # to access enphase collector via http://enphase.home.local

‎main.yml

+4
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,7 @@
5353
- name: Set up Unpoller Monitoring.
5454
ansible.builtin.import_tasks: tasks/unpoller.yml
5555
when: unpoller_enable
56+
57+
- name: Set up Enphase Collector Monitoring.
58+
ansible.builtin.import_tasks: tasks/enphasecollector.yml
59+
when: enphasecollector_enable

‎tasks/enphasecollector.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
- name: Ensure enphasecollector directory exists.
3+
file:
4+
path: "{{ config_dir }}/enphasecollector-exporter"
5+
state: directory
6+
mode: 0755
7+
become: false
8+
9+
- name: Copy enphasecollector docker-compose template to Pi.
10+
ansible.builtin.template:
11+
src: templates/enphasecollector-docker-compose.yml.j2
12+
dest: "{{ config_dir }}/enphasecollector-exporter/docker-compose.yml"
13+
mode: '0640'
14+
become: false
15+
notify: Restart enphasecollector-exporter
16+
17+
- name: Ensure enphasecollector Prometheus exporter is running.
18+
community.docker.docker_compose:
19+
project_src: "{{ config_dir }}/enphasecollector-exporter/"
20+
build: false
21+
become: false
22+
23+
- name: Copy enphasecollector dashboard config to grafana.
24+
ansible.builtin.copy:
25+
src: files/unpoller-overview.json
26+
dest: "{{ config_dir }}/internet-monitoring/grafana/provisioning/dashboards/"
27+
mode: 0644
28+
become: false

‎tasks/handlers.yml

+7
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,10 @@
3333
build: false
3434
restarted: true
3535
become: false
36+
37+
- name: Restart enphasecollector-exporter
38+
community.docker.docker_compose:
39+
project_src: "{{ config_dir }}/enphasecollector-exporter/"
40+
build: false
41+
restarted: true
42+
become: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# {{ ansible_managed }}
2+
---
3+
version: "3.5"
4+
5+
networks:
6+
back-tier:
7+
name: internet-monitoring-back-tier
8+
9+
services:
10+
enphasecollector:
11+
container_name: enphasecollector
12+
hostname: 'enphasecollector'
13+
restart: unless-stopped
14+
image: dlmcpaul/enphasecollector-arm:latest
15+
ports:
16+
- 8080:8080
17+
networks:
18+
- back-tier
19+
environment:
20+
ENVOY_CONTROLLER_HOST: '{{ enphasecollector_host }}'
21+
{% if domain_name_enable and domain_name and domain_enphasecollector %}
22+
VIRTUAL_HOST: {{ domain_enphasecollector }}.{{ domain_name }}
23+
VIRTUAL_PORT: 8080
24+
{% endif %}

‎templates/pi-hole-docker-compose.yml.j2

+3
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ services:
5858
{% if domain_name_enable and domain_name and domain_prometheus %}
5959
- "{{ domain_prometheus }}.{{ domain_name }}:{{ ansible_facts['default_ipv4']['address'] }}"
6060
{% endif %}
61+
{% if domain_name_enable and domain_name and domain_enphasecollector %}
62+
- "{{ domain_enphasecollector }}.{{ domain_name }}:{{ ansible_facts['default_ipv4']['address'] }}"
63+
{% endif %}
6164
{% endif %}
6265
restart: unless-stopped
6366

‎templates/prometheus.yml.j2

+8
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,14 @@ scrape_configs:
8888
- targets: ['unpoller:9130']
8989
{% endif %}
9090

91+
{% if enphasecollector_enable %}
92+
- job_name: 'enphasecollector'
93+
scrape_interval: 30s
94+
metrics_path: /solar/actuator/prometheus
95+
static_configs:
96+
- targets: ['enphasecollector:8080']
97+
{% endif %}
98+
9199
{% filter indent(width=2,first=True) %}
92100
{{ prometheus_extra_scrape_configs }}
93101
{% endfilter %}

0 commit comments

Comments
 (0)
Please sign in to comment.