chvvkumar / monitoring Goto Github PK
View Code? Open in Web Editor NEWMonitor ESXi, Synology, Docker, PiHole and Raspberry Pi and Windows using Grafana, InfluxDB and Telegraf
License: GNU General Public License v3.0
Monitor ESXi, Synology, Docker, PiHole and Raspberry Pi and Windows using Grafana, InfluxDB and Telegraf
License: GNU General Public License v3.0
This looks sick! Any chance a guide for newbie? I have no idea how to implement this.
Is this installed on synology itself? Would love to install this.
Hi!!
Thanks a lot for the great wrap up and the awesome dashboards, I just imported most of them and they work great, pending a few little adjustments for multiple hosts and selections, they work pretty much out of the box!
I was wondering if you could please add the Asus dashboard to your project so I can import that one as well?
Thanks!
First off, this is a great write-up on the TIG stack and how to monitor a number of devices! I have a few questions that I'd like to ask if possible?
(1) Can you add some detail as to how you configured Telegraf, InfluxDB and Grafana? For example, was it based on your own setup or an existing tutorial?
(2) Do you host the Telegraf/InfluxDB/Grafana stack as docker containers on the Synology NAS itself (and if so, which images did you use?) or are you hosting this on another device?
(3) For the "Monitoring Docker" section, when you add the following lines, can you provide more info on the "synology.lan" address? Should this be enterred exactly as "synology.lan" (and if so, what does this resolve to?) or should it be enterred as something like "SYNOLOGY NAS LAN IP ADDRESS" (i.e. 192.168.1.x")?
admin@DiskStation:~$ cat /var/packages/Docker/etc/dockerd.json
{
"hosts" : [ "tcp://synology.lan:2375", "unix:///var/run/docker.sock" ],
"registry-mirrors" : []
}
(4) Also, given that the above method makes a change to the synology Docker package config, do you know whether this is overwritten when new Synology Docker package releases are installed?
Many thanks!
Hello , and thanks for sharing your monitor , im having this issue , when trying to put piholestats.py working , telegraf gives that error , what am i doing wrong ??
2019-01-19T11:57:00Z E! [inputs.exec]: Error in plugin: unable to parse out as JSON, invalid character '}' looking for beginning of value
2019-01-19T11:57:00Z E! [inputs.exec]: Error in plugin: exec: exit status 1 for command '/bin/piholestats.py': Traceback (most recent call last):...
Hello,
While implementing this on my own, I discovered you can actually call the API directly from telegraf, no longer requiring a shell/python script. Please see below:
# PiHole monitoring
[[inputs.httpjson]]
name = "pihole1_stats"
servers = [
"http://pihole.example.com/admin/api.php",
]
response_timeout = "5s"
method = "GET"
https://grafana.challa.co appears to have moved to https://grafana.com/. The link in the repo desc should be changed.
Hi,
First, I would first like to thank you for what your great job.
I have an ASUS RT-AC88U router (merlin) and I have adapted the commands.
This router has 8 ethernet port and I would like to know how to adapt your script to monitor the 8 ports?
Thanks
VictoriaMetrics usually requires lower compute resources (CPU, RAM, disk space, disk IO) compared to InfluxDB when processing the same workloads. See these benchmarks and these case studies. VictoriaMetrics supports data ingestion via Influx line protocol (see these docs). It would be great if VictoriaMetrics could be used as monitoring backend instead of InfluxDB.
The following error is encountered when executing piholestats.py
$ sudo -u telegraf /bin/piholestats.py
File "/bin/piholestats.py", line 13
print json.dumps(rstats)
^
SyntaxError: invalid syntax
The error is resolved when changing line 13 of the script to print(json.dumps(rstats))
. So the script will look like:
#!/usr/bin/python
import json
import requests
# Note: Change localhost to the correct IP if needed.
r = requests.get('http://192.168.1.156/admin/api.php')
rstats = json.loads(r.text)
#stats = {}
#for x in rstats:
# stats[x] = float(rstats[x].replace(',', ''))
print(json.dumps(rstats))
This works as expected:
$ sudo -u telegraf /bin/piholestats.py
{"domains_being_blocked": 1386484, "dns_queries_today": 16309, "ads_blocked_today": 5648, "ads_percentage_today": 34.631184, "unique_domains": 1333, "queries_forwarded": 9223, "queries_cached": 1438, "clients_ever_seen": 15, "unique_clients": 14, "dns_queries_all_types": 16309, "reply_NODATA": 4, "reply_NXDOMAIN": 2, "reply_CNAME": 289, "reply_IP": 663, "privacy_level": 0, "status": "enabled", "gravity_last_updated": {"file_exists": true, "absolute": 1561951929, "relative": {"days": "6", "hours": "13", "minutes": "37"}}}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.