Không có mô tả

Christopher Nethercott dc11fb06e8 Update 3 năm trước cách đây
.github fe158c5251 Fixed workflow to main from master 3 năm trước cách đây
.dockerignore 1135eb891a Initial commit 3 năm trước cách đây
.gitignore 1135eb891a Initial commit 3 năm trước cách đây
Dockerfile 1135eb891a Initial commit 3 năm trước cách đây
README.md f5cb789307 Added newline 3 năm trước cách đây
main.py dc11fb06e8 Update 3 năm trước cách đây
requirements.txt 1135eb891a Initial commit 3 năm trước cách đây

README.md

pihole-to-influxdb

Introduction

Based slightly on my other project, speedtest-to-influxdb. This project leverages the Pi-Hole API to gather data about your PiHole instance and store it inside of InfluxDB for your future projects.

This project is automatically built through GitHub actions and the DockerHub file can be found here.

Setup

Configuring the script

The InfluxDB connection settings can be configured as followed:

  • INFLUX_DB_ADDRESS=192.168.xxx.xxx
  • INFLUX_DB_PORT=8086
  • INFLUX_DB_USER=user
  • INFLUX_DB_PASSWORD=pass
  • INFLUX_DB_DATABASE=pihole

The PiHole settings can be configured as followed:

  • PIHOLE_HOSTNAME=192.168.xxx.xxx
  • PIHOLE_INTERVAL=15 Interval in seconds

    Authentication

    Certain parts of the API require you to be authenticated, this can be achieved by supplying the PIHOLE_AUTHENTICATION token with the password you use to login to the web interface.
    By doing this you'll gain access to two new measurements (tables):

  • authenticated_query_types

  • authenticated_forward_destinations

    Sidenote

    This does mean that your password is stored in plaintext as an envronmental variable and as such as malicious actor could find it and access your PiHole instance. You are advised to use this at your own risk.

    Docker Command

    docker run -d --name pihole-to-influx \
    -e 'INFLUX_DB_ADDRESS'='_influxdb_host_' \
    -e 'INFLUX_DB_PORT'='8086' \
    -e 'INFLUX_DB_USER'='_influx_user_' \
    -e 'INFLUX_DB_PASSWORD'='_influx_pass_' \
    -e 'INFLUX_DB_DATABASE'='pihole' \
    -e 'PIHOLE_INTERVAL'='1800' \
    -e 'PIHOLE_HOSTNAME'='192.168.xxx.xxx'  \
    chriscn/pihole-to-influxdb
    

    docker-compose

    version: '3'
    services:
    pihole-to-influxdb:
        image: chriscn/pihole-to-influxdb
        container_name: pihole-to-influxdb
        environment:
        - INFLUX_DB_ADDRESS=192.168.xxx.xxx
        - INFLUX_DB_PORT=8086
        - INFLUX_DB_USER=user
        - INFLUX_DB_PASSWORD=pass
        - INFLUX_DB_DATABASE=pihole
        - PIHOLE_HOSTNAME=192.168.xxx.xxx
        - PIHOLE_INTERVAL=15