PageSourceSearch

https://sbcode.net/grafana/

html sbcode.net collected 2026-10-02 07:54:26 UTC 74,515 bytes, 2,972 lines download raw bytes

1
2<!doctype html>
3<html lang="en" class="no-js">
4  <head>
5    
6      <meta charset="utf-8">
7      <meta name="viewport" content="width=device-width,initial-scale=1">
8      
9      
10        <meta name="author" content="Sean Bradley">
11      
12      
13        <link rel="canonical" href="https://sbcode.net/">
14      
15      
16      
17        <link rel="next" href="install-provision-linux/">
18      
19      
20        
21      
22      
23      <link rel="icon" href="/favicon.ico">
24      <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.1">
25    
26    
27      
28        <title>Grafana Tutorials</title>
29      
30    
31    
32      <link rel="stylesheet" href="assets/stylesheets/main.484c7ddc.min.css">
33      
34        
35        <link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css">
36      
37      
38
39
40    
41    
42      
43    
44    
45      
46    
47    
48      <link rel="stylesheet" href="css/extra.css">
49    
50    
50<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
50
51    
52      
53
54    
55    
56<link rel="stylesheet" href="assets/stylesheets/custom.7c86dd97.min.css" />
57
58  </head>
59  
60  
61    
62    
63      
64    
65    
66    
67    
68    <body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo">
69  
70    
71    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
72    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
73    <label class="md-overlay" for="__drawer"></label>
74    <div data-md-component="skip">
75      
76        
77        <a href="#grafana-tutorials" class="md-skip">
78          Skip to content
79        </a>
80      
81    </div>
82    <div data-md-component="announce">
83      
84    </div>
85    
86    
87      <!--
88  Copyright (c) 2016-2025 Martin Donath <[email protected]>
89
90  Permission is hereby granted, free of charge, to any person obtaining a copy
91  of this software and associated documentation files (the "Software"), to
92  deal in the Software without restriction, including without limitation the
93  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
94  sell copies of the Software, and to permit persons to whom the Software is
95  furnished to do so, subject to the following conditions:
96
97  The above copyright notice and this permission notice shall be included in
98  all copies or substantial portions of the Software.
99
100  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
101  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
102  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
103  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
104  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
105  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
106  IN THE SOFTWARE.
107-->
108
109<!-- Determine classes -->
110   
111
112<!-- Header -->
113<header class="md-header md-header--shadow" data-md-component="header">
114  <nav class="md-header__inner md-grid" aria-label="Header">
115    <!-- Link to home -->
116    <a
117      href="https://sbcode.net"
118      title="Grafana Tutorials"
119      class="md-header__button md-logo"
120      aria-label="Grafana Tutorials"
121      data-md-component="logo">
122      <!--
123  Copyright (c) 2016-2025 Martin Donath <[email protected]>
124
125  Permission is hereby granted, free of charge, to any person obtaining a copy
126  of this software and associated documentation files (the "Software"), to
127  deal in the Software without restriction, including without limitation the
128  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
129  sell copies of the Software, and to permit persons to whom the Software is
130  furnished to do so, subject to the following conditions:
131
132  The above copyright notice and this permission notice shall be included in
133  all copies or substantial portions of the Software.
134
135  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
136  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
137  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
138  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
139  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
140  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
141  IN THE SOFTWARE.
142-->
143
144<!-- Logo -->
145
146  <img src="/img/sbcodelogo.jpg" alt="sbcode.net" style="width:32px;height:32px;margin-top:-4px" />
147
148    </a>
149
150    <!-- Button to open drawer -->
151    <label class="md-header__button md-icon" for="__drawer">
152       <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
153    </label>
154
155    <!-- Header title -->
156    <div class="md-header__title" data-md-component="header-title">
157      <div class="md-header__ellipsis">
158        <div class="md-header__topic">
159          <span class="md-ellipsis" style="font-weight: 300"> Grafana Tutorials </span>
160        </div>
161        <div class="md-header__topic" data-md-component="header-topic">
162          <span class="md-ellipsis">
163             Home 
164          </span>
165        </div>
166      </div>
167    </div>
168
169    <!-- Color palette toggle -->
170      <form class="md-header__option" data-md-component="palette">
171  
172    
173    
174    
175    <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo"  aria-label="Switch to light mode"  type="radio" name="__palette" id="__palette_0">
176    
177      <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
178        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 0 1 10 10 10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2"/></svg>
179      </label>
180    
181  
182    
183    
184    
185    <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo"  aria-label="Switch to dark mode"  type="radio" name="__palette" id="__palette_1">
186    
187      <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
188        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
189      </label>
190    
191  
192</form>  
193
194    <!-- User preference: color palette -->
195     
195<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
195 
196
197    <!-- Site language selector -->
198    
199
200    <!-- Button to open search modal -->
201     
202
203    <!-- Check if search is actually enabled - see https://t.ly/DT_0V -->
204    
205    <label class="md-header__button md-icon" for="__search">
206       <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
207    </label>
208
209    <!-- Search interface -->
210    <div class="md-search" data-md-component="search" role="dialog">
211  <label class="md-search__overlay" for="__search"></label>
212  <div class="md-search__inner" role="search">
213    <form class="md-search__form" name="search">
214      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
215      <label class="md-search__icon md-icon" for="__search">
216        
217        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
218        
219        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
220      </label>
221      <nav class="md-search__options" aria-label="Search">
222        
223        <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
224          
225          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
226        </button>
227      </nav>
228      
229    </form>
230    <div class="md-search__output">
231      <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
232        <div class="md-search-result" data-md-component="search-result">
233          <div class="md-search-result__meta">
234            Initializing search
235          </div>
236          <ol class="md-search-result__list" role="presentation"></ol>
237        </div>
238      </div>
239    </div>
240  </div>
241</div>  
242
243    <!-- Repository information -->
244    
245
246    <!-- my custom support page -->
247    <div class="md-header__source">
248      <a href="/ways-to-support" class="md-source"
249        ><div class="md-source__repository">Support sbcode.net ❤️</div></a
250      >
251    </div>
252  </nav>
253
254  <!-- Navigation tabs (sticky) -->
255  
256</header>
257    
258    <div class="md-container" data-md-component="container">
259      
260      
261        
262          
263        
264      
265      <main class="md-main" data-md-component="main">
266        <div class="md-main__inner md-grid">
267          
268            
269              
270              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
271                <div class="md-sidebar__scrollwrap">
272                  <div class="md-sidebar__inner">
273                    
274
275
276
277<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
278  <label class="md-nav__title" for="__drawer">
279    <a href="https://sbcode.net" title="Grafana Tutorials" class="md-nav__button md-logo" aria-label="Grafana Tutorials" data-md-component="logo">
280      <!--
281  Copyright (c) 2016-2025 Martin Donath <[email protected]>
282
283  Permission is hereby granted, free of charge, to any person obtaining a copy
284  of this software and associated documentation files (the "Software"), to
285  deal in the Software without restriction, including without limitation the
286  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
287  sell copies of the Software, and to permit persons to whom the Software is
288  furnished to do so, subject to the following conditions:
289
290  The above copyright notice and this permission notice shall be included in
291  all copies or substantial portions of the Software.
292
293  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
294  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
295  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
296  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
297  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
298  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
299  IN THE SOFTWARE.
300-->
301
302<!-- Logo -->
303
304  <img src="/img/sbcodelogo.jpg" alt="sbcode.net" style="width:32px;height:32px;margin-top:-4px" />
305
306    </a>
307    Grafana Tutorials
308  </label>
309  
310  <ul class="md-nav__list" data-md-scrollfix>
311    
312      
313      
314  
315  
316    
317  
318  
319  
320    <li class="md-nav__item md-nav__item--active">
321      
322      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
323      
324      
325        
326      
327      
328        <label class="md-nav__link md-nav__link--active" for="__toc">
329          
330  
331  
332  <span class="md-ellipsis">
333    
334  
335    Home
336  
337
338    
339  </span>
340  
341  
342
343          <span class="md-nav__icon md-icon"></span>
344        </label>
345      
346      <a href="." class="md-nav__link md-nav__link--active">
347        
348  
349  
350  <span class="md-ellipsis">
351    
352  
353    Home
354  
355
356    
357  </span>
358  
359  
360
361      </a>
362      
363        <!--
364  Copyright (c) 2016-2025 Martin Donath <[email protected]>
365
366  Permission is hereby granted, free of charge, to any person obtaining a copy
367  of this software and associated documentation files (the "Software"), to
368  deal in the Software without restriction, including without limitation the
369  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
370  sell copies of the Software, and to permit persons to whom the Software is
371  furnished to do so, subject to the following conditions:
372
373  The above copyright notice and this permission notice shall be included in
374  all copies or substantial portions of the Software.
375
376  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
377  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
378  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
379  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
380  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
381  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
382  IN THE SOFTWARE.
383-->
384
385<!-- Determine title -->
386 
387
388<!-- Table of contents -->
389<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
390  
391
392  <!--
393    Check whether the content starts with a level 1 headline. If it does, the
394    top-level anchor must be skipped, since it would be redundant to the link
395    to the current page that is located just above the anchor. Therefore we
396    directly continue with the children of the anchor.
397  -->
398     
399
400  <!-- Table of contents title and list -->
401  
402  <label class="md-nav__title" for="__toc">
403    <span class="md-nav__icon md-icon"></span>
404    Table of contents
405  </label>
406  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
407     <li class="md-nav__item">
408  <a href="#course-access" class="md-nav__link">
409    <span class="md-ellipsis">
410      
411        Course Access
412      
413    </span>
414  </a>
415  
416</li>  <li class="md-nav__item">
417  <a href="#overview" class="md-nav__link">
418    <span class="md-ellipsis">
419      
420        Overview
421      
422    </span>
423  </a>
424  
425</li>  <li class="md-nav__item">
426  <a href="#grafana-introduction-video" class="md-nav__link">
427    <span class="md-ellipsis">
428      
429        Grafana Introduction Video
430      
431    </span>
432  </a>
433  
434</li> 
435  </ul>
436  
437  <br />
438  <label class="md-nav__title"> Other Courses </label>
439  <div class="md-nav__list" style="margin-top: 10px"><table>
440  <tr>
441    <td>
442      <a href="/genai"><img src="/img/genai-64x36.gif" style="width: 40px" /></a>
443    </td>
444    <td><a href="/genai">&nbsp;GenAI with ComfyUI</a></td>
445  </tr>
446  <tr>
447    <td>
448      <a href="/genai"><img src="/img/iac-64x36.gif" style="width: 40px" /></a>
449    </td>
450    <td><a href="/iac">&nbsp;AWS, Terraform, CI/CD</a></td>
451  </tr>
452  <tr>
453    <td>
454      <a href="/zabbix"><img src="/img/zabbix_course_64x36.gif" style="width: 40px" /></a>
455    </td>
456    <td><a href="/zabbix">&nbsp;Zabbix</a></td>
457  </tr>
458  <tr>
459    <td>
460      <a href="/grafana"><img src="/img/grafana-course_64x36.gif" style="width: 40px" /></a>
461    </td>
462    <td><a href="/grafana">&nbsp;Grafana</a></td>
463  </tr>
464  <tr>
465    <td>
466      <a href="/prometheus"><img src="/img/prometheus-course_64x36.gif" style="width: 40px" /></a>
467    </td>
468    <td><a href="/prometheus">&nbsp;Prometheus</a></td>
469  </tr>
470  <tr>
471    <td>
472      <a href="/react-three-fiber"><img src="/img/react-three-fiber-course-image-64x36.gif" style="width: 40px" /></a>
473    </td>
474    <td><a href="/react-three-fiber">&nbsp;React&nbsp;Three&nbsp;Fiber</a></td>
475  </tr>
476  <tr>
477    <td>
478      <a href="/threejs"><img src="/img/threejs-course-image-64x36.gif" style="width: 40px" /></a>
479    </td>
480    <td><a href="/threejs">&nbsp;Threejs&nbsp;and&nbsp;TypeScript</a></td>
481  </tr>
482  <tr>
483    <td>
484      <a href="/tsl"><img src="/img/tsl-course-image-64x36.gif" style="width: 40px" /></a>
485    </td>
486    <td><a href="/tsl">&nbsp;Threejs Shading Language</a></td>
487  </tr>
488  <tr>
489    <td>
490      <a href="/tssock"><img src="/img/tssock-course_64x36.gif" style="width: 40px" /></a>
491    </td>
492    <td><a href="/tssock">&nbsp;SocketIO&nbsp;and&nbsp;TypeScript</a></td>
493  </tr>
494  <tr>
495    <td>
496      <a href="/topoearth"><img src="/img/topographical-earth-course_64x36.gif" style="width: 40px" /></a>
497    </td>
498    <td><a href="/topoearth">&nbsp;Blender&nbsp;Topological&nbsp;Earth</a></td>
499  </tr>
500  <tr>
501    <td>
502      <a href="/sh3d"><img src="/img/sh3d-course_64x36.gif" style="width: 40px" /></a>
503    </td>
504    <td><a href="/sh3d">&nbsp;Sweet&nbsp;Home&nbsp;3D</a></td>
505  </tr>
506  <tr>
507    <td>
508      <a href="/python"><img src="/img/design_patterns_64x36.gif" style="width: 40px" /></a>
509    </td>
510    <td><a href="/python">&nbsp;Design&nbsp;Patterns&nbsp;Python</a></td>
511  </tr>
512  <tr>
513    <td>
514      <a href="/typescript"><img src="/img/design_patterns-typescript_64x36.gif" style="width: 40px" /></a>
515    </td>
516    <td>
517      <a href="/typescript">&nbsp;Design&nbsp;Patterns&nbsp;TypeScript</a>
518    </td>
519  </tr>
520  <!-- <tr>
521    <td>
522      <a href="/ai-receptionist"><img src="/img/simbuster_64x36.gif" style="width: 40px" /></a>
523    </td>
524    <td>
525      <a href="/ai-receptionist">
525&nbsp;AI Receptionist Tutorials</a>
526    </td>
527  </tr> -->
528  <tr>
529    <td>&nbsp;</td>
530    <td>&nbsp;</td>
531  </tr>
532  <tr>
533    <td>
534      <a href="/coupons"><img src="/img/udemy_logo_64_36.gif" style="width: 40px" /></a>
535    </td>
536    <td>
537      <div class="text-typing">
538        <p><a href="/coupons">&nbsp;Course Coupon Codes</a></p>
539      </div>
540    </td>
541  </tr>
542</table></div>
543
544  <br />
545  <label class="md-nav__title"> Books </label>
546  <div class="md-nav__list" style="margin-top: 10px"><table>
547  
548  <!-- <tr>
549    <td colspan="3" style="font-size: 0.7rem">Observability with Grafana</td>
550  </tr>
551  <tr>
552    <td>
553      <a href="https://amzn.to/4rxvP4f" target="_blank"> <img src="/img/observability-grafana-116.jpg" /></a>
554    </td>
555    <td></td>
556    <td style="font-size: 0.55rem !important">
557      <a href="https://amzn.to/4rxvP4f" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
558      <br />
559      <a href="https://amzn.to/4rxvP4f" target="_blank"><img src="/img/flag_us.gif" /></a>
560      <a href="https://amzn.to/4iyMnVw" target="_blank"><img src="/img/flag_uk.gif" /></a>
561      <br />
562      <a href="https://amzn.to/443tQdR" target="_blank" style="font-size: 17px; color: #b12704">Kindle</a>
563      <br />
564      <a href="https://amzn.to/443tQdR" target="_blank"><img src="/img/flag_us.gif" /></a>
565      <a href="https://amzn.to/48LIh95" target="_blank"><img src="/img/flag_uk.gif" /></a>
566    </td>
567  </tr>
568  <tr>
569    <td colspan="3" style="font-size: 0.7rem">End-to-End Observablity with Grafana</td>
570  </tr>
571  <tr>
572    <td>
573      <a href="https://amzn.to/4aqezrs" target="_blank"> <img src="/img/end-2-end-observability-grafana-116.jpg" /></a>
574    </td>
575    <td></td>
576    <td style="font-size: 0.55rem !important">
577      <a href="https://amzn.to/4aqezrs" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
578      <br />
579      <a href="https://amzn.to/4aqezrs" target="_blank"><img src="/img/flag_us.gif" /></a>
580      <a href="https://amzn.to/4opGATl" target="_blank"><img src="/img/flag_uk.gif" /></a>
581      <br />
582      <a href="https://amzn.to/3KBECBs" target="_blank" style="font-size: 17px; color: #b12704">Kindle</a>
583      <br />
584      <a href="https://amzn.to/3KBECBs" target="_blank"><img src="/img/flag_us.gif" /></a>
585      <a href="https://amzn.to/3K9KuSt" target="_blank"><img src="/img/flag_uk.gif" /></a>
586    </td>
587  </tr> -->
588  
589  <tr>
590    <td colspan="3" style="font-size: 0.7rem">Serious Pythonista</td>
591  </tr>
592  <tr>
593    <td>
594      <a href="https://www.amazon.com/dp/B0GPQFLP19" target="_blank"> <img src="/img/serious_pythonista_116.jpg" /></a>
595    </td>
596    <td></td>
597    <td style="font-size: 0.55rem !important">
598      <a href="https://amzn.to/47a0s75" target="_blank" style="font-size: 17px; color: #b12704">Kindle Edition</a>
599      <img src="/img/kindle-unlimited.gif" />
600      <a href="https://www.amazon.com/dp/B0GPQFLP19" target="_blank" style="font-size: 17px; color: #b12704"
601        >Paperback</a
602      >
603      <br />
604      <a href="https://www.amazon.com/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_us.gif" /></a>
605      <a href="https://www.amazon.co.uk/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_uk.gif" /></a>
606      <a href="https://www.amazon.ie/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_ie.gif" /></a><br />
607      <a href="https://www.amazon.de/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_de.gif" /></a>
608      <a href="https://www.amazon.fr/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_fr.gif" /></a>
609      <a href="https://www.amazon.com.be/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_be.gif" /></a><br />
610      <a href="https://www.amazon.es/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_es.gif" /></a>
611      <a href="https://www.amazon.it/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_it.gif" /></a>
612      <a href="https://www.amazon.nl/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_nl.gif" /></a><br />
613      <a href="https://www.amazon.se/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_se.gif" /></a>
614      <a href="https://www.amazon.pl/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_pl.gif" /></a>
615      <a href="https://www.amazon.co.jp/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_jp.gif" /></a><br />
616      <a href="https://www.amazon.ca/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_ca.gif" /></a>
617      <a href="https://www.amazon.com.au/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_au.gif" /></a>
618    </td>
619  </tr>
620
621  <tr>
622    <td colspan="3" style="font-size: 0.7rem">Design Patterns in Python</td>
623  </tr>
624  <tr>
625    <td>
626      <a href="https://amzn.to/3LEOhVd" target="_blank"> <img src="/img/dp_python_116.jpg" /></a>
627    </td>
628    <td></td>
629    <td style="font-size: 0.55rem !important">
630      <a href="https://amzn.to/466lBN6" target="_blank" style="font-size: 17px; color: #b12704">Kindle Edition</a>
631      <img src="/img/kindle-unlimited.gif" />
632      <a href="https://amzn.to/3LEOhVd" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
633      <br />
634      <a href="https://amzn.to/3LEOhVd" target="_blank"><img src="/img/flag_us.gif" /></a>
635      <a href="https://amzn.to/3LxUSAE" target="_blank"><img src="/img/flag_uk.gif" /></a>
636      <a href="https://www.amazon.in/dp/B08Z282SBC" target="_blank"><img src="/img/flag_in.gif" /></a><br />
637      <a href="https://amzn.to/48mcObz" target="_blank"><img src="/img/flag_de.gif" /></a>
638      <a href="https://amzn.to/3ZuulKm" target="_blank"><img src="/img/flag_fr.gif" /></a>
639      <a href="https://www.amazon.es/dp/B08Z282SBC" target="_blank"><img src="/img/flag_es.gif" /></a><br />
640      <a href="https://www.amazon.it/dp/B08Z282SBC" target="_blank"><img src="/img/flag_it.gif" /></a>
641      <a href="https://www.amazon.nl/dp/B08Z282SBC" target="_blank"><img src="/img/flag_nl.gif" /></a>
642      <a href="https://www.amazon.se/dp/B08XLJ8Z2J" target="_blank"><img src="/img/flag_se.gif" /></a><br />
643      <a href="https://www.amazon.pl/dp/B08XLJ8Z2J" target="_blank"><img src="/img/flag_pl.gif" /></a>
644      <a href="https://www.amazon.co.jp/dp/B08Z282SBC" target="_blank"><img src="/img/flag_jp.gif" /></a>
645      <a href="https://www.amazon.ca/dp/B08Z282SBC" target="_blank"><img src="/img/flag_ca.gif" /></a><br />
646      <a href="https://www.amazon.com.br/dp/B08Z282SBC" target="_blank"><img src="/img/flag_br.gif" /></a>
647      <a href="https://www.amazon.com.mx/dp/B08Z282SBC" target="_blank"><img src="/img/flag_mx.gif" /></a>
648      <a href="https://www.amazon.com.au/dp/B08Z282SBC" target="_blank"><img src="/img/flag_au.gif" /></a>
649    </td>
650  </tr>
651
652  <tr>
653    <td colspan="3" style="font-size: 0.7rem">Design Patterns in TypeScript</td>
654  </tr>
655  <tr>
656    <td>
657      <a href="https://amzn.to/3Ruhu9d" target="_blank"> <img src="/img/dp_typescript_116.jpg" /></a>
658    </td>
659    <td></td>
660    <td style="font-size: 0.55rem !important">
661      <a href="https://amzn.to/454iFPN" target="_blank" style="font-size: 17px; color: #b12704">Kindle Edition</a>
662      <img src="/img/kindle-unlimited.gif" />
663      <a href="https://amzn.to/3Ruhu9d" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
664      <br />
665      <a href="https://amzn.to/3Ruhu9d" target="_blank"><img src="/img/flag_us.gif" /></a>
666      <a href="https://amzn.to/3tdz5Ib" target="_blank"><img src="/img/flag_uk.gif" /></a>
667      <a href="https://www.amazon.in/dp/B094716FD6" target="_blank"><img src="/img/flag_in.gif" /></a><br />
668      <a href="https://amzn.to/48r6oYq" target="_blank"><img src="/img/flag_de.gif" /></a>
669      <a href="https://amzn.to/3PxJGFo" target="_blank"><img src="/img/flag_fr.gif" /></a>
670      <a href="https://www.amazon.es/dp/B094716FD6" target="_blank"><img src="/img/flag_es.gif" /></a><br />
671      <a href="https://www.amazon.it/dp/B094716FD6" target="_blank"><img src="/img/flag_it.gif" /></a>
672      <a href="https://www.amazon.nl/dp/B094716FD6" target="_blank"><img src="/img/flag_nl.gif" /></a>
673      <a href="https://www.amazon.se/dp/B0948BCH24" target="_blank"><img src="/img/flag_se.gif" /></a><br />
674      <a href="https://www.amazon.pl/dp/B0948BCH24" target="_blank"><img src="/img/flag_pl.gif" /></a>
675      <a href="https://www.amazon.co.jp/dp/B094716FD6" target="_blank"><img src="/img/flag_jp.gif" /></a>
676      <a href="https://www.amazon.ca/dp/B094716FD6" target="_blank"><img src="/img/flag_ca.gif" /></a><br />
677      <a href="https://www.amazon.com.br/dp/B094716FD6" target="_blank"><img src="/img/flag_br.gif" /></a>
678      <a href="https://www.amazon.com.mx/dp/B094716FD6" target="_blank"><img src="/img/flag_mx.gif" /></a>
679      <a href="https://www.amazon.com.au/dp/B094716FD6" target="_blank"><img src="/img/flag_au.gif" /></a>
680    </td>
681  </tr>
682
683  <!-- <tr>
684    <td colspan="3" style="font-size: 0.7rem">Three.js and TypeScript</td>
685  </tr>
686  <tr>
687    <td>
688      <a href="https://amzn.to/3FahROZ" target="_blank">
689        <img src="/img/threejs_typescript_116.jpg"
690      /></a>
691    </td>
692    <td></td>
693    <td style="font-size: 0.55rem !important">
694      <a
695        href="https://amzn.to/46m1JFj"
696        target="_blank"
697        style="font-size: 17px; color: #b12704"
698        >Kindle Edition</a
699      >
700      <img src="/img/kindle-unlimited.gif" />
701      <a
702        href="https://amzn.to/3FahROZ"
703        target="_blank"
704        style="font-size: 17px; color: #b12704"
705        >Paperback&nbsp;<img src="/img/cmyk.gif"
706      /></a>
707      <br />
708      <a href="https://amzn.to/3FahROZ" target="_blank"
709        ><img src="/img/flag_us.gif"
710      /></a>
711      <a href="https://amzn.to/3t62KTJ" target="_blank"
712        ><img src="/img/flag_uk.gif"
713      /></a>
714      <a href="https://www.amazon.in/dp/B09GYTKRCH" target="_blank"
715        ><img src="/img/flag_in.gif" /></a
716      ><br />
717      <a href="https://amzn.to/3ZrLtk1" target="_blank"
718        ><img src="/img/flag_de.gif"
719      /></a>
720      <a href="https://amzn.to/3PwIpOR" target="_blank"
721        ><img src="/img/flag_fr.gif"
722      /></a>
723      <a href="https://www.amazon.es/dp/B09GYTKRCH" target="_blank"
724        ><img src="/img/flag_es.gif" /></a
725      ><br />
726      <a href="https://www.amazon.it/dp/B09GYTKRCH" target="_blank"
727        ><img src="/img/flag_it.gif"
728      /></a>
729      <a href="https://www.amazon.nl/dp/B09GYTKRCH" target="_blank"
730        ><img src="/img/flag_nl.gif"
731      /></a>
732      <a href="https://www.amazon.se/dp/B09GZM9KGJ" target="_blank"
733        ><img src="/img/flag_se.gif" /></a
734      ><br />
735      <a href="https://www.amazon.pl/dp/B09GZM9KGJ" target="_blank"
736        ><img src="/img/flag_pl.gif"
737      /></a>
738      <a href="https://www.amazon.co.jp/dp/B09GYTKRCH" target="_blank"
739        ><img src="/img/flag_jp.gif"
740      /></a>
741      <a href="https://www.amazon.ca/dp/B09GYTKRCH" target="_blank"
742        ><img src="/img/flag_ca.gif" /></a
743      ><br />
744      <a href="https://www.amazon.com.br/dp/B09GYTKRCH" target="_blank"
745        ><img src="/img/flag_br.gif"
746      /></a>
747      <a href="https://www.amazon.com.mx/dp/B09GYTKRCH" target="_blank"
748        ><img src="/img/flag_mx.gif"
749      /></a>
750      <a href="https://www.amazon.com.au/dp/B09GYTKRCH" target="_blank"
751        ><img src="/img/flag_au.gif"
752      /></a>
753    </td>
754  </tr> -->
755</table></div>
756</nav>
757      
758    </li>
759  
760
761    
762      
763      
764  
765  
766  
767  
768    <li class="md-nav__item">
769      <a href="install-provision-linux/" class="md-nav__link">
770        
771  
772  
773  <span class="md-ellipsis">
774    
775  
776    Provision a Server to Install Grafana
777  
778
779    
780  </span>
781  
782  
783
784      </a>
785    </li>
786  
787
788    
789      
790      
791  
792  
793  
794  
795    <li class="md-nav__item">
796      <a href="install-grafana/" class="md-nav__link">
797        
798  
799  
800  <span class="md-ellipsis">
801    
802  
803    Install and Start Grafana
804  
805
806    
807  </span>
808  
809  
810
811      </a>
812    </li>
813  
814
815    
816      
817      
818  
819  
820  
821  
822    <li class="md-nav__item">
823      <a href="upgrade-grafana/" class="md-nav__link">
824        
825  
826  
827  <span class="md-ellipsis">
828    
829  
830    Upgrade/Downgrade Grafana
831  
832
833    
834  </span>
835  
836  
837
838      </a>
839    </li>
840  
841
842    
843      
844      
845  
846  
847  
848  
849    <li class="md-nav__item">
850      <a href="domain-name/" class="md-nav__link">
851        
852  
853  
854  <span class="md-ellipsis">
855    
856  
857    Point Domain Name
858  
859
860    
861  </span>
862  
863  
864
865      </a>
866    </li>
867  
868
869    
870      
871      
872  
873  
874  
875  
876    <li class="md-nav__item">
877      <a href="nginx/" class="md-nav__link">
878        
879  
880  
881  <span class="md-ellipsis">
882    
883  
884    Reverse Proxy Grafana with Nginx
885  
886
887    
888  </span>
889  
890  
891
892      </a>
893    </li>
894  
895
896    
897      
898      
899  
900  
901  
902  
903    <li class="md-nav__item">
904      <a href="add-ssl/" class="md-nav__link">
905        
906  
907  
908  <span class="md-ellipsis">
909    
910  
911    Add SSL
912  
913
914    
915  </span>
916  
917  
918
919      </a>
920    </li>
921  
922
923    
924      
925      
926  
927  
928  
929  
930    <li class="md-nav__item">
931      <a href="create-first-data-source/" class="md-nav__link">
932        
933  
934  
935  <span class="md-ellipsis">
936    
937  
938    Create First Data Source
939  
940
941    
942  </span>
943  
944  
945
946      </a>
947    </li>
948  
949
950    
951      
952      
953  
954  
955  
956  
957    <li class="md-nav__item">
958      <a href="panel-rows/" class="md-nav__link">
959        
960  
961  
962  <span class="md-ellipsis">
963    
964  
965    Panel Rows
966  
967
968    
969  </span>
970  
971  
972
973      </a>
974    </li>
975  
976
977    
978      
979      
980  
981  
982  
983  
984    <li class="md-nav__item">
985      <a href="panel-presentation-options/" class="md-nav__link">
986        
987  
988  
989  <span class="md-ellipsis">
990    
991  
992    Panel Options
993  
994
995    
996  </span>
997  
998  
999
1000      </a>
1001    </li>
1002  
1003
1004    
1005      
1006      
1007  
1008  
1009  
1010  
1011    <li class="md-nav__item">
1012      <a href="dashboard-versioning/" class="md-nav__link">
1013        
1014  
1015  
1016  <span class="md-ellipsis">
1017    
1018  
1019    Dashboard Versioning
1020  
1021
1022    
1023  </span>
1024  
1025  
1026
1027      </a>
1028    </li>
1029  
1030
1031    
1032      
1033      
1034  
1035  
1036  
1037  
1038    <li class="md-nav__item">
1039      <a href="graph-panel/" class="md-nav__link">
1040        
1041  
1042  
1043  <span class="md-ellipsis">
1044    
1045  
1046    Graph Panel
1047  
1048
1049    
1050  </span>
1051  
1052  
1053
1054      </a>
1055    </li>
1056  
1057
1058    
1059      
1060      
1061  
1062  
1063  
1064  
1065    <li class="md-nav__item">
1066      <a href="stat-panel/" class="md-nav__link">
1067        
1068  
1069  
1070  <span class="md-ellipsis">
1071    
1072  
1073    Stat Panel
1074  
1075
1076    
1077  </span>
1078  
1079  
1080
1081      </a>
1082    </li>
1083  
1084
1085    
1086      
1087      
1088  
1089  
1090  
1091  
1092    <li class="md-nav__item">
1093      <a href="gauge/" class="md-nav__link">
1094        
1095  
1096  
1097  <span class="md-ellipsis">
1098    
1099  
1100    Gauge Panel
1101  
1102
1103    
1104  </span>
1105  
1106  
1107
1108      </a>
1109    </li>
1110  
1111
1112    
1113      
1114      
1115  
1116  
1117  
1118  
1119    <li class="md-nav__item">
1120      <a href="bar-gauge/" class="md-nav__link">
1121        
1122  
1123  
1124  <span class="md-ellipsis">
1125    
1126  
1127    Bar Gauge Panel
1128  
1129
1130    
1131  </span>
1132  
1133  
1134
1135      </a>
1136    </li>
1137  
1138
1139    
1140      
1141      
1142  
1143  
1144  
1145  
1146    <li class="md-nav__item">
1147      <a href="table/" class="md-nav__link">
1148        
1149  
1150  
1151  <span class="md-ellipsis">
1152    
1153  
1154    Table Panel
1155  
1156
1157    
1158  </span>
1159  
1160  
1161
1162      </a>
1163    </li>
1164  
1165
1166    
1167      
1168      
1169  
1170  
1171  
1172  
1173    <li class="md-nav__item">
1174      <a href="overview-so-far/" class="md-nav__link">
1175        
1176  
1177  
1178  <span class="md-ellipsis">
1179    
1180  
1181    Overview So Far
1182  
1183
1184    
1185  </span>
1186  
1187  
1188
1189      </a>
1190    </li>
1191  
1192
1193    
1194      
1195      
1196  
1197  
1198  
1199  
1200    <li class="md-nav__item">
1201      <a href="create-mysql-data-source/" class="md-nav__link">
1202        
1203  
1204  
1205  <span class="md-ellipsis">
1206    
1207  
1208    Create MySQL Data Source, Collector and Dashboard
1209  
1210
1211    
1212  </span>
1213  
1214  
1215
1216      </a>
1217    </li>
1218  
1219
1220    
1221      
1222      
1223  
1224  
1225  
1226  
1227    <li class="md-nav__item">
1228      <a href="custom-mysql_time_series_query/" class="md-nav__link">
1229        
1230  
1231  
1232  <span class="md-ellipsis">
1233    
1234  
1235    Create a Custom MySQL Time Series Query
1236  
1237
1238    
1239  </span>
1240  
1241  
1242
1243      </a>
1244    </li>
1245  
1246
1247    
1248      
1249      
1250  
1251  
1252  
1253  
1254    <li class="md-nav__item">
1255      <a href="graph-non-timeseries-sql/" class="md-nav__link">
1256        
1257  
1258  
1259  <span class="md-ellipsis">
1260    
1261  
1262    Graphing Non Time Series SQL Data
1263  
1264
1265    
1266  </span>
1267  
1268  
1269
1270      </a>
1271    </li>
1272  
1273
1274    
1275      
1276      
1277  
1278  
1279  
1280  
1281    <li class="md-nav__item">
1282      <a href="install-loki-service/" class="md-nav__link">
1283        
1284  
1285  
1286  <span class="md-ellipsis">
1287    
1288  
1289    Install Loki Binary and Start as a Service
1290  
1291
1292    
1293  </span>
1294  
1295  
1296
1297      </a>
1298    </li>
1299  
1300
1301    
1302      
1303      
1304  
1305  
1306  
1307  
1308    <li class="md-nav__item">
1309      <a href="install-alloy-service/" class="md-nav__link">
1310        
1311  
1312  
1313  <span class="md-ellipsis">
1314    
1315  
1316    Install Alloy Binary and Start as a Service
1317  
1318
1319    
1320  </span>
1321  
1322  
1323
1324      </a>
1325    </li>
1326  
1327
1328    
1329      
1330      
1331  
1332  
1333  
1334  
1335    <li class="md-nav__item">
1336      <a href="logql/" class="md-nav__link">
1337        
1338  
1339  
1340  <span class="md-ellipsis">
1341    
1342  
1343    LogQL
1344  
1345
1346    
1347  </span>
1348  
1349  
1350
1351      </a>
1352    </li>
1353  
1354
1355    
1356      
1357      
1358  
1359  
1360  
1361  
1362    <li class="md-nav__item">
1363      <a href="install-second-alloy/" class="md-nav__link">
1364        
1365  
1366  
1367  <span class="md-ellipsis">
1368    
1369  
1370    Install a Second Alloy Agent
1371  
1372
1373    
1374  </span>
1375  
1376  
1377
1378      </a>
1379    </li>
1380  
1381
1382    
1383      
1384      
1385  
1386  
1387  
1388  
1389    <li class="md-nav__item">
1390      <a href="graph-annotations-log-panel/" class="md-nav__link">
1391        
1392  
1393  
1394  <span class="md-ellipsis">
1395    
1396  
1397    Annotation Queries Linking the Log and Graph Panels
1398  
1399
1400    
1401  </span>
1402  
1403  
1404
1405      </a>
1406    </li>
1407  
1408
1409    
1410      
1411      
1412  
1413  
1414  
1415  
1416    <li class="md-nav__item">
1417      <a href="nginx-alloy/" class="md-nav__link">
1418        
1419  
1420  
1421  <span class="md-ellipsis">
1422    
1423  
1424    Read Nginx Logs with Alloy
1425  
1426
1427    
1428  </span>
1429  
1430  
1431
1432      </a>
1433    </li>
1434  
1435
1436    
1437      
1438      
1439  
1440  
1441  
1442  
1443    <li class="md-nav__item">
1444      <a href="install-prometheus/" class="md-nav__link">
1445        
1446  
1447  
1448  <span class="md-ellipsis">
1449    
1450  
1451    Install Prometheus Service and Data Source
1452  
1453
1454    
1455  </span>
1456  
1457  
1458
1459      </a>
1460    </li>
1461  
1462
1463    
1464      
1465      
1466  
1467  
1468  
1469  
1470    <li class="md-nav__item">
1471      <a href="install-prometheus-dashboard/" class="md-nav__link">
1472        
1473  
1474  
1475  <span class="md-ellipsis">
1476    
1477  
1478    Install Prometheus Dashboard
1479  
1480
1481    
1482  </span>
1483  
1484  
1485
1486      </a>
1487    </li>
1488  
1489
1490    
1491      
1492      
1493  
1494  
1495  
1496  
1497    <li class="md-nav__item">
1498      <a href="grafana-metrics-prom-dashboard/" class="md-nav__link">
1499        
1500  
1501  
1502  <span class="md-ellipsis">
1503    
1504  
1505    Setup Grafana Metrics Prometheus Dashboard
1506  
1507
1508    
1509  </span>
1510  
1511  
1512
1513      </a>
1514    </li>
1515  
1516
1517    
1518      
1519      
1520  
1521  
1522  
1523  
1524    <li class="md-nav__item">
1525      <a href="install-prometheus-node-exporter/" class="md-nav__link">
1526        
1527  
1528  
1529  <span class="md-ellipsis">
1530    
1531  
1532    Install Second Prometheus Node Exporter
1533  
1534
1535    
1536  </span>
1537  
1538  
1539
1540      </a>
1541    </li>
1542  
1543
1544    
1545      
1546      
1547  
1548  
1549  
1550  
1551    <li class="md-nav__item">
1552      <a href="create-zabbix-dashboard/" class="md-nav__link">
1553        
1554  
1555  
1556  <span class="md-ellipsis">
1557    
1558  
1559    Zabbix Data Source
1560  
1561
1562    
1563  </span>
1564  
1565  
1566
1567      </a>
1568    </li>
1569  
1570
1571    
1572      
1573      
1574  
1575  
1576  
1577  
1578    <li class="md-nav__item">
1579      <a href="import-zabbix-dashboards/" class="md-nav__link">
1580        
1581  
1582  
1583  <span class="md-ellipsis">
1584    
1585  
1586    Import Zabbix Dashboards
1587  
1588
1589    
1590  </span>
1591  
1592  
1593
1594      </a>
1595    </li>
1596  
1597
1598    
1599      
1600      
1601  
1602  
1603  
1604  
1605    <li class="md-nav__item">
1606      <a href="dashboard-variables/" class="md-nav__link">
1607        
1608  
1609  
1610  <span class="md-ellipsis">
1611    
1612  
1613    Dashboard Variables
1614  
1615
1616    
1617  </span>
1618  
1619  
1620
1621      </a>
1622    </li>
1623  
1624
1625    
1626      
1627      
1628  
1629  
1630  
1631  
1632    <li class="md-nav__item">
1633      <a href="a-dashboard-variables-example/" class="md-nav__link">
1634        
1635  
1636  
1637  <span class="md-ellipsis">
1638    
1639  
1640    A Dashboard Variables Example
1641  
1642
1643    
1644  </span>
1645  
1646  
1647
1648      </a>
1649    </li>
1650  
1651
1652    
1653      
1654      
1655  
1656  
1657  
1658  
1659    <li class="md-nav__item">
1660      <a href="dynamic-graphs/" class="md-nav__link">
1661        
1662  
1663  
1664  <span class="md-ellipsis">
1665    
1666  
1667    Repeating Timeseries using Dashboard Variables
1668  
1669
1670    
1671  </span>
1672  
1673  
1674
1675      </a>
1676    </li>
1677  
1678
1679    
1680      
1681      
1682  
1683  
1684  
1685  
1686    <li class="md-nav__item">
1687      <a href="microtik-260gs-snmp-dashboard/" class="md-nav__link">
1688        
1689  
1690  
1691  <spa
1691n class="md-ellipsis">
1692    
1693  
1694    MikroTik 260GS SNMP Dashboard
1695  
1696
1697    
1698  </span>
1699  
1700  
1701
1702      </a>
1703    </li>
1704  
1705
1706    
1707      
1708      
1709  
1710  
1711  
1712  
1713    <li class="md-nav__item">
1714      <a href="alert-rule-high-cpu/" class="md-nav__link">
1715        
1716  
1717  
1718  <span class="md-ellipsis">
1719    
1720  
1721    Alerting Rule for High CPU
1722  
1723
1724    
1725  </span>
1726  
1727  
1728
1729      </a>
1730    </li>
1731  
1732
1733    
1734      
1735      
1736  
1737  
1738  
1739  
1740    <li class="md-nav__item">
1741      <a href="alert-rule-node-and-prometheus/" class="md-nav__link">
1742        
1743  
1744  
1745  <span class="md-ellipsis">
1746    
1747  
1748    Alerting Rules for Node Exporter and Prometheus Down
1749  
1750
1751    
1752  </span>
1753  
1754  
1755
1756      </a>
1757    </li>
1758  
1759
1760    
1761      
1762      
1763  
1764  
1765  
1766  
1767    <li class="md-nav__item">
1768      <a href="create-email-alert-notification-channel/" class="md-nav__link">
1769        
1770  
1771  
1772  <span class="md-ellipsis">
1773    
1774  
1775    Create Email Alert Contact Point
1776  
1777
1778    
1779  </span>
1780  
1781  
1782
1783      </a>
1784    </li>
1785  
1786
1787    
1788      
1789      
1790  
1791  
1792  
1793  
1794    <li class="md-nav__item">
1795      <a href="email-alert-template/" class="md-nav__link">
1796        
1797  
1798  
1799  <span class="md-ellipsis">
1800    
1801  
1802    Change Email Alert Template
1803  
1804
1805    
1806  </span>
1807  
1808  
1809
1810      </a>
1811    </li>
1812  
1813
1814    
1815      
1816      
1817  
1818  
1819  
1820  
1821    <li class="md-nav__item">
1822      <a href="telegram-bot/" class="md-nav__link">
1823        
1824  
1825  
1826  <span class="md-ellipsis">
1827    
1828  
1829    Create Telegram Contact Point
1830  
1831
1832    
1833  </span>
1834  
1835  
1836
1837      </a>
1838    </li>
1839  
1840
1841    
1842      
1843      
1844  
1845  
1846  
1847  
1848    <li class="md-nav__item">
1849      <a href="grafana-users/" class="md-nav__link">
1850        
1851  
1852  
1853  <span class="md-ellipsis">
1854    
1855  
1856    Users and Roles
1857  
1858
1859    
1860  </span>
1861  
1862  
1863
1864      </a>
1865    </li>
1866  
1867
1868    
1869      
1870      
1871  
1872  
1873  
1874  
1875    <li class="md-nav__item">
1876      <a href="grafana-teams/" class="md-nav__link">
1877        
1878  
1879  
1880  <span class="md-ellipsis">
1881    
1882  
1883    Teams
1884  
1885
1886    
1887  </span>
1888  
1889  
1890
1891      </a>
1892    </li>
1893  
1894
1895    
1896      
1897      
1898  
1899  
1900  
1901  
1902    <li class="md-nav__item">
1903      <a href="grafana-orgs/" class="md-nav__link">
1904        
1905  
1906  
1907  <span class="md-ellipsis">
1908    
1909  
1910    Organizations
1911  
1912
1913    
1914  </span>
1915  
1916  
1917
1918      </a>
1919    </li>
1920  
1921
1922    
1923      
1924      
1925  
1926  
1927  
1928  
1929    <li class="md-nav__item">
1930      <a href="install-influxdb-datasource/" class="md-nav__link">
1931        
1932  
1933  
1934  <span class="md-ellipsis">
1935    
1936  
1937    Install InfluxDB Data Source
1938  
1939
1940    
1941  </span>
1942  
1943  
1944
1945      </a>
1946    </li>
1947  
1948
1949    
1950      
1951      
1952  
1953  
1954  
1955  
1956    <li class="md-nav__item">
1957      <a href="install-telegraf-agent/" class="md-nav__link">
1958        
1959  
1960  
1961  <span class="md-ellipsis">
1962    
1963  
1964    Install Telegraf and configure for InfluxDB
1965  
1966
1967    
1968  </span>
1969  
1970  
1971
1972      </a>
1973    </li>
1974  
1975
1976    
1977      
1978      
1979  
1980  
1981  
1982  
1983    <li class="md-nav__item">
1984      <a href="install-telegraf-dashboard/" class="md-nav__link">
1985        
1986  
1987  
1988  <span class="md-ellipsis">
1989    
1990  
1991    Create A Dashboard For Linux System Metrics
1992  
1993
1994    
1995  </span>
1996  
1997  
1998
1999      </a>
2000    </li>
2001  
2002
2003    
2004      
2005      
2006  
2007  
2008  
2009  
2010    <li class="md-nav__item">
2011      <a href="install-snmpd-config-telegraf/" class="md-nav__link">
2012        
2013  
2014  
2015  <span class="md-ellipsis">
2016    
2017  
2018    Install SNMP Agent and Configure Telegraf SNMP Input
2019  
2020
2021    
2022  </span>
2023  
2024  
2025
2026      </a>
2027    </li>
2028  
2029
2030    
2031      
2032      
2033  
2034  
2035  
2036  
2037    <li class="md-nav__item">
2038      <a href="install-multiple-snmpd-telegraf/" class="md-nav__link">
2039        
2040  
2041  
2042  <span class="md-ellipsis">
2043    
2044  
2045    Add Multiple SNMP Agents to Telegraf Config
2046  
2047
2048    
2049  </span>
2050  
2051  
2052
2053      </a>
2054    </li>
2055  
2056
2057    
2058      
2059      
2060  
2061  
2062  
2063  
2064    <li class="md-nav__item">
2065      <a href="import-snmp-influxdb-telegraf-dashboard/" class="md-nav__link">
2066        
2067  
2068  
2069  <span class="md-ellipsis">
2070    
2071  
2072    Import an SNMP Dashboard for InfluxDB and Telegraf
2073  
2074
2075    
2076  </span>
2077  
2078  
2079
2080      </a>
2081    </li>
2082  
2083
2084    
2085      
2086      
2087  
2088  
2089  
2090  
2091    <li class="md-nav__item">
2092      <a href="elasticsearch-datasource/" class="md-nav__link">
2093        
2094  
2095  
2096  <span class="md-ellipsis">
2097    
2098  
2099    Elasticsearch Data Source
2100  
2101
2102    
2103  </span>
2104  
2105  
2106
2107      </a>
2108    </li>
2109  
2110
2111    
2112      
2113      
2114  
2115  
2116  
2117  
2118    <li class="md-nav__item">
2119      <a href="elasticsearch-filebeat/" class="md-nav__link">
2120        
2121  
2122  
2123  <span class="md-ellipsis">
2124    
2125  
2126    Elasticsearch Filebeat
2127  
2128
2129    
2130  </span>
2131  
2132  
2133
2134      </a>
2135    </li>
2136  
2137
2138    
2139      
2140      
2141  
2142  
2143  
2144  
2145    <li class="md-nav__item">
2146      <a href="elasticsearch-metricbeat/" class="md-nav__link">
2147        
2148  
2149  
2150  <span class="md-ellipsis">
2151    
2152  
2153    Elasticsearch Metricbeat
2154  
2155
2156    
2157  </span>
2158  
2159  
2160
2161      </a>
2162    </li>
2163  
2164
2165    
2166      
2167      
2168  
2169  
2170  
2171  
2172    <li class="md-nav__item">
2173      <a href="elasticsearch-dashboard/" class="md-nav__link">
2174        
2175  
2176  
2177  <span class="md-ellipsis">
2178    
2179  
2180    Setup an Advanced Elasticsearch Dashboard
2181  
2182
2183    
2184  </span>
2185  
2186  
2187
2188      </a>
2189    </li>
2190  
2191
2192    
2193      
2194      
2195  
2196  
2197  
2198  
2199    <li class="md-nav__item">
2200      <a href="elasticsearch-cluster/" class="md-nav__link">
2201        
2202  
2203  
2204  <span class="md-ellipsis">
2205    
2206  
2207    Elasticsearch Cluster Tutorial
2208  
2209
2210    
2211  </span>
2212  
2213  
2214
2215      </a>
2216    </li>
2217  
2218
2219    
2220      
2221      
2222  
2223  
2224  
2225  
2226    <li class="md-nav__item">
2227      <a href="cisco-switch-zabbix/" class="md-nav__link">
2228        
2229  
2230  
2231  <span class="md-ellipsis">
2232    
2233  
2234    Cisco Switch Dashboard with the Zabbix Data Source
2235  
2236
2237    
2238  </span>
2239  
2240  
2241
2242      </a>
2243    </li>
2244  
2245
2246    
2247      
2248      
2249  
2250  
2251  
2252  
2253    <li class="md-nav__item">
2254      <a href="grafana-agent-flow/" class="md-nav__link">
2255        
2256  
2257  
2258  <span class="md-ellipsis">
2259    
2260  
2261    Grafana Agent Flow
2262  
2263
2264    
2265  </span>
2266  
2267  
2268
2269      </a>
2270    </li>
2271  
2272
2273    
2274      
2275      
2276  
2277  
2278  
2279  
2280    <li class="md-nav__item">
2281      <a href="install-promtail-service/" class="md-nav__link">
2282        
2283  
2284  
2285  <span class="md-ellipsis">
2286    
2287  
2288    Install Promtail Binary and Start as a Service
2289  
2290
2291    
2292  </span>
2293  
2294  
2295
2296      </a>
2297    </li>
2298  
2299
2300    
2301      
2302      
2303  
2304  
2305  
2306  
2307    <li class="md-nav__item">
2308      <a href="install-second-promtail/" class="md-nav__link">
2309        
2310  
2311  
2312  <span class="md-ellipsis">
2313    
2314  
2315    Install a Second Promtail Service
2316  
2317
2318    
2319  </span>
2320  
2321  
2322
2323      </a>
2324    </li>
2325  
2326
2327    
2328      
2329      
2330  
2331  
2332  
2333  
2334    <li class="md-nav__item">
2335      <a href="nginx-promtail/" class="md-nav__link">
2336        
2337  
2338  
2339  <span class="md-ellipsis">
2340    
2341  
2342    Read Nginx Logs with Promtail
2343  
2344
2345    
2346  </span>
2347  
2348  
2349
2350      </a>
2351    </li>
2352  
2353
2354    
2355  </ul>
2356</nav>
2357                  </div>
2358                </div>
2359              </div>
2360            
2361            
2362              
2363              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2364                <div class="md-sidebar__scrollwrap">
2365                  <div class="md-sidebar__inner">
2366                    <!--
2367  Copyright (c) 2016-2025 Martin Donath <[email protected]>
2368
2369  Permission is hereby granted, free of charge, to any person obtaining a copy
2370  of this software and associated documentation files (the "Software"), to
2371  deal in the Software without restriction, including without limitation the
2372  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2373  sell copies of the Software, and to permit persons to whom the Software is
2374  furnished to do so, subject to the following conditions:
2375
2376  The above copyright notice and this permission notice shall be included in
2377  all copies or substantial portions of the Software.
2378
2379  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2380  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2381  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
2382  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2383  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2384  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2385  IN THE SOFTWARE.
2386-->
2387
2388<!-- Determine title -->
2389 
2390
2391<!-- Table of contents -->
2392<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2393  
2394
2395  <!--
2396    Check whether the content starts with a level 1 headline. If it does, the
2397    top-level anchor must be skipped, since it would be redundant to the link
2398    to the current page that is located just above the anchor. Therefore we
2399    directly continue with the children of the anchor.
2400  -->
2401     
2402
2403  <!-- Table of contents title and list -->
2404  
2405  <label class="md-nav__title" for="__toc">
2406    <span class="md-nav__icon md-icon"></span>
2407    Table of contents
2408  </label>
2409  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2410     <li class="md-nav__item">
2411  <a href="#course-access" class="md-nav__link">
2412    <span class="md-ellipsis">
2413      
2414        Course Access
2415      
2416    </span>
2417  </a>
2418  
2419</li>  <li class="md-nav__item">
2420  <a href="#overview" class="md-nav__link">
2421    <span class="md-ellipsis">
2422      
2423        Overview
2424      
2425    </span>
2426  </a>
2427  
2428</li>  <li class="md-nav__item">
2429  <a href="#grafana-introduction-video" class="md-nav__link">
2430    <span class="md-ellipsis">
2431      
2432        Grafana Introduction Video
2433      
2434    </span>
2435  </a>
2436  
2437</li> 
2438  </ul>
2439  
2440  <br />
2441  <label class="md-nav__title"> Other Courses </label>
2442  <div class="md-nav__list" style="margin-top: 10px"><table>
2443  <tr>
2444    <td>
2445      <a href="/genai"><img src="/img/genai-64x36.gif" style="width: 40px" /></a>
2446    </td>
2447    <td><a href="/genai">&nbsp;GenAI with ComfyUI</a></td>
2448  </tr>
2449  <tr>
2450    <td>
2451      <a href="/genai"><img src="/img/iac-64x36.gif" style="width: 40px" /></a>
2452    </td>
2453    <td><a href="/iac">&nbsp;AWS, Terraform, CI/CD</a></td>
2454  </tr>
2455  <tr>
2456    <td>
2457      <a href="/zabbix"><img src="/img/zabbix_course_64x36.gif" style="width: 40px" /></a>
2458    </td>
2459    <td><a href="/zabbix">&nbsp;Zabbix</a></td>
2460  </tr>
2461  <tr>
2462    <td>
2463      <a href="/grafana"><img src="/img/grafana-course_64x36.gif" style="width: 40px" /></a>
2464    </td>
2465    <td><a href="/grafana">&nbsp;Grafana</a></td>
2466  </tr>
2467  <tr>
2468    <td>
2469      <a href="/prometheus"><img src="/img/prometheus-course_64x36.gif" style="width: 40px" /></a>
2470    </td>
2471    <td><a href="/prometheus">&nbsp;Prometheus</a></td>
2472  </tr>
2473  <tr>
2474    <td>
2475      <a href="/react-three-fiber"><img src="/img/react-three-fiber-course-image-64x36.gif" style="width: 40px" /></a>
2476    </td>
2477    <td><a href="/react-three-fiber">&nbsp;React&nbsp;Three&nbsp;Fiber</a></td>
2478  </tr>
2479  <tr>
2480    <td>
2481      <a href="/threejs"><img src="/img/threejs-course-image-64x36.gif" style="width: 40px" /></a>
2482    </td>
2483    <td><a href="/threejs">&nbsp;Threejs&nbsp;and&nbsp;TypeScript</a></td>
2484  </tr>
2485  <tr>
2486    <td>
2487      <a href="/tsl"><img src="/img/tsl-course-image-64x36.gif" style="width: 40px" /></a>
2488    </td>
2489    <td><a href="/tsl">&nbsp;Threejs Shading Language</a></td>
2490  </tr>
2491  <tr>
2492    <td>
2493      <a href="/tssock"><img src="/img/tssock-course_64x36.gif" style="width: 40px" /></a>
2494    </td>
2495    <td><a href="/tssock">&nbsp;SocketIO&nbsp;and&nbsp;TypeScript</a></td>
2496  </tr>
2497  <tr>
2498    <td>
2499      <a href="/topoearth"><img src="/img/topographical-earth-course_64x36.gif" style="width: 40px" /></a>
2500    </td>
2501    <td><a href="/topoearth">&nbsp;Blender&nbsp;Topological&nbsp;Earth</a></td>
2502  </tr>
2503  <tr>
2504    <td>
2505      <a href="/sh3d"><img src="/img/sh3d-course_64x36.gif" style="width: 40px" /></a>
2506    </td>
2507    <td><a href="/sh3d">&nbsp;Sweet&nbsp;Home&nbsp;3D</a></td>
2508  </tr>
2509  <tr>
2510    <td>
2511      <a href="/python"><img src="/img/design_patterns_64x36.gif" style="width: 40px" /></a>
2512    </td>
2513    <td><a href="/python">&nbsp;Design&nbsp;Patterns&nbsp;Python</a></td>
2514  </tr>
2515  <tr>
2516    <td>
2517      <a href="/typescript"><img src="/img/design_patterns-typescript_64x36.gif" style="width: 40px" /></a>
2518    </td>
2519    <td>
2520      <a href="/typescript">&nbsp;Design&nbsp;Patterns&nbsp;TypeScript</a>
2521    </td>
2522  </tr>
2523  <!-- <tr>
2524    <td>
2525      <a href="/ai-receptionist"><img src="/img/simbuster_64x36.gif" style="width: 40px" /></a>
2526    </td>
2527    <td>
2528      <a href="/ai-receptionist">&nbsp;AI Receptionist Tutorials</a>
2529    </td>
2530  </tr> -->
2531  <tr>
2532    <td>&nbsp;</td>
2533    <td>&nbsp;</td>
2534  </tr>
2535  <tr>
2536    <td>
2537      <a href="/coupons"><img src="/img/udemy_logo_64_36.gif" style="width: 40px" /></a>
2538    </td>
2539    <td>
2540      <div class="text-typing">
2541        <p><a href="/coupons">&nbsp;Course Coupon Codes</a></p>
2542      </div>
2543    </td>
2544  </tr>
2545</table></div>
2546
2547  <br />
2548  <label class="md-nav__title"> Books </label>
2549  <div class="md-nav__list" style="margin-top: 10px"><table>
2550  
2551  <!-- <tr>
2552    <td colspan="3" style="font-size: 0.7rem">Observability with Grafana</td>
2553  </tr>
2554  <tr>
2555    <td>
2556      <a href="https://amzn.to/4rxvP4f" target="_blank"> <img src="/img/observability-grafana-116.jpg" /></a>
2557    </td>
2558    <td></td>
2559    <td style="font-size: 0.55rem !important">
2560      <a href="https://amzn.to/4rxvP4f" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
2561      <br />
2562      <a href="https://amzn.to/4rxvP4f" target="_blank"><img src="/img/flag_us.gif" /></a>
2563      <a href="https://amzn.to/4iyMnVw" target="_blank"><img src="/img/flag_uk.gif" /></a>
2564      <br />
2565      <a href="https://amzn.to/443tQdR" target="_blank" style="font-size: 17px; color: #b12704">Kindle</a>
2566      <br />
2567      <a href="https://amzn.to/443tQdR" target="_blank"><img src="/img/flag_us.gif" /></a>
2568      <a href="https://amzn.to/48LIh95" target="_blank"><img src="/img/flag_uk.gif" /></a>
2569    </td>
2570  </tr>
2571  <tr>
2572    <td colspan="3" style="font-size: 0.7rem">End-to-End Observablity with Grafana</td>
2573  </tr>
2574  <tr>
2575    <td>
2576      <a href="https://amzn.to/4aqezrs" target="_blank"> <img src="/img/end-2-end-observability-grafana-116.jpg" /></a>
2577    </td>
2578    <td></td>
2579    <td style="font-size: 0.55rem !important">
2580      <a href="https://amzn.to/4aqezrs" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
2581      <br />
2582      <a href="https://amzn.to/4aqezrs" target="_blank"><img src="/img/flag_us.gif" /></a>
2583      <a href="https://amzn.to/4opGATl" target="_blank"><img src="/img/flag_uk.gif" /></a>
2584      <br />
2585      <a href="https://amzn.to/3KBECBs" target="_blank" style="font-size: 17px; color: #b12704">Kindle</a>
2586      <br />
2587      <a href="https://amzn.to/3KBECBs" target="_blank"><img src="/img/flag_us.gif" /></a>
2588      <a href="https://amzn.to/3K9KuSt" target="_blank"><img src="/img/flag_uk.gif" /></a>
2589    </td>
2590  </tr> -->
2591  
2592  <tr>
2593    <td colspan="3" style="font-size: 0.7rem">Serious Pythonista</td>
2594  </tr>
2595  <tr>
2596    <td>
2597      <a href="https://www.amazon.com/dp/B0GPQFLP19" target="_blank"> <img src="/img/serious_pythonista_116.jpg" /></a>
2598    </td>
2599    <td></td>
2600    <td style="font-size: 0.55rem !important">
2601      <a href="https://amzn.to/47a0s75" target="_blank" style="font-size: 17px; color: #b12704">Kindle Edition</a>
2602      <img src="/img/kindle-unlimited.gif" />
2603      <a href="https://www.amazon.com/dp/B0GPQFLP19" target="_blank" style="font-size: 17px; color: #b12704"
2604        >Paperback</a
2605      >
2606      <br />
2607      <a href="https://www.amazon.com/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_us.gif" /></a>
2608      <a href="https://www.amazon.co.uk/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_uk.gif" /></a>
2609      <a href="https://www.amazon.ie/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_ie.gif" /></a><br />
2610      <a href="https://www.amazon.de/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_de.gif" /></a>
2611      <a href="https://www.amazon.fr/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_fr.gif" /></a>
2612      <a href="https://www.amazon.com.be/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_be.gif" /></a><br />
2613      <a href="https://www.amazon.es/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_es.gif" /></a>
2614      <a href="https://www.amazon.it/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_it.gif" /></a>
2615      <a href="https://www.amazon.nl/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_nl.gif" /></a><br />
2616      <a href="https://www.amazon.se/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_se.gif" /></a>
2617      <a href="https://www.amazon.pl/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_pl.gif" /></a>
2618      <a href="https://www.amazon.co.jp/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_jp.gif" /></a><br />
2619      <a href="https://www.amazon.ca/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_ca.gif" /></a>
2620      <a href="https://www.amazon.com.au/dp/B0GPQFLP19" target="_blank"><img src="/img/flag_au.gif" /></a>
2621    </td>
2622  </tr>
2623
2624  <tr>
2625    <td colspan="3" style="font-size: 0.7rem">Design Patterns in Python</td>
2626  </tr>
2627  <tr>
2628    <td>
2629      <a href="https://amzn.to/3LEOhVd" target="_blank"> <img src="/img/dp_python_116.jpg" /></a>
2630    </td>
2631    <td></td>
2632    <td style="font-size: 0.55rem !important">
2633      <a href="https://amzn.to/466lBN6" target="_blank" style="font-size: 17px; color: #b12704">Kindle Edition</a>
2634      <img src="/img/kindle-unlimited.gif" />
2635      <a href="https://amzn.to/3LEOhVd" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
2636      <br />
2637      <a href="https://amzn.to/3LEOhVd" target="_blank"><img src="/img/flag_us.gif" /></a>
2638      <a href="https://amzn.to/3LxUSAE" target="_blank"><img src="/img/flag_uk.gif" /></a>
2639      <a href="https://www.amazon.in/dp/B08Z282SBC" target="_blank"><img src="/img/flag_in.gif" /></a><br />
2640      <a href="https://amzn.to/48mcObz" target="_blank"><img src="/img/flag_de.gif" /></a>
2641      <a href="https://amzn.to/3ZuulKm" target="_blank"><img src="/img/flag_fr.gif" /></a>
2642      <a href="https://www.amazon.es/dp/B08Z282SBC" target="_blank"><img src="/img/flag_es.gif" /></a><br />
2643      <a href="https://www.amazon.it/dp/B08Z282SBC" target="_blank"><img src="/img/flag_it.gif" /></a>
2644      <a href="https://www.amazon.nl/dp/B08Z282SBC" target="_blank"><img src="/img/flag_nl.gif" /></a>
2645      <a href="https://www.amazon.se/dp/B08XLJ8Z2J" target="_blank"><img src="/img/flag_se.gif" /></a><br />
2646      <a href="https://www.amazon.pl/dp/B08XLJ8Z2J" target="_blank"><img src="/img/flag_pl.gif" /></a>
2647      <a href="https://www.amazon.co.jp/dp/B08Z282SBC" target="_blank"><img src="/img/flag_jp.gif" /></a>
2648      <a href="https://www.amazon.ca/dp/B08Z282SBC" target="_blank"><img src="/img/flag_ca.gif" /></a><br />
2649      <a href="https://www.amazon.com.br/dp/B08Z282SBC" target="_blank"><img src="/img/flag_br.gif" /></a>
2650      <a href="https://www.amazon.com.mx/dp/B08Z282SBC" target="_blank"><img src="/img/flag_mx.gif" /></a>
2651      <a href="https://www.amazon.com.au/dp/B08Z282SBC" target="_blank"><img src="/img/flag_au.gif" /></a>
2652    </td>
2653  </tr>
2654
2655  <tr>
2656    <td colspan="3" style="font-size: 0.7rem">Design Patterns in TypeScript</td>
2657  </tr>
2658  <tr>
2659    <td>
2660      <a href="https://amzn.to/3Ruhu9d" target="_blank"> <img src="/img/dp_typescript_116.jpg" /></a>
2661    </td>
2662    <td></td>
2663    <td style="font-size: 0.55rem !important">
2664      <a href="https://amzn.to/454iFPN" target="_blank" style="font-size: 17px; color: #b12704">Kindle Edition</a>
2665      <img src="/img/kindle-unlimited.gif" />
2666      <a href="https://amzn.to/3Ruhu9d" target="_blank" style="font-size: 17px; color: #b12704">Paperback</a>
2667      <br />
2668      <a href="https://amzn.to/3Ruhu9d" target="_blank"><img src="/img/flag_us.gif" /></a>
2669      <a href="https://amzn.to/3tdz5Ib" target="_blank"><img src="/img/flag_uk.gif" /></a>
2670      <a href="https://www.amazon.in/dp/B094716FD6" target="_blank"><img src="/img/flag_in.gif" /></a><br />
2671      <a href="https://amzn.to/48r6oYq" target="_blank"><img src="/img/flag_de.gif" /></a>
2672      <a href="https://amzn.to/3PxJGFo" target="_blank"><img src="/img/flag_fr.gif" /></a>
2673      <a href="https://www.amazon.es/dp/B094716FD6" target="_blank"><img src="/img/flag_es.gif" /></a><br />
2674      <a href="https://www.amazon.it/dp/B094716FD6" target="_blank"><img src="/img/flag_it.gif" /></a>
2675      <a href="https://www.amazon.nl/dp/B094716FD6" target="_blank"><img src="/img/flag_nl.gif" /></a>
2676      <a href="https://www.amazon.se/dp/B0948BCH24" target="_blank"><img src="/img/flag_se.gif" /></a><br />
2677      <a href="https://www.amazon.pl/dp/B0948BCH24" target="_blank"><img src="/img/flag_pl.gif" /></a>
2678      <a href="https://www.amazon.co.jp/dp/B094716FD6" target="_blank"><img src="/img/flag_jp.gif" /></a>
2679      <a href="https://www.amazon.ca/dp/B094716FD6" target="_blank"><img src="/img/flag_ca.gif" /></a><br />
2680      <a href="https://www.amazon.com.br/dp/B094716FD6" target="_blank"><img src="/img/flag_br.gif" /></a>
2681      <a href="https://www.amazon.com.mx/dp/B094716FD6" target="_blank"><img src="/img/flag_mx.gif" /></a>
2682      <a href="https://www.amazon.com.au/dp/B094716FD6" target="_blank"><img src="/img/flag_au.gif" /></a>
2683    </td>
2684  </tr>
2685
2686  <!-- <tr>
2687    <td colspan="3" style="font-size: 0.7rem">Three.js and TypeScript</td>
2688  </tr>
2689  <tr>
2690    <td>
2691      <a href="https://amzn.to/3FahROZ" target="_blank">
2692        <img src="/img/threejs_typescript_116.jpg"
2693      /></a>
2694    </td>
2695    <td></td>
2696    <td style="font-size: 0.55rem !important">
2697      <a
2698        href="https://amzn.to/46m1JFj"
2699        target="_blank"
2700        style="font-size: 17px; color: #b12704"
2701        >Kindle Edition</a
2702      >
2703      <img src="/img/kindle-unlimited.gif" />
2704      <a
2705        href="https://amzn.to/3FahROZ"
2706        target="_blank"
2707        style="font-size: 17px; color: #b12704"
2708        >Paperback&nbsp;<img src="/img/cmyk.gif"
2709      /></a>
2710      <br />
2711      <a href="https://amzn.to/3FahROZ" target="_blank"
2712        ><img src="/img/flag_us.gif"
2713      /></a>
2714      <a href="https://amzn.to/3t62KTJ" target="_blank"
2715        ><img src="/img/flag_uk.gif"
2716      /></a>
2717      <a href="https://www.amazon.in/dp/B09GYTKRCH" target="_blank"
2718        ><img src="/img/flag_in.gif" /></a
2719      ><br />
2720      <a href="https://amzn.to/3ZrLtk1" target="_blank"
2721        ><img src="/img/flag_de.gif"
2722      /></a>
2723      <a href="https://amzn.to/3PwIpOR" target="_blank"
2724        ><img src="/img/flag_fr.gif"
2725      /></a>
2726      <a href="https://www.amazon.es/dp/B09GYTKRCH" target="_blank"
2727        ><img src="/img/flag_es.gif" /></a
2728      ><br />
2729      <a href="https://www.amazon.it/dp/B09GYTKRCH" target="_blank"
2730        ><img src="/img/flag_it.gif"
2731      /></a>
2732      <a href="https://www.amazon.nl/dp/B09GYTKRCH" target="_blank"
2733        ><img src="/img/flag_nl.gif"
2734      /></a>
2735      <a href="https://www.amazon.se/dp/B09GZM9KGJ" target="_blank"
2736        ><img src="/img/flag_se.gif" /></a
2737      ><br />
2738      <a href="https://www.amazon.pl/dp/B09GZM9KGJ" target="_blank"
2739        ><img src="/img/flag_pl.gif"
2740      /></a>
2741      <a href="https://www.amazon.co.jp/dp/B09GYTKRCH" target="_blank"
2742        ><img src="/img/flag_jp.gif"
2743      /></a>
2744      <a href="https://www.amazon.ca/dp/B09GYTKRCH" target="_blank"
2745        ><img src="/img/flag_ca.gif" /></a
2746      ><br />
2747      <a href="https://www.amazon.com.br/dp/B09GYTKRCH" target="_blank"
2748        ><img src="/img/flag_br.gif"
2749      /></a>
2750      <a href="https://www.amazon.com.mx/dp/B09GYTKRCH" target="_blank"
2751        ><img src="/img/flag_mx.gif"
2752      /></a>
2753      <a href="https://www.amazon.com.au/dp/B09GYTKRCH" target="_blank"
2754        ><img src="/img/flag_au.gif"
2755      /></a>
2756    </td>
2757  </tr> -->
2758</table></div>
2759</nav>
2760                  </div>
2761                </div>
2762              </div>
2763            
2764          
2765          
2766            <div class="md-content" data-md-component="content">
2767              
2768              <article class="md-content__inner md-typeset">
2769                
2770                  
2771  
2772<div id="ad-container"></div>
2773<script>
2774  document.querySelector('[data-md-component="announce"]').style.display = 'none'
2775
2776  async function loadAd() {
2777    try {
2778      const response = await fetch('/api/ad/grafana')
2779
2780      if (!response.ok) {
2781        throw new Error(`HTTP error! Status: ${response.status}`)
2782      }
2783
2784      const ad = await response.json()
2785
2786      if (ad.active) {
2787        const adDiv = document.createElement('div')
2788
2789        if (ad.type === 'text') {
2790          adDiv.innerHTML = `
2791          <div style="position: relative; width: 100%; height: 93px; border: 1px solid #666; margin-bottom: 20px; background-color: ${ad.bgColor};">
2792            <div style="position: absolute; left: 4px; top: 4px;"><a href="${ad.url}" target="_blank" rel="noopener noreferrer"><img src="${ad.logo}" style="border-radius:50%;"/></a></div>
2793            <div style="position: absolute; left: 40px; top: 0px;"><a href="${ad.url}" target="_blank" rel="noopener noreferrer" style="font-size: 14px; color: white; text-decoration: none;">${ad.company}</a></div>
2794            <div style="position: absolute; left: 40px; top: 22px; right: 4px;"><a href="${ad.url}" target="_blank" rel="noopener noreferrer" style="display: block; width: 100%; font-size: 12px; color: #888888; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">${ad.url}</a></div>
2795            <div style="position: absolute; left: 4px; top: 39px; right: 4px;"><a href="${ad.url}" target="_blank" rel="noopener noreferrer" style="display: block; width: 100%; font-size: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">${ad.title}</a></div>
2796            <div style="position: absolute; left: 4px; top:68px; right: 4px;"><span style="color:white;display: block; width: 100%; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">${ad.description}</span></div>
2797            <div style="position: absolute; text-align: right; right: 0px; bottom: -20px;"><a href="/advertise" style="font-size: 11px; color: #888888">Advertise Here</a></div>
2798          </div>
2799        `
2800        } else {
2801          adDiv.innerHTML = `
2802          <div style="width: 100%; text-align: right">
2803            <a href="${ad.url}" target="_blank" rel="noopener noreferrer"><img src="${ad.image}" style="width: 100%; display: block"/></a>
2804            <a href="/advertise" style="display: block; font-size: 11px; color: #888888">Advertise Here</a>
2805          </div>
2806        `
2807        }
2808
2809        document.getElementById('ad-container').appendChild(adDiv)
2810        document.querySelector('[data-md-component="announce"]').style.display = 'block'
2811      }
2812    } catch (error) {
2813      console.error('Failed to load ad:', error)
2814    }
2815  }
2816
2817  loadAd()
2818</script>
2818
2819<h1 id="grafana-tutorials">Grafana Tutorials</h1>
2820<p>Welcome to my course on Grafana</p>
2821<p>Grafana is the leading open source tool for visualizing metrics, time series data and application analytics.</p>
2822<p>The tutorials in this documentation supplement my Grafana Course on <a href="https://www.udemy.com/course/grafana-tutorial/?referralCode=EB3CEAA919F32F07B898" target="_blank">Udemy</a> and <a href="https://www.youtube.com/playlist?list=PLKWUX7aMnlELvU9_qEeqkqBDFzWOc5iju" target="_blank">YouTube</a></p>
2823<table>
2824    <tr id="udemyVideoLink">
2825        <td> 
2826            <a href="https://www.udemy.com/course/grafana-tutorial/?referralCode=EB3CEAA919F32F07B898" target="_blank"><img src="/img/udemy_btn.png" title="Udemy"/></a> 
2827        </td>
2828        <td> 
2829            <b>✔ NEW STUDENT DISCOUNT<br/>✔ One Time Payment per Course<br/>✔ Full Lifetime Access <br/>✔ Certificate of Completion<br/>✔ 30 Day Money-Back Guarantee</b>
2830            <br/>
2831            <a href="https://www.udemy.com/course/grafana-tutorial/?referralCode=EB3CEAA919F32F07B898" target="_blank" style="width:100%; color:white; background-color:#303030; display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; border: 1px solid transparent; padding: 6px 12px; font-size: 14px; border-radius: 4px;" onmouseover="this.style.backgroundColor='#606060'" onmouseout="this.style.backgroundColor='#303030'" >Click Here to Register at Udemy</a>
2832        </td>
2833    </tr>
2834    <tr id="ytVideoLink">
2835        <td> 
2836            <a href="https://www.youtube.com/playlist?list=PLKWUX7aMnlELvU9_qEeqkqBDFzWOc5iju" target="_blank"><img src="/img/youtube_btn.png" title="YouTube"/></a> </td>
2837            <td> <b>* Access To All Of My Other Courses Included<br/>* Loyalty Badges<br/>* Cheapest Option<br/>* Cancel Subscription Any Time<br/></b>
2838            <a href="https://www.youtube.com/playlist?list=PLKWUX7aMnlELvU9_qEeqkqBDFzWOc5iju" target="_blank" style="width:100%; color:white; background-color:#303030; display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; border: 1px solid transparent; padding: 6px 12px; font-size: 14px; border-radius: 4px;" onmouseover="this.style.backgroundColor='#606060'" onmouseout="this.style.backgroundColor='#303030'" >Click Here to Register at YouTube</a>
2839        </td>
2840    </tr>
2841</table>
2842
2843<h2 id="course-access">Course Access</h2>
2844<p>There are 2 possible ways to access the video content in this course.</p>
2845<ol>
2846<li>Udemy : <a href="https://www.udemy.com/course/grafana-tutorial/?referralCode=EB3CEAA919F32F07B898" target="_blank">https://www.udemy.com/course/grafana-tutorial</a></li>
2847<li>YouTube Membership : <a href="https://www.youtube.com/@sbcode/join" target="_blank">https://www.youtube.com/@sbcode/join</a>
2848 <!-- 3. Pay Per View option in each individual section. -->
2849</li>
2850</ol>
2851<!-- prettier-ignore -->
2852<div class="admonition tip">
2853<p class="admonition-title">Tip</p>
2854<p>Get <strong>Udemy Discount Coupons</strong> at <a href="https://sbcode.net/coupons">https://sbcode.net/coupons</a></p>
2855</div>
2856<h2 id="overview">Overview</h2>
2857<p>I demonstrate many things in this course, with all the example commands provided for you to easily copy and paste.</p>
2858<p>This is a "learn by example" course, where I demonstrate all the concepts discussed so that you can see them working, and you can try them out for yourself as well.</p>
2859<p>With this course, comes accompanying documentation that you can access for free. You will then be able to match what you see in the videos and copy/paste directly from my documentation and see the same result.</p>
2860<p>In this course we will,</p>
2861<ul>
2862<li>Install Grafana from Packages</li>
2863<li>Create a domain name, install an SSL certificate and change the default port</li>
2864<li>Explore the Graph, Stat, Gauge, Bar Gauge, Table, Text, Heatmap and L
2864ogs Panels</li>
2865<li>Create many types of Data Sources from MySQL, Zabbix, InfluxDB, Prometheus, Loki and Elasticsearch</li>
2866<li>We will configure their various collection processes such as MySQL Event Scheduler, Telegraf, Node Exporters, SNMP agents, Alloy and Beats</li>
2867<li>We will look at graphing Time Series data versus Non-Time Series data</li>
2868<li>We will also install dashboards for each of the Data Sources, experimenting with community created dashboards plus experimenting with our own</li>
2869<li>We will monitor SNMP Devices using Telegraf Agent and InfluxDB Data Sources</li>
2870<li>We will create Annotation Queries and link the Log and Graphs panels together</li>
2871<li>We will look at Dynamic Dashboard Variables, Dynamic Tables and Graphs</li>
2872<li>We will look at creating Value Groups/Tags and how to use them with different kinds of data sources</li>
2873<li>We will set up Alerting Channel/Contact Points and understand the different alerting options, configure an example to detect offline SNMP devices and demonstrate receiving email alerts via an SMTP server</li>
2874</ul>
2875<p>At the end of the course, you will have your own dedicated working Grafana Server, which will be in the cloud, with SSL, a domain name, with many example Data Sources and collectors configured, that you can call your own, ready for you to take it to the next level.</p>
2876<p>Once again, this is a "learn by example" course, with all the example commands available for you to copy and paste. I demonstrate them working, and you will be able to do that to.</p>
2877<p>You are now ready to continue.</p>
2878<p>Thanks for taking part in my course, and I'll see you there.</p>
2879<h2 id="grafana-introduction-video">Grafana Introduction Video</h2>
2880<div class="play-video">
2881    <a href="https://www.youtube.com/watch?v=ykydyahNtxE&list=PLKWUX7aMnlELvU9_qEeqkqBDFzWOc5iju&index=1" target="_blank"><img alt="Grafana Introduction Video" src="/img/grafana-course.gif"></a>
2882    <div class="play-dot">
2883        <div class="play-arrow"></div>
2884    </div>
2885</div> 
2886
2887
2888
2889
2890
2891
2892 
2893
2894 
2895                
2896              </article>
2897            </div>
2898          
2899          
2900<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2900
2901        </div>
2902        
2903      </main>
2904      
2905        <footer class="md-footer">
2906  
2907    
2908      
2909      <nav class="md-footer__inner md-grid" aria-label="Footer" >
2910        
2911        
2912          
2913          <a href="install-provision-linux/" class="md-footer__link md-footer__link--next" aria-label="Next: Provision a Server to Install Grafana">
2914            <div class="md-footer__title">
2915              <span class="md-footer__direction">
2916                Next
2917              </span>
2918              <div class="md-ellipsis">
2919                Provision a Server to Install Grafana
2920              </div>
2921            </div>
2922            <div class="md-footer__button md-icon">
2923              
2924              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
2925            </div>
2926          </a>
2927        
2928      </nav>
2929    
2930  
2931  <div class="md-footer-meta md-typeset">
2932    <div class="md-footer-meta__inner md-grid">
2933      <div class="md-copyright">
2934  
2935    <div class="md-copyright__highlight">
2936      Copyright &copy; 2019-2025 Sean Bradley
2937    </div>
2938  
2939  
2940    Made with
2941    <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2942      Material for MkDocs
2943    </a>
2944  
2945</div>
2946      
2947    </div>
2948  </div>
2949</footer>
2950      
2951    </div>
2952    <div class="md-dialog" data-md-component="dialog">
2953      <div class="md-dialog__inner md-typeset"></div>
2954    </div>
2955    
2956    
2957    
2958      
2959      
2960      
2960<script id="__config" type="application/json">{"annotate": null, "base": ".", "features": ["navigation.footer", "content.code.copy", "content.code.annotate"], "search": "assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
2960
2961    
2962     
2963      
2963<script src="assets/javascripts/bundle.79ae519e.min.js"></script>
2963
2964      
2965        
2965<script src="js/extra.js"></script>
2965
2966      
2967    
2968<script src="assets/javascripts/custom.95054b18.min.js"></script>
2968
2969
2970  
2970<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4422393f9f0b97d',t:'MTc5MDkyNzY2NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
2970<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"c7f5b5dd5e1948d4b17fd447a20513ab","r":1,"spa":2}' crossorigin="anonymous"></script>
2970
2971</body>
2972</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.