Coder Social home page Coder Social logo

internet-monitoring's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

internet-monitoring's Issues

Synology docker-compose up fails on 0.0.0.0:9090

(Running on Synology)

stanny@ONYX:~/internet-monitoring/prometheus$ sudo docker-compose up
Password:
Starting internet-monitoring_ping_1 ...
internet-monitoring_nodeexp_1 is up-to-date
Starting internet-monitoring_speedtest_1 ...
Starting internet-monitoring_ping_1      ... done
Starting internet-monitoring_speedtest_1 ... done
ERROR: for internet-monitoring_sonos_1  "host" network_mode is incompatible with port_bindings
Starting internet-monitoring_prometheus_1 ...
Starting internet-monitoring_prometheus_1 ... error

ERROR: for internet-monitoring_prometheus_1  Cannot start service prometheus: driver failed programming external connectivity on endpoint internet-monitoring_prometheus_1 (168c33d054b9eab138038538c19dbc5a31047fd7edc821a436a33047a7d7057f): Bind for 0.0.0.0:9090 failed: port is already allocated

ERROR: for sonos  "host" network_mode is incompatible with port_bindings

ERROR: for prometheus  Cannot start service prometheus: driver failed programming external connectivity on endpoint internet-monitoring_prometheus_1 (168c33d054b9eab138038538c19dbc5a31047fd7edc821a436a33047a7d7057f): Bind for 0.0.0.0:9090 failed: port is already allocated
Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose/cli/main.py", line 80, in main
  File "compose/cli/main.py", line 192, in perform_command
  File "compose/metrics/decorator.py", line 18, in wrapper
  File "compose/cli/main.py", line 1165, in up
  File "compose/cli/main.py", line 1161, in up
  File "compose/project.py", line 702, in up
  File "compose/parallel.py", line 106, in parallel_execute
  File "compose/parallel.py", line 204, in producer
  File "compose/project.py", line 688, in do
  File "compose/service.py", line 563, in execute_convergence_plan
  File "compose/service.py", line 479, in _execute_convergence_create
  File "compose/parallel.py", line 106, in parallel_execute
  File "compose/parallel.py", line 204, in producer
  File "compose/service.py", line 477, in <lambda>
  File "compose/service.py", line 456, in create_and_start
  File "compose/service.py", line 333, in create_container
  File "compose/service.py", line 937, in _get_container_create_options
  File "compose/service.py", line 1069, in _get_container_host_config
  File "docker/api/container.py", line 598, in create_host_config
  File "docker/types/containers.py", line 339, in __init__
docker.errors.InvalidArgument: "host" network_mode is incompatible with port_bindings
[28508] Failed to execute script docker-compose
stanny@ONYX:~/internet-monitoring/prometheus$ docker -v
Docker version 20.10.3, build b35e731

9090 is NOT used anywhere..

Any ideas?

hardcoded configs specific to author's own network/environment

There are a number of hardcoded configurations and containers launched that appear to be specific to the author's own home environment and unrelated to internet monitoring.

For example, in prometheus/pinghosts.yml a number of local resources are harcoded to ping local resources unlikely to exit on any other environment. When the docker compose yaml runs, it creates a whole container for some kind of Sonos data exportation that again is specific to the author's environment and isn't relevant to internet monitoring.

Totally appreciate the author taking the time to produce this repo, but wondering if he could remove the cruft that at best is wasted resource and at worst might impair system performance.

Thank you

Add Grafana password to readme file

Might be a good idea to add the login credentials for the grafana dashboard to your readme/installation instructions:
username: admin
password: wonka

Bad Gateway

I am receiving "Bad Gateway" on all dashboard graphs, upload, download latency. all show bad gateway. where am i configuring this wrong.

Add LICENSE

Without any license, this isn't a free project and the authors hold full copyright of it without giving others rights to fork it or even use it without some internal licensing between the repository owners and the party that wants to fork or use it. While most people don't care that much about licensing, all forks of this project are currently technically illegal and usage of this project would be illegal too.

I would suggest simply licensing this under the MIT license.

I can't get graphics in "Grafana"

Grafana warns me with an exclamation in red:
"Method Not Allowed" in all panels.

Docker Version:

Client: Docker Engine - Community
 Version:           19.03.11
 API version:       1.40
 Go version:        go1.13.10

