- Observability & Monitoring
- Metrics
- Timeseries Databases
- Configuring Prometheus
- Scrape Config
- Recording Rules
- Alerting Rules
- Download and run Prometheus locally or in a Docker container
- Prometheus metrics
- Types
- Counters
- Gauges
- Histograms
- Summary
- PromQL syntax & operators
- Instant Vector vs Range Vectors
- PromQL functions
- Querying prometheus using the HTTP API
- Install Prometheus using Helm & access Prometheus using kubectl port-forward.
- Write a query to find cpu usage
- Write a query to find memory usage
- Instrumentation
- Client libraries
- Go
- Scala/Java
- Python
- Ruby
- PushGateway
- Exporters
- Write a Go program to expose Prometheus metrics using the Go client
- Running Grafana
- Dashboards
- DataSources
- Notification Channels & alerts
- Configuration
- Provisioning
- Deploy Grafana and add a Prometheus instance as a datasource
- Create a Slack webhook and add it as a notification channel in Grafana
- Provision a datasource on Grafana startup
- Creating Dashboards
- Query editor
- Query inspector
- Panel Types (Graphs, Singlestats, ...)
- Template variables
- Exporting and importing dashboards
- Create a dashboard with multiple panels showing memory, cpu usage
- Export a dashboard as json and import it into another Grafana instance
- Provision a dashboard on Grafana startup