Course Outline
Introduction to Open Source Network Monitoring
- The evolution of network monitoring: From SNMP to modern telemetry
- Concerns regarding vendor lock-in in commercial monitoring solutions
- Overview of the open-source monitoring landscape
- LibreNMS vs Zabbix: Selecting the appropriate platform
- Strategies for hybrid and complementary monitoring
LibreNMS Architecture and Installation
- Overview of LibreNMS architecture and its components
- Installation methods: Manual setup versus Docker deployment
- Database configuration (MySQL/MariaDB)
- Web server setup (Apache/Nginx with PHP-FPM)
- Configuration and tuning of RRDtool
- Initial configuration and system validation
Zabbix Architecture and Installation
- Zabbix architecture: server, proxy, agent, and frontend components
- Installation options: Packages, Docker, and source compilation
- Database setup and optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuration of the server and frontend
- Navigating the initial setup wizard
- Scalability considerations from the outset
Device Discovery and Inventory
- Automatic network discovery within LibreNMS
- Zabbix network discovery and automatic registration
- SNMP versions and security protocols (v1, v2c, v3)
- Device classification and grouping methodologies
- Management of locations and contact information
- Import, export, and bulk configuration capabilities
SNMP Monitoring Deep Dive
- Fundamentals of the SNMP protocol and MIBs
- Configuring SNMP on network devices (routers, switches, firewalls)
- Monitoring custom OIDs and polling strategies
- SNMPv3 security features: authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Vendor-specific considerations for SNMP
Agent-Based Monitoring
- Installation and configuration of the Zabbix agent
- Zabbix agent 2: The next-generation Go-based agent
- LibreNMS agent and check_mk integration
- Utilizing custom scripts and user parameters
- Differences between passive and active agent modes
- Scalable deployment of agents using Ansible, Puppet, or Chef
Windows and Linux Server Monitoring
- Monitoring Windows performance counters and services
- Tracking Linux system metrics: CPU, memory, disk, and network
- Monitoring processes and services
- Log file monitoring and parsing techniques
- JVM and application-level monitoring
- Container monitoring for Docker and Kubernetes environments
Network Equipment Monitoring
- Switch monitoring: port status, VLANs, STP, and MAC tables
- Router monitoring: BGP, OSPF, and routing tables
- Firewall monitoring: sessions, throughput, and rule hits
- Monitoring wireless access points
- Environmental monitoring: temperature, power supply, and UPS status
- Tracking interface utilization and errors
Virtualization and Cloud Monitoring
- Integrating VMware vSphere monitoring
- Proxmox VE monitoring capabilities
- Hyper-V monitoring strategies
- Utilizing APIs for AWS, Azure, and GCP cloud monitoring
- OpenStack monitoring solutions
- Monitoring container orchestration platforms
Item Types and Data Collection
- Zabbix item types: Zabbix agent, SNMP, IPMI, JMX, SSH, Telnet
- Calculating and aggregating items
- Dependent items and preprocessing techniques
- LibreNMS poller modules and OS discovery mechanisms
- Custom data collection methods
- Understanding data types and units
Alerting and Triggers
- Zabbix trigger expressions and functional logic
- Managing trigger dependencies and event correlation
- LibreNMS alert rules and transport mechanisms
- Notification channels: email, SMS, Slack, PagerDuty, and webhooks
- Establishing escalation and acknowledgment workflows
- Configuring maintenance windows and scheduled downtime
Dashboards and Visualization
- Navigating Zabbix dashboards and screens
- Creating graph widgets and network maps
- Customizing LibreNMS dashboards
- Creating custom graphs and applying templates
- Generating network topology maps via discovery
- Integrating Grafana for advanced visualization needs
Reporting and Analytics
- Generating SLA and availability reports
- Producing capacity planning reports
- Creating custom reports
- Scheduling report delivery
- Analyzing trends and forecasting future states
- Automating reports via API integration
Distributed and High-Availability Monitoring
- Deploying Zabbix proxies for remote sites
- Implementing Zabbix server clustering and high availability (HA)
- Setting up LibreNMS distributed pollers
- Balancing loads across multiple pollers
- Strategies for geographic distribution
- Database replication and clustering techniques
Performance Optimization
- Optimizing and tuning the database
- Enhancing poller performance with concurrent checks
- Optimizing history and trend storage
- Establishing housekeeping and data retention policies
- Implementing caching strategies
- Guidelines for hardware sizing and scaling
Security and Access Control
- User authentication via LDAP, SAML, and MFA integration
- Configuring role-based access control (RBAC)
- Managing permissions for host groups and templates
- Securing API access and managing tokens
- Audit logging and compliance requirements
- Ensuring secure communications via TLS/SSL
Automation and Integration
- Utilizing the Zabbix API and scripting capabilities
- Leveraging LibreNMS API for automation
- Integrating webhooks with ticketing systems
- Using Ansible modules for configuration management
- Integrating monitoring into CI/CD pipelines
- Automating notifications via ChatOps
Migration from Commercial Tools
- Evaluating the need to replace commercial monitoring tools
- Strategies and tooling for data migration
- Maintaining coexistence during the transition period
- Conducting staff training and creating documentation
- Key lessons learned from production migrations
Production Deployment Best Practices
- Establishing backup and disaster recovery procedures
- Defining upgrade strategies for production environments
- Creating comprehensive documentation and runbooks
- Executing testing and validation procedures
- Leveraging community support and contributing back
Requirements
- Familiarity with network protocols (SNMP, ICMP, TCP/UDP)
- Practical experience in Linux system administration
- Understanding of fundamental networking concepts (subnets, routing, switching)
- Knowledge of database principles (MySQL/PostgreSQL)
- Basic experience with web server administration
Audience
- Network Administrators and Engineers
- System Administrators tasked with infrastructure monitoring
- IT Operations Managers
- NOC Engineers and Monitoring Specialists
Testimonials (2)
How trainer deliver knowledge so effectively
Vu Thoai Le - Reply Polska sp. z o. o.
Course - Certified Kubernetes Administrator (CKA) - exam preparation
Interesting labs, help from trainer