I think the problem may come that my network is in:
192.168.0.XXX

The only weird thing I see is in the "sonos" service; since in the logs it indicates: ``` No Sonos discovered`. ``

docker-compse ps:
internet-monitoring_grafana_1      /run.sh                          Up      0.0.0.0:3030->3000/tcp
internet-monitoring_nodeexp_1      /bin/node_exporter --path. ...   Up      0.0.0.0:9100->9100/tcp
internet-monitoring_ping_1         /bin/blackbox_exporter --c ...   Up      0.0.0.0:9115->9115/tcp
internet-monitoring_prometheus_1   /bin/prometheus --config.f ...   Up      0.0.0.0:9090->9090/tcp
internet-monitoring_sonos_1        python ./sonos_exporter -- ...   Up
internet-monitoring_speedtest_1    npm run start                    Up      0.0.0.0:9696->9696/tcp

LOGS:

,> [email protected] start /home
,> node index.js
,> [email protected] start /home
,> node index.js
,   ╭──────────────────────────────────────╮
,   │                                      │
,   │   Update available 5.6.0 → 7.19.1    │
,   │      Run npm i -g npm to update      │
,   │                                      │
,   ╰──────────────────────────────────────╯
,> [email protected] start /home
,> node index.js
,/metrics
,speedtest:  { download: 51.695, upload: 24.189, ping: 69.4 }


......
level=info ts=2021-07-05T09:22:21.492Z caller=node_exporter.go:113 collector=vmstat
level=info ts=2021-07-05T09:22:21.492Z caller=node_exporter.go:113 collector=xfs
level=info ts=2021-07-05T09:22:21.492Z caller=node_exporter.go:113 collector=zfs
level=info ts=2021-07-05T09:22:21.492Z caller=node_exporter.go:195 msg="Listening on" address=:9100
level=info ts=2021-07-05T09:22:21.492Z caller=tls_config.go:191 msg="TLS is disabled." http2=false

...
level=info ts=2021-07-05T09:22:13.483Z caller=main.go:395 msg="Received SIGTERM, exiting gracefully..."
level=info ts=2021-07-05T09:22:21.602Z caller=main.go:224 msg="Starting blackbox_exporter" version="(version=0.19.0, branch=HEAD, revision=5d575b88eb12c65720862e8ad2c5890ba33d1ed0)"
level=info ts=2021-07-05T09:22:21.602Z caller=main.go:225 build_context="(go=go1.16.4, user=root@2b0258d5a55a, date=20210510-12:56:44)"
level=info ts=2021-07-05T09:22:21.603Z caller=main.go:237 msg="Loaded config file"
level=info ts=2021-07-05T09:22:21.603Z caller=main.go:385 msg="Listening on address" address=:9115
level=info ts=2021-07-05T09:22:21.603Z caller=tls_config.go:191 msg="TLS is disabled." http2=false

...
level=info ts=2021-07-05T09:22:22.078663612Z caller=web.go:380 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2021-07-05T09:22:22.07869099Z caller=targetmanager.go:71 component="target manager" msg="Starting target manager..."
level=info ts=2021-07-05T09:22:22.078663528Z caller=main.go:314 msg="Starting TSDB"
level=info ts=2021-07-05T09:22:22.230863341Z caller=main.go:326 msg="TSDB started"
level=info ts=2021-07-05T09:22:22.230941546Z caller=main.go:394 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2021-07-05T09:22:22.233563579Z caller=main.go:371 msg="Server is ready to receive requests."


...
t=2021-07-05T09:33:07+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=403 remote_addr=172.19.0.1 time_ms=1 size=10 referer=
t=2021-07-05T09:33:18+0000 lvl=warn msg="Request Origin is not authorized" logger=live origin=http://192.168.0.2:3030 appUrl=http://localhost:3000/ allowedOrigins=
t=2021-07-05T09:33:18+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=403 remote_addr=172.19.0.1 time_ms=1 size=10 referer=
t=2021-07-05T09:33:21+0000 lvl=warn msg="Request Origin is not authorized" logger=live origin=http://192.168.0.2:3030 appUrl=http://localhost:3000/ allowedOrigins=
t=2021-07-05T09:33:21+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=403 remote_addr=172.19.0.1 time_ms=1 size=10 referer=

