Customised IPFS dashboard - dashboard

I have a customised IPFS (created and maintained by someone else). I want to design the dashboard for this customised IPFS Private cluster (like the IPFS desktop for the nodes information). I am researching for Prometheus and Grafana service. What are the ways to achieve this task? I am new to IPFS. Please guide.
Edit: Recently I tried to get IPFS metrics using Prometheus.
http://localhost:5001/debug/metrics/prometheus gives some metric information but not sure it has complete information like peers, files etc info.
Are there any Prometheus exporters for IPFS? Or how could I use https://docs.ipfs.io/reference/http/api/#getting-started API data for Grafana?

You may need to export custom metrics, but the Prometheus endpoint seems like a reasonable place to start.
Some additional reading:
https://github.com/ipfs/go-ipfs/pull/6688
https://github.com/ipfs/go-metrics-prometheus

Related

ElasticSearch/ElasticCloud Alert Creation

I am a newbie in Elastic in general and currently I am trying to manage our alerts for CPU/Disk/Memory in Elastic Cloud. I can create the alerts manually just fine, but that takes a huge amount of time and if we migrate I want to be able to create the alerts in some automated way. In the past I have worked with Azure and created alerts with Az PowerShell and etc, so I am searching how to automate the alert creation for our infrastructure in Elastic Cloud. I went through the documentation for Alerts Link. But, im not sure I understand how to use the API to actually do this.
Is there a way to automate lets say creation of CPU alerts for 10 different hosts that we monitor with Elastic ? Is using the API the only way and are there any materials other than the official documentation that can help me achieve this? And am I even on the correct path? Thank you in advance.
Let me share knowledge of using Azure Monitor where you can connects the resources to Azure Monitor and manage the Alerts. Alerts can send you an email or call a web hook when some metric (for example database size or CPU usage) reaches the threshold. There are several ways to create Alerts- using Azure Portal, Command Line Interface, Powershell and Azure Monitor Rest API. Hope it will help you.
Even you can automate alerts using Azure Automation runbook with Mertic Alerts. where can automate the alerts according to the customized dimensional values and once the Alert criteria met it can even send an mail.

How integrate FireStore Health Check and Dashboard metrics with our internal Company systems

Context: it is my first use of FireStore. I want to use it to push notification status to our Mobile Application. I can see that there is Google Firestore Dashboard under Analytics umbrella. In our company we use mainly three tools for monitoring our applications: Zabbix, Dynatrace and certain internal solution based on Elasticsearch. I need to ntegrate our internal monitoring systems with metrics resulted from our first Firestore project.
What I am looking for: based on personal assumptions:
1) Maybe there might exist either some GET endpoints that a I can connect and poll for information let's say each minute
2) Maybe, following the idea of Database Realtime pushing events accross a long time connection, I can code a Spring Boot application that import Firebase SDK and every day I connect to some specific Firestore endpoint which will push any interested events (eg. delay based on custom logic or dead service)
3) Maybe some plugin I can connect straight to a Kafka hosted in our internal Datacent
4) Some plugin to connect from Firestore/Firebase to either third tools (eg. Zabbix or Dynatrace or Elasticsearch)
5) Some dependency I could import in google-cloud-funtions thiggered from Firestore Healcheck engine in orther to consume some internal end-point posting data
Perhaps there is already some approach universally used for a scenario when you have to connect Firestore to internal monitoring system. I will be highly appreciated if tell me that than I can narrow my googling searchs because I am not finding anything usefull.
Please, it is not part of this question comparing Monitoring approach. It is a very solid fact in our company use internal Dashboards and some custom alerts trigger. I just mentioned the names above to clarify what I mean by internal monitoring tools. The focus on this question is HOW IMPORT/INTEGRATE/OBSERVE/CONSUME Firestore monitoring data. Our internal stack is beyond this question.
Here is the Official Documentation for Cloud Monitoring using which you can collect metrics, events, and metadata from Google Cloud Platform products that you can use to create dashboards, charts, and alerts.
Please let me know if you have further questions.

