This project focuses on designing and implementing an advanced network monitoring and observability platform using Kubernetes, Docker, Grafana, Zabbix, PFSense, and complementary technologies to provide real-time infrastructure visibility.
- Overview
- Solution Architecture
- Technologies Used
- Key Features
- Infrastructure Topology
- Setup & Deployment
- Dashboards & Metrics
- Improvements & Next Steps
- Author
The goal of this project was to build a robust, scalable, and automated platform for real-time network monitoring and analysis, enabling:
- Centralized visibility of network, servers, and container health
- Automated anomaly detection using predictive alerts
- Intuitive visualization with custom Grafana dashboards
- Integration with Zabbix to reduce manual intervention
The platform was designed with a microservices-based architecture for scalability and resilience:
-
Kubernetes orchestrates containers and ensures high availability
-
Docker packages individual services
-
Zabbix Server + Agents collect metrics and forward data centrally
-
Grafana consumes data from Zabbix and provides interactive dashboards
-
PFSense acts as a firewall and router for segmentation and security
ββββββββββββββββββ β Users β ββββββββ¬ββββββββββ β ββββββββΌββββββββ β Grafana β ββββββββ¬ββββββββ β ββββββββΌβββββββββ β Zabbix β β (Server) β ββββββββ¬βββββββββ β
ββββββββββΌββββββββββ β Agents / Hosts β ββββββββββββββββββββ
Category | Tools |
---|---|
Orchestration | Kubernetes, Docker |
Monitoring | Zabbix, Grafana |
Security / Network | PFSense |
Languages | Python, Shell Script |
Infrastructure | Linux (Debian/Ubuntu) |
- π Real-time observability with Grafana and Zabbix
- π Automated alerting using triggers and escalation workflows
- π§ Scalable architecture leveraging Kubernetes and microservices
- π Optimized performance, reducing manual intervention by 60%
- π‘οΈ Enhanced infrastructure visibility for proactive network defense
A simplified view of the testing environment topology:
Category | Tools |
---|---|
Orchestration | Kubernetes, Docker |
Monitoring | Zabbix, Grafana |
Security / Network | PFSense |
Languages | Python, Shell Script |
Infrastructure | Linux (Debian/Ubuntu) |
- π Real-time observability with Grafana and Zabbix
- π Automated alerting using triggers and escalation workflows
- π§ Scalable architecture leveraging Kubernetes and microservices
- π Optimized performance, reducing manual intervention by 60%
- π‘οΈ Enhanced infrastructure visibility for proactive network defense
A simplified view of the testing environment topology:
[Internet] | [ PFSense ] | [ Kubernetes Cluster ] βββ Zabbix Server βββ Grafana Dashboard βββ Agents (Nodes) βββ App Containers
β οΈ Since this is an older project, the original deployment files are no longer available. The following is a reconstructed setup guide for reference.
# Update packages
sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com | sh
# Follow official documentation to install kubeadm, kubectl, and kubelet
sudo kubeadm init
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
helm repo add zabbix https://zabbix.github.io/charts/
helm install monitoring zabbix/zabbix
helm install grafana grafana/grafana
Import Zabbix templates for hosts and services
Connect Grafana to the Zabbix data source
Import custom JSON dashboards
π Dashboards & Metrics
The dashboards include:
UTC time and overall status
Zabbix cluster health
Detected problems by severity
Real-time CPU and memory usage
TPS and network traffic
Value cache metrics and anomaly detection
π€ Author
This project was developed as part of a network monitoring and observability lab for study and practical implementation purposes.
π LinkedIn | GitHub