...
level=info ts=2021-07-05T08:37:38.931Z caller=node_exporter.go:113 collector=uname
level=info ts=2021-07-05T08:37:38.931Z caller=node_exporter.go:113 collector=vmstat
level=info ts=2021-07-05T08:37:38.931Z caller=node_exporter.go:113 collector=xfs
level=info ts=2021-07-05T08:37:38.931Z caller=node_exporter.go:113 collector=zfs
level=info ts=2021-07-05T08:37:38.931Z caller=node_exporter.go:195 msg="Listening on" address=:9100
level=info ts=2021-07-05T08:37:38.931Z caller=tls_config.go:191 msg="TLS is disabled." http2=false

...
level=info ts=2021-07-05T08:37:38.850Z caller=main.go:225 build_context="(go=go1.16.4, user=root@2b0258d5a55a, date=20210510-12:56:44)"
level=info ts=2021-07-05T08:37:38.851Z caller=main.go:237 msg="Loaded config file"
level=info ts=2021-07-05T08:37:38.851Z caller=main.go:385 msg="Listening on address" address=:9115
level=info ts=2021-07-05T08:37:38.851Z caller=tls_config.go:191 msg="TLS is disabled." http2=false
level=info ts=2021-07-05T09:02:14.226Z caller=main.go:395 msg="Received SIGTERM, exiting gracefully..."

Discovering Sonos...
INFO:soco.discovery:Set of attached IPs: {'172.18.0.1', '192.168.0.2', '172.20.0.1', '172.23.0.1', '172.17.0.1', '172.19.0.1'}
INFO:soco.discovery:Sending discovery packets on [<socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>, <socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>, <socket.socket fd=5, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>, <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>, <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>, <socket.socket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>]
No Sonos discovered.
INFO:root:Start server 0.0.0.0:1915

Adhere to upstream's new license

The project this repository is based on just added an MIT license as a response to this issue

You should adhere to this and merge it into this project from upstream (original repo which this project is forked from). Not following a license is considered illegal as it breaks the copyright law (read more in the linked issue).

Since MIT is a permissive license, you can also relicense under a different license in case you wouldn't want to use MIT (as long as you follow the terms of MIT and give proper attributions).

Speedtest return HTTP Status 204 No Content

Hi,

When I went to prometheus target page, the speedtest shows server returned HTTP status 204 No Content

When I checked speed-test exporter log, this error is showing:

_speedTest:error Error: No server found, verify your proxy/network
    at gotServers (/home/node_modules/speedtest-net/index.js:621:25)
    at /home/node_modules/speedtest-net/index.js:107:16
    at /home/node_modules/speedtest-net/index.js:301:7
    at Parser.<anonymous> (/home/node_modules/xml2js/lib/parser.js:303:18)
    at Parser.emit (events.js:180:13)
    at SAXParser.onclosetag (/home/node_modules/xml2js/lib/parser.js:261:26)
    at emit (/home/node_modules/sax/lib/sax.js:624:35)
    at emitNode (/home/node_modules/sax/lib/sax.js:629:5)
    at closeTag (/home/node_modules/sax/lib/sax.js:889:7)
    at SAXParser.write (/home/node_modules/sax/lib/sax.js:1436:13)

I was able to ping 8.8.8.8 from within the speed-test exporter container

Could someone please provide a solution to this?

Thank you

Method not allowed

Hello!

I have followed the instructions as provided in the readme, and have done a fresh install on a fresh Ubuntu server instance with latest docker and docker compose.

Upon executing the docker-compose, everything goes just fine and I am able to bring up the prometheus dashboards, but alas, all graphs are empty and have a small "exclamation mark" on each of them saying "Method not allowed" which I assume is why the graph is not being filled out.

As an example (speedtest ping graph) when clicking the exclamation mark and checking out the query:
{
"request": {
"url": "api/datasources/proxy/1/api/v1/query_range",
"method": "POST",
"data": {
"query": "speedtest_ping",
"start": 1626570540,
"end": 1626570840,
"step": 15
},
"hideFromInspector": false
},
"response": {
"error": "Method Not Allowed",
"response": "Method Not Allowed\n",
"message": "Method Not Allowed\n"
}
}

Have I done something wrong, or has something changed?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.