How can I monitor Heroku multi-dynos app with Prometheus?

I need monitor apps deployed to Heroku by Prometheus monitoring system.
Problem is that if you have more dynos app, you need to know all IP address of your dynost to be able to pull metrics from all dynos.
For K8s or AWS we are able to get full list of PODs/instances, So you are able to do this.
So question is, do you know, how to get IPs of all dynos from Heroku?
I'm considering exposing the $DYNO environment variable as a label to all metrics so Prometheus can have a consistent view on which dyno it's scraping. Given a short enough scraping interval, all dynos should be able to scraped within reasonable time.
Pushgateway is not a recommended way of monitoring long-standing services.
So question is, do you know, how to get IPs of all dynos from Heroku?
This is not possible on the Heroku platform. The application dynos sit behind a load balancer, you do not have direct access to them.
I need monitor apps deployed to Heroku by Prometheus monitoring system.
Perhaps this could be split into two Prometheus jobs.
Monitor the application directly (at it's load-balanced *.herokuapp.com/metrics endpoint)
and use an exporter that gathers the dynos metrics via push somehow
Consider making use of a Heroku log drain to an exporter, converting the logs into a metrics endpoint.
There is also a private API available on Heroku application stats, not the best idea, but it might work well to gather the basic application stats. Have a look at the network requests in the Heroku dashboard to see how that works.
This would have some similarities with using a pushgateway, as described at https://prometheus.io/docs/practices/pushing/.

How to set up an alert system for Graphite+Grafana server

I have a server stats.hostname with graphite + grafana. This is receiving some stats about geolocation from several clients. I want to know if there is some plugin/extension/external tool for alert (email) when this stats overpass some threshold.
I tried with worldPing, but I think the tool is only for checking is a site is reachable or not.
Can you suggest some solution?
Thanks!
Alerting is probably one of the most requested features of Grafana. The team at Raintank are building an alerting system on top of Grafana. You can follow the progress and the discussion here - https://github.com/grafana/grafana/issues/2209
Currently though, you can use Bosun for your alerting needs. - https://bosun.org/quickstart#graphite
It does have Graphite querying capabilities, and there's a Bosun Datasource for Grafana as well.
Alerting in grafana is available since release 4.0 from dec 2016
http://grafana.org/blog/2016/12/12/grafana-4.0-stable-release/
Currently v. 4.0.2 is available http://grafana.org/download/ for donwload.

What is the best way to send email reports from Kibana dashboard?

I've setup an ELK (Elasticsearch, Logstash and Kibana) stack and created some Kibana dashboard widgets. So far everything went amazing. Now I want to send daily and weekly email with the generated reports.
What is the best way to do that. Do I need to install any plugin or I can sent it right from Kibana?
You can use ElastAlert. You will be able to mail a link with the Kibana dashboard with only the data of the period you want. The period parameter in the top right corner will be set automatically in Kibana.
There are some workarounds, such as phantomjs but not straightforward to implement. For specific events and Kibana queries there are alerting mechanisms available (Watcher, Logz.io), but I'm guessing you're looking to receive the entire dashboard by email.
There are two out-of-the box options for sending email reports from Kibana dashboard:
Skedler which allows you to schedule and send automated email reports based on your Kibana dashboard or search.
If you have Elasticsearch license/subscription, then you can use the reporting plugin.
Hope it helps.
You can use Sentinl that extends Kibana for Alerting and Reporting functionality to monitor, notify and report on data series changes using standard queries, programmable validators and a variety of configurable actions - Think of it as a free an independent "Watcher" which also has scheduled "Reporting" capabilities (PNG/PDFs snapshots).
The greatest thing about Sentinl is you can easily configure alerts through it's native App interface integrated in Kibana.

Resources