2023-07-26 14:51:32 +02:00
2023-06-15 13:39:07 +02:00
2023-05-28 14:51:22 +02:00
2023-07-26 14:30:15 +02:00
2023-07-26 12:38:11 +02:00
2023-07-26 12:38:11 +02:00
2023-05-31 13:37:28 +02:00
wip
2023-06-16 18:55:05 +02:00
2023-07-25 11:23:59 +02:00
2023-07-26 12:38:11 +02:00
2023-07-25 11:23:59 +02:00

prometheus-android-exporter

CircleCI

Prometheus exporter for android phones. Can traverse NAT by leveraging PushProx proxy. Not intended to run as ROOT. Exposes various hardware sensor metrics.

Repository contents

  • Folder ./client contains Jetpack Compose android Prometheus exporter written in kotlin.
  • Folder ./server contains ansible playbook for simple deployment of prometheus monitoring stack on a virtual private server, that is deployment of prometheus database itself, grafana monitoring dashboard and pushprox, a prometheus proxy used to traverse NAT while still following the pull model.
  • Folder ./local contains simple docker-compose.yaml to spin up prometheus database on localhost quickly.

Not public

143.42.59.63:9090 - prometheus

Client

To format code in android studio

CTRL + SHIFT + ALT + L

File configuration

Client application is configurable via a configuration file. Place such file on your android device at a following path:

data/user/0/com.birdthedeveloper.prometheus.android.exporter/files/

The name of such configuration file can be either config.yaml or config.yml

Configurable fields are described in ./config_file_structure.yaml, all fields are optional.

ADB port forwarding

ADB port forwarding is usefull when running the client application on android emulator and prometheus database on the host ADB port forwarding allows to map specific host's port to emulator's port Syntax is as follows (for port 8080)

$ adb forward tcp:8080 tcp:8080

Server

TL;DR

cd ./server

# edit ansible_inventory

# To apply ansible playbook
$ ansible-playbook ansible_playbook.yaml

# To only apply changed configuration
$ ansible-playbook ansible_playbook.yaml --tags config
Description
No description provided
Readme Apache-2.0 8.8 MiB
Languages
Kotlin 99.2%
Makefile 0.5%
Jinja 0.3%