JSON API and Infinity Data Source tutorial for Grafana | How to display the unemployment rate

Поділитися
Вставка
  • Опубліковано 22 лип 2024
  • JSON API and Infinity data sources demonstration for beginners. Using API, you can display data from any open dataset. Follow the video to get started!
    Become a member of our fan club / @volkovlabs and earn loyalty badges!
    LINKS FROM THE VIDEO
    👉 U.S. BUREAU OF LABOR STATISTICS www.bls.gov/
    👉 Adjusted Apache ECharts scripts for Grafana echarts.volkovlabs.io/
    👉 Original Apache ECharts resource echarts.apache.org/
    👉 The home of the U.S. Government’s open data data.gov/
    👉 NASA's clearinghouse site for open data provided to the public data.nasa.gov/
    CHAPTERS
    00:00 Intro
    00:40 Installation of JSON API, Infinity, and Apache ECharts panel
    02:17 Open datasets
    02:41 Public Data API on bls.gov, what JSON data file looks like
    04:05 Basic setup of Infinity and JSON API
    05:13 Create a new dashboard with JSON API data source, read the data
    08:40 Where to get Apache ECharts visualization templates
    09:55 More visualization tricks
    11:01 Build the exact visualization using Infinity
    12:46 Adding parameters to the API request for JSON API
    14:29 Adding parameters to the API request for Infinity
    15:25 Adding second series, JSON API
    17:59 Adding second series, infinity
    DISCOVER
    👉 Documentation: docs.volkovlabs.io
    👉 Blog: blog.volkovlabs.io
    👉 GitHub: github.com/VolkovLabs
    GET IN TOUCH
    👉 Issues and questions: github.com/VolkovLabs
    👉 GitHub Sponsor: github.com/sponsors/VolkovLabs
    👉 LinkedIn: / volkovlabs
    #Grafana #GrafanaPlugins #Visualization #visualización
  • Наука та технологія

