-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
75 lines (75 loc) · 17 KB
/
index.html
File metadata and controls
75 lines (75 loc) · 17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!doctype html><html lang=en-us><head><meta http-equiv=content-type content="text/html" charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge,chrome=1"><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/omarghader.github.io\/"},"articleSection":"","headline":"","name":"","description":"Monitoring, DevOps and SmartHome","inLanguage":"en-US","author":{"@type":"Person","name":"Omar Ghader"},"creator":{"@type":"Person","name":"Omar Ghader"},"publisher":{"@type":"Organization","name":"Omar Ghader","logo":{"@type":"ImageObject","url":"https:\/\/omarghader.github.io\/img/logo.png"}},"accountablePerson":{"@type":"Person","name":"Omar Ghader"},"copyrightHolder":{"@type":"Person","name":"Omar Ghader"},"copyrightYear":"2025","datePublished":"2025-10-21T00:00:00Z","dateModified":"2025-10-21T00:00:00Z","url":"https:\/\/omarghader.github.io\/","wordCount":"0","image":"https:\/\/omarghader.github.io\/img/logo.png","keywords":["omar ghader","marc ghader","devops","monitoring","docker","prometheus","smarthome",""]}</script><script>window.addEventListener("load",function(){var b=window._mtm=window._mtm||[],a;b.push({'mtm.startTime':(new Date).getTime(),event:'mtm.Start'}),a=document.createElement('script'),a.async=!0,a.src="https://omarghader.com/matomo/js/container_JgixlzJl.js",document.head.appendChild(a)})</script><title>Omar Ghader</title><meta name=HandheldFriendly content="True"><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=https://omarghader.github.io/favicon.ico><link rel=canonical href=https://omarghader.github.io/><link rel=alternate type=application/rss+xml href=https://omarghader.github.io/index.xml title><meta name=description content="Monitoring, DevOps and SmartHome"><meta name=twitter:card content="summary"><meta name=twitter:image content="https://omarghader.github.io/img/blog-cover.jpg"><meta name=twitter:title content><meta name=twitter:description content="Monitoring, DevOps and SmartHome"><meta name=twitter:url content="https://omarghader.github.io/"><meta name=twitter:site content="@"><meta property="og:site_name" content><meta property="og:title" content=" · Omar Ghader"><meta property="og:url" content="https://omarghader.github.io/"><meta property="og:type" content="website"><meta property="og:description" content="Monitoring, DevOps and SmartHome"><meta property="og:image" content="https://omarghader.github.io/img/blog-cover.jpg"><meta name=generator content="Hugo 0.85.0"><link rel=stylesheet type=text/css href=https://omarghader.github.io/built/screen.css><link rel=stylesheet type=text/css href=https://omarghader.github.io/css/casper-two.css><link rel=stylesheet href=//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css><link rel=stylesheet href=https://omarghader.github.io/css/custom.css></head><body class=home-template><div class=site-wrapper><header class="site-header outer" style=background-image:url(https://omarghader.github.io/img/blog-cover.jpg)><div class=inner><div class=site-header-content style=flex-direction:row><div style=flex:3><h1 class=site-title>Omar Ghader</h1><h2 class=site-description>From DevOps to SmartHomes: How Monitoring Powers Reliability</h2></div><div style=flex:1><img src=https://omarghader.github.io/img/me/omar.jpg alt="Omar Ghader" width=auto height=auto></div></div><nav class=site-nav><div class=site-nav-left><ul class=nav role=menu><li class=nav-current role=menuitem><a href=https://omarghader.github.io/ target>Home</a></li><li role=menuitem><a href=https://omarghader.github.io/about target>About</a></li><li role=menuitem><a href=https://www.linkedin.com/in/marc-ghader/ target=_blank>Contact</a></li><li role=menuitem><a href=https://eepurl.com/h6jxnr target=_blank>Newsletter</a></li></ul></div><div class=site-nav-right><div class=social-links><a class=social-link href=https://github.com/omarghader target=_blank rel=noopener><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 .297c-6.63.0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577.0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93.0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176.0.0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22.0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22.0 1.606-.015 2.896-.015 3.286.0.315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a></div></div></nav></div></header><main id=site-main class="site-main outer" role=main><div class=inner><div class=post-feed><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/automate-air-purifier-esp32-home-assistant-aqi/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/7.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/automate-air-purifier-esp32-home-assistant-aqi/><header class=post-card-header><span class=post-card-tags>#home assistant
#esp32
#air quality
#automation
#esphome
#aqi
#smart home</span><h2 class=post-card-title>Control and Automate Air Purifier with ESP32 and Home Assistant Air Quality Index</h2></header><section class=post-card-excerpt><p>Learn how to read the Home Assistant Air Quality Index and automatically control an air purifier using an ESP32 relay for a smarter, healthier home.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/prometheus-labels-relabeling-clean-metrics-guide/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/4.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/prometheus-labels-relabeling-clean-metrics-guide/><header class=post-card-header><span class=post-card-tags>#prometheus
#monitoring
#observability
#devops
#metrics
#labels
#relabeling</span><h2 class=post-card-title>Using Labels and Relabeling in Prometheus for Clean, Scalable Metrics</h2></header><section class=post-card-excerpt><p>Learn how to use Prometheus labels and relabeling rules to organize, filter, and manage your metrics for a cleaner, more scalable monitoring setup.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/esp32-ultrasonic-room-occupancy-tracker/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/2.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/esp32-ultrasonic-room-occupancy-tracker/><header class=post-card-header><span class=post-card-tags>#esp32
#home automation
#room occupancy
#ultrasonic sensor
#esphome
#mqtt
#smart home
#diy</span><h2 class=post-card-title>Build a Room Occupancy Tracker with ESP32 and Ultrasonic Sensors</h2></header><section class=post-card-excerpt><p>Step-by-step guide to building a DIY room occupancy tracker using an ESP32 and HC-SR04 ultrasonic sensor for smart home automation.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/prometheus-remote-write-victoriametrics-setup/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/2.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/prometheus-remote-write-victoriametrics-setup/><header class=post-card-header><span class=post-card-tags>#prometheus
#victoriametrics
#monitoring
#devops
#observability
#time-series
#metrics</span><h2 class=post-card-title>How to Set Up Prometheus Remote Write to Push Metrics to VictoriaMetrics</h2></header><section class=post-card-excerpt><p>Step-by-step tutorial to configure Prometheus remote write for pushing metrics to VictoriaMetrics for centralized, long-term storage and scalable monitoring.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/esp32-rotary-encoder-smart-light-dimmer-home-assistant/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/7.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/esp32-rotary-encoder-smart-light-dimmer-home-assistant/><header class=post-card-header><span class=post-card-tags>#ESP32
#Home Assistant
#Rotary Encoder
#DIY Smart Home
#ESPHome
#MQTT
#Automation</span><h2 class=post-card-title>Build a Smart Light Dimmer with ESP32 and a Rotary Encoder in Home Assistant</h2></header><section class=post-card-excerpt><p>Step-by-step guide to creating a physical smart light dimmer with an ESP32 rotary encoder that syncs perfectly with Home Assistant light controls.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/visualizing-time-series-data-grafana-transform-threshold-tools/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/4.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/visualizing-time-series-data-grafana-transform-threshold-tools/><header class=post-card-header><span class=post-card-tags>#grafana
#time-series
#data-visualization
#observability
#smart-home
#tutorial</span><h2 class=post-card-title>Visualizing Time Series Data Using Grafana’s Transform and Threshold Tools</h2></header><section class=post-card-excerpt><p>Learn to reshape, filter, and color time series data in Grafana using transform operations and threshold tools for clearer insights in home automation and observability.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/esp32-ble-beacon-scanner-presence-detection-home-assistant/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/7.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/esp32-ble-beacon-scanner-presence-detection-home-assistant/><header class=post-card-header><span class=post-card-tags>#esp32
#ble
#presence detection
#home assistant
#bluetooth
#automation
#esphome
#diy smart home</span><h2 class=post-card-title>Turn ESP32 Into a BLE Beacon Scanner for Presence Detection in Home Assistant</h2></header><section class=post-card-excerpt><p>Learn how to build an ESP32 BLE beacon scanner for reliable room-level presence detection in Home Assistant using ESPHome. Perfect for smart home automations.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/grafana-machine-learning-anomaly-detection-tutorial/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/4.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/grafana-machine-learning-anomaly-detection-tutorial/><header class=post-card-header><span class=post-card-tags>#grafana
#machine-learning
#anomaly-detection
#prometheus
#victoriametrics
#observability
#devops
#tutorial</span><h2 class=post-card-title>Detect Outliers in Your Metrics: A Practical Guide to Grafana Machine Learning</h2></header><section class=post-card-excerpt><p>Learn how to use Grafana’s Machine Learning plugin to automatically detect anomalies in your Prometheus or VictoriaMetrics time series data. A hands-on tutorial.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/control-smart-fan-esp32-home-assistant-temperature-triggers/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/7.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/control-smart-fan-esp32-home-assistant-temperature-triggers/><header class=post-card-header><span class=post-card-tags>#ESP32
#Home Assistant
#ESPHome
#Smart Home
#Automation
#Temperature Control
#DIY</span><h2 class=post-card-title>Control a Smart Fan with ESP32 and Home Assistant Using Temperature Triggers</h2></header><section class=post-card-excerpt><p>Learn how to build a smart fan system that automatically turns on based on room temperature using ESP32, ESPHome, and Home Assistant automation.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article><article class="post-card post"><a class=post-card-image-link href=https://omarghader.github.io/monitor-home-internet-speed-prometheus-speedtest-exporter/><div class=post-card-image style=background-image:url(https://omarghader.github.io/defimg/3.jpg)></div></a><div class=post-card-content><a class=post-card-content-link href=https://omarghader.github.io/monitor-home-internet-speed-prometheus-speedtest-exporter/><header class=post-card-header><span class=post-card-tags>#prometheus
#grafana
#speedtest
#home automation
#monitoring
#self-hosted
#docker</span><h2 class=post-card-title>Monitor Home Internet Speed Automatically with Prometheus and Speedtest Exporter</h2></header><section class=post-card-excerpt><p>Step-by-step tutorial to automatically track home internet speed trends and downtime using Prometheus, Speedtest Exporter, and Grafana with visual alerts.</p></section></a><footer class=post-card-meta><img class=author-profile-image src=https://omarghader.github.io/img/me/omar.jpg alt=Author>
<span class=post-card-author><a href=https://omarghader.github.io/>Omar Ghader</a></span></footer></div></article></div><nav class=pagination role=navigation><span class=page-number><span class=hide>Page 1 of 7</span> </span>
<a class=older-posts href=https://omarghader.github.io/page/2/><span class=hide>Previous Posts</span> →</a></nav></div></main><footer class="site-footer outer"><div class="site-footer-content inner"><section class=copyright style=line-height:1.3em><a href=https://omarghader.github.io/>omarghader</a><br></section><nav class=site-footer-nav><a href=https://omarghader.github.io/>Latest Posts</a>
<a href=https://github.com/omarghader target=_blank rel=noopener>Github</a></nav></div></footer></div><script type=text/javascript src=//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js></script><script type=text/javascript src=//code.jquery.com/jquery-3.2.1.min.js></script><script type=text/javascript src=https://omarghader.github.io/js/jquery.fitvids.js></script><script>hljs.initHighlightingOnLoad()</script><script>window.addEventListener("load",function(){var a=document.createElement("script");a.src="https://www.googletagmanager.com/gtag/js?id=G-SMB08YT14H",a.async=!0,document.head.appendChild(a),a.onload=function(){window.dataLayer=window.dataLayer||[];function a(){dataLayer.push(arguments)}a("js",new Date),a("config","G-SMB08YT14H")}})</script></body></html>