КОМЕНТАРІ • 70

  • @volkovlabs
    @volkovlabs  Рік тому +5

    Following the previous JSON API video, we created this detailed tutorial making it possible to work with JSON API open data sets for everyone. Check out the blog post for more details: volkovlabs.io/blog/json-api-data-sources-in-grafana-20230104/
    Now we are working on the business dashboard tutorial. Leave a comment below for what to include.

    • @vinodmahant5486
      @vinodmahant5486 Рік тому +1

      Can you please create a video on authentication options for JSON API other than basic auth

    • @volkovlabs
      @volkovlabs  Рік тому +1

      @@vinodmahant5486 Do you have any specific options on your mind? Are you using or planning to use JSON API or Infinity Data source? Infinity supports many authentication options out of the box.

    • @vinodmahant5486
      @vinodmahant5486 Рік тому +1

      @@volkovlabs Thanks for quick response. I have created a dashboard with JSON API datasource, Now I want to secure my rest api, It works with basic auth but I want to use token based authentication for my use case like Oauth2 or header based authentication (where the auth token periodically changes) (JSON API options: Forward Oauth identity, Custom Http Headers)
      Please suggest ?

    • @volkovlabs
      @volkovlabs  Рік тому

      @@vinodmahant5486 JSON API configuration displays native Grafana Authentication options, including "Forward OAuth Identity", but we have not tested it in our projects. JSON API is maintained by Grafana, and I would recommend asking on Community Forum (community.grafana.com/new) if you have any issues.

  • @seanarney948
    @seanarney948 Рік тому +2

    You guys put together such nice and detailed tutorials without all kinds of fluff - I love it!

    • @volkovlabs
      @volkovlabs  Рік тому +1

      We don’t do fluff, straight to the point to answer questions and solve problems. Thank you for follow along.

  • @paakire3918
    @paakire3918 Рік тому +1

    Hallelujah!!!
    I can finally do something with Grafana...
    thank you my God (and Mrs. Volcov!!!)

    • @volkovlabs
      @volkovlabs  Рік тому

      What is your use case? What do you want to accomplish with Grafana?

  • @thichxemphim1981
    @thichxemphim1981 29 днів тому +1

    Awesome video! Thank you very much! Keep going more about building start time and end time query parameters for API call!

  • @SplitZeroOne
    @SplitZeroOne Рік тому +2

    Very clear and concise, great video

  • @chaimeinav
    @chaimeinav Рік тому +1

    thank you very much for this clear and short explanation 👏

    • @volkovlabs
      @volkovlabs  Рік тому

      You are welcome! Good luck with your project.
      --
      Daria

  • @Dallascalo
    @Dallascalo Рік тому +1

    Thank you. Helpful video.

    • @volkovlabs
      @volkovlabs  Рік тому

      Glad if helped! Do you use JSON API or Infinity?

  • @sudhagar_rajaraman
    @sudhagar_rajaraman Рік тому +1

    Clear and good explanation.. Great work 👍

    • @volkovlabs
      @volkovlabs  Рік тому

      Appreciate the feedback. What Data Source you decided to use?

    • @sudhagar_rajaraman
      @sudhagar_rajaraman Рік тому +1

      @@volkovlabs I'm using influx DB as data source for my grafana dashboard

  • @sowmyasastry1455
    @sowmyasastry1455 11 місяців тому +1

    How do I create a dashboard using these plugins on grafana installed in the Kubernetes cluster. I want to automate so that every time a new pod is created, the dashboard should be already configured.

    • @volkovlabs
      @volkovlabs  11 місяців тому

      Use Provisioning: ua-cam.com/video/sGHKY0VmbLw/v-deo.html

  • @koushik4531
    @koushik4531 12 днів тому +1

    Hey thanks of info!
    So After doing post request and getting the output, Can I trigger alerts based on the incoming data.

    • @volkovlabs
      @volkovlabs  12 днів тому

      Infinity is a backend data source and supports Alerting.

  • @LearningWithNisa
    @LearningWithNisa 4 місяці тому +1

    thank you for detailed explaination. I have one question , I am using garfana for visualization i want to do a task in which data is filtered by using garfana tool. and send to the algorithm written in python which finds the clusters and send back processed data to garfana (store in database). is there any way to do such task? thanks. looking forward to hear from youl

    • @volkovlabs
      @volkovlabs  4 місяці тому

      Check out the Data Manipulation panel

  • @yogeshchowdary2861
    @yogeshchowdary2861 5 місяців тому +1

    Thank you very much for the video. Can you please help me to understand more about variables. Like how can we pass multiple value variables to JSON API params.

    • @volkovlabs
      @volkovlabs  5 місяців тому

      Which plugin are you talking about? Both of them has excellent documentation explaining variables: grafana.com/docs/plugins/yesoreyeram-infinity-datasource/latest/

    • @yogeshchowdary2861
      @yogeshchowdary2861 5 місяців тому

      @@volkovlabs JSON api

  • @rabiyabegum1631
    @rabiyabegum1631 7 місяців тому +1

    Can you please help me on how to retrieve two specific fields from the JSON payload of 15 health check URLs and display the data in a single table.
    please note that each of the 15 health check URLs contains the same two specific fields in their JSON payloads.
    Also if possible please let me know how to add variables to dashboard for querying the data

    • @volkovlabs
      @volkovlabs  7 місяців тому

      You can add 15 queries to the panel and then use Merge transformation to combine them together.
      JSON API and Infinity data sources support dashboard variables, check out the documentation on how to use them.

  • @kotipallisriram7756
    @kotipallisriram7756 9 місяців тому +1

    Thank you very much for your video, one quick question I am using json api to fetch the incident count from Pagerduty to display it in Grafana dashboard everything is working fine but i am not able to give default value for last 24hours data. As of now i am using "since" in param and giving last day date. Tried adding now() also but its fetching last month data. Any suggestion please 🥺

    • @volkovlabs
      @volkovlabs  9 місяців тому +1

      Good question. I am not familiar with Pagerduty API and can't comment on the parameters. I would recommend to ask in Community Forum: community.grafana.com
      --
      Mikhail

  • @abrahamlincolnarpula6919
    @abrahamlincolnarpula6919 7 місяців тому +1

    Does the JSON API and Infinity Data Source fetch the data continuously from the rest end point(URL) provided. If not how to fetch data in regular interval of time continuously?

    • @volkovlabs
      @volkovlabs  7 місяців тому

      It's called Streaming in Grafana terms and I have not heard about it in both plugins. Looking at Infinity there is no mention for Streaming in Docs and Issues. You can use Dashboard refresh to refresh on interval. Other option is to use the WebSocket data source, which support streaming.

  • @robertpeirce5533
    @robertpeirce5533 2 місяці тому +1

    Are you able to assist me in parsing XML data using Infinity as the datasource. I can GET the raw data using the URL in Grafana using Infinity, but I have not been successful at parsing any of it.

    • @volkovlabs
      @volkovlabs  2 місяці тому

      Infinity Data source is well documented in the Documentation: grafana.com/docs/plugins/yesoreyeram-infinity-datasource/latest/.
      Also, Grafana Forum is a great place to get advice for the Infinity Data Source: community.grafana.com

  • @maximilianosalibe1710
    @maximilianosalibe1710 6 місяців тому +1

    Nice explanations and visualizations! One thing I noticed is that both panels switch alternatively between ascending and descending curves (the max and the min change places). I guess it has something to do with the .reverse() method that was called on the data. But why doesn't it stay fixed?

    • @volkovlabs
      @volkovlabs  6 місяців тому

      Good catch! I don't remember the details, it was something wrong in the script. Let me know if you able to reproduce it using the latest version of the plugins.

    • @maximilianosalibe1710
      @maximilianosalibe1710 6 місяців тому +1

      @@volkovlabs I am using a specific release of Grafana (v9.2.1) because of the project I am working in. Perhaps I can check that later in a latest release.

  • @praveennaik63
    @praveennaik63 8 місяців тому +1

    @volkovlabs how to add the startyear and endyear dynamically, For example, whatever I select from the time picker it should consider that range? is there any way?

    • @volkovlabs
      @volkovlabs  8 місяців тому

      Time Range' To and From are set in Global Variables which you can use in the Data Sources: volkovlabs.io/grafana/variables/#global-variables

    • @praveennaik63
      @praveennaik63 8 місяців тому +1

      @@volkovlabsHow to use these variables in my API request? The documents you shared me, Didnt help

    • @volkovlabs
      @volkovlabs  8 місяців тому

      @@praveennaik63 I just guessed the answer, because the questions is still not clear. What Data Source do you use and how do you specify start and end year?
      --
      Mikhail

  • @MrGh0sT_8124
    @MrGh0sT_8124 9 місяців тому +1

    Thank you for the video, I am using grafana to display Wazuh REST api data into tables or charts. By using both plugins I manage to connect and pull data from api. But all data (json format) is coming into one line in grafana. Is there any way to put data into table format or other charts?

    • @volkovlabs
      @volkovlabs  9 місяців тому

      Both plugins support parsing JSON data into separate columns and rows. Check the documentation for Infinity how to parse JSON: sriramajeyam.com/grafana-infinity-datasource/docs/json

    • @MrGh0sT_8124
      @MrGh0sT_8124 9 місяців тому +1

      @@volkovlabs thank you for the reply and documentation

    • @volkovlabs
      @volkovlabs  9 місяців тому +1

      @@MrGh0sT_8124 Happy Dashboarding!

  • @AnunPoochuensee
    @AnunPoochuensee 11 місяців тому +1

    Hello, I am a starter grafana developer, After install Infinity or JSON API i can't use and there are message "Alerting not supported" Please help or suggestion me many thanks.

    • @volkovlabs
      @volkovlabs  11 місяців тому

      Alerting not supported means that the JSON API is a frontend only plugin and you can't create Alerts based on it. Infinity has a backend and it can be used for Alerts. What do you mean you can't use?

  • @LuCkY-sq7ge
    @LuCkY-sq7ge 7 місяців тому +1

    i have a API which has historical data and i can get history/5d history/1h history/1w for example. Is it possible to use the grafana timefilter and dynamically request the correct history endpoint? (i get 20 data points out)

    • @volkovlabs
      @volkovlabs  7 місяців тому +1

      Grafana's Time Range To and From values can be accesses using Global Variables `${__from}` and `${__to}`. You can use them in the URL or Payload to request the data.

    • @thichxemphim1981
      @thichxemphim1981 29 днів тому

      Great to hear that! Could you please create video for that?

  • @saloniipawar6631
    @saloniipawar6631 2 місяці тому +2

    Hi, Can you please make a video on using json api to fetch json data from an url using Path in Json Api. Please add a global variable in the path too which we can select from a drop down.

    • @volkovlabs
      @volkovlabs  2 місяці тому +1

      Very timely request, I am about to make a video like that. Stay tuned!

    • @saloniipawar6631
      @saloniipawar6631 2 місяці тому +1

      @@volkovlabs great ! Please make it soon. It’s quite urgent requirement for my project.

    • @volkovlabs
      @volkovlabs  2 місяці тому

      @@saloniipawar6631 Take a look at the blog post which covers those topics: volkovlabs.io/blog/form-panel-server-based-elements-20240428/

  • @user-iu1qh5nl2h
    @user-iu1qh5nl2h 7 місяців тому +1

    can you please let me know how to connect with Elasticsearch endpoint using infinity plugin. Also how to query the _source result as a table view ?

    • @volkovlabs
      @volkovlabs  7 місяців тому

      Have you tried the Elastic Search Data Source? grafana.com/docs/grafana/latest/datasources/elasticsearch/. We recommend to use specific data source is available instead of using custom solution using API Data Sources.
      --
      Mikhail

    • @user-iu1qh5nl2h
      @user-iu1qh5nl2h 6 місяців тому +1

      @@volkovlabs Thanks for the reply, actually I need to perform generate some dynamic fields based on the existing fields in my response data. For this reason I cannot go ahead with the existing ES data source. Anyways I am able to able to achieve the requirement with Infinity DS but is there any such limitation of why it cannot process more than 10000 records ?

    • @volkovlabs
      @volkovlabs  6 місяців тому +1

      @@user-iu1qh5nl2h I am not aware of this limitation. If it's not mentioned in the documentation, please submit an issue in the project repository: github.com/grafana/grafana-infinity-datasource.

  • @alagappan2214
    @alagappan2214 4 дні тому

    Hey, How can i send dynamic variables as a parameter to the Infinity data source API?

    • @volkovlabs
      @volkovlabs  14 годин тому

      Please check out the plugin documentation how to use variables: grafana.com/docs/plugins/yesoreyeram-infinity-datasource/latest/

  • @vladgnatenko3573
    @vladgnatenko3573 Рік тому +1

    would it matter if my grafna runs locally? doesn't work for me for some reason

    • @volkovlabs
      @volkovlabs  Рік тому

      Are you connecting using Frontend (Browser) or Backend (Grafana Server) mode? Check the Browser -> Console -> Network for the specific error to troubleshoot further.
      --
      Mikhail

    • @vladgnatenko3573
      @vladgnatenko3573 Рік тому +1

      @@volkovlabs thank you for your help, ther ewas a problem with json api with 8.2.0 when running in the docker, pulled latest image of graphana and everything worked like magic. Awesome work, used couple graphs from echart

    • @volkovlabs
      @volkovlabs  Рік тому

      Glad to hear!

  • @paakire3918
    @paakire3918 Рік тому +1

    Sorry for the double msg (parkinson symptoms)

  • @paakire3918
    @paakire3918 Рік тому +1

    Hallelujah!!!
    I can finally do something with Grafana...
    thank you my God (and Mrs. Volcov!!!)

    • @volkovlabs
      @volkovlabs  Рік тому

      You are very welcome. Happy for you!