Course Outline
Introduction to Open Source Network Monitoring
- The evolution of network monitoring: from SNMP to modern telemetry
- Addressing vendor lock-in concerns in commercial monitoring solutions
- Overview of the open-source monitoring landscape
- Comparing LibreNMS and Zabbix: selecting the appropriate platform
- Hybrid and complementary monitoring strategies
LibreNMS Architecture and Installation
- Understanding LibreNMS architecture and its core components
- Deployment options: manual installation versus Docker
- Database configuration using MySQL/MariaDB
- Web server setup with Apache/Nginx and PHP-FPM
- RRDtool configuration and performance tuning
- Initial setup and system validation
Zabbix Architecture and Installation
- Zabbix architecture: server, proxy, agent, and frontend components
- Installation methods including packages, Docker, and source compilation
- Database setup and optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuring the server and frontend interfaces
- Navigating the first-time setup wizard
- Considering scalability from the outset
Device Discovery and Inventory Management
- Automatic network discovery capabilities in LibreNMS
- Zabbix network discovery and auto-registration features
- SNMP versions and security protocols (v1, v2c, v3)
- Categorizing and grouping devices
- Managing device locations and contact details
- Bulk configuration through import/export functions
Deep Dive into SNMP Monitoring
- Fundamentals of the SNMP protocol and Management Information Bases (MIBs)
- Configuring SNMP on network devices such as routers, switches, and firewalls
- Monitoring custom OIDs and polling configurations
- Ensuring SNMPv3 security through authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Vendor-specific considerations for SNMP implementations
Agent-Based Monitoring Approaches
- Installing and configuring the Zabbix agent
- Exploring Zabbix Agent 2: the Go-based next-generation agent
- Integrating LibreNMS with agents and check_mk
- Utilizing custom scripts and user parameters
- Distinguishing between passive and active agent modes
- Scaling agent deployment using Ansible, Puppet, or Chef
Monitoring Windows and Linux Servers
- Tracking Windows performance counters and services
- Gathering Linux system metrics: CPU, memory, disk, and network usage
- Monitoring processes and critical services
- Analyzing and parsing log files
- Moving JVM and application monitoring
- Monitoring containers such as Docker and Kubernetes
Network Equipment Monitoring
- Switch monitoring: port status, VLANs, STP, and MAC tables
- Router monitoring covering BGP, OSPF, and routing tables
- Firewall monitoring for sessions, throughput, and rule hits
- Monitoring wireless access points
- Environmental monitoring including temperature, power, and UPS status
- Tracking interface utilization and error rates
Virtualization and Cloud Monitoring
- Integrating with VMware vSphere for monitoring
- Monitoring Proxmox VE environments
- Implementing Hyper-V monitoring solutions
- Utilizing AWS, Azure, and GCP cloud monitoring APIs
- Monitoring OpenStack infrastructures
- Managing container orchestration monitoring
Data Collection Methods and Item Types
- Zabbix item types: Zabbix agent, SNMP, IPMI, JMX, SSH, and Telnet
- Utilizing calculated and aggregate items
- Managing dependent items and preprocessing logic
- Navigating LibreNMS poller modules and OS discovery
- Implementing custom data collection techniques
- Understanding data types and measurement units
Alerting Mechanisms and Triggers
- Formulating Zabbix trigger expressions and functions
- Managing trigger dependencies and event correlation
- Defining LibreNMS alert rules and transport mechanisms
- Configuring notification channels: email, SMS, Slack, PagerDuty, and webhooks
- Establishing escalation and acknowledgment workflows
- Scheduling maintenance windows and planned downtime
Dashboards and Visualization Techniques
- Navigating Zabbix dashboards and screen layouts
- Utilizing graph widgets and network maps
- Customizing LibreNMS dashboard interfaces
- Creating custom graphs and applying templating
- Visualizing network topology through discovery tools
- Integrating Grafana for advanced visualization needs
Reporting and Analytics Capabilities
- Generating SLA and availability reports
- Producing capacity planning reports
- Creating custom report formats
- Scheduling automated report delivery
- Analyzing trends and forecasting future requirements
- Automating reports via API integration
Distributed and High-Availability Monitoring Setups
- Deploying Zabbix proxies for remote sites
- Establishing Zabbix server clustering and high availability (HA)
- Configuring LibreNMS distributed pollers
- Balancing load across multiple poller instances
- Implementing geographic distribution strategies
- Setting up database replication and clustering
Performance Optimization Strategies
- Tuning and optimizing database performance
- Enhancing poller performance with concurrent checks
- Optimizing history and trend data storage
- Establishing housekeeping routines and data retention policies
- Implementing effective caching strategies
- Guidelines for hardware sizing and scaling
Security Measures and Access Control
- User authentication methods including LDAP, SAML, and MFA integration
- Configuring role-based access control (RBAC)
- Managing permissions for host groups and templates
- Securing API access and managing tokens
- Ensuring audit logging and regulatory compliance
- Maintaining secure communications via TLS/SSL
Automation and System Integration
- Leveraging the Zabbix API for scripting and automation
- Utilizing the LibreNMS API for automated workflows
- Integrating webhooks with ticketing systems
- Applying Ansible modules for configuration management
- Incorporating monitoring into CI/CD pipelines
- Automating ChatOps and notification processes
Migration from Commercial Monitoring Tools
- Evaluating the replacement of commercial monitoring solutions
- Strategies for data migration and available tooling
- Maintaining coexistence during the transition period
- Conducting staff training and documentation updates
- Reviewing lessons learned from real-world production migrations
Best Practices for Production Deployment
- Establishing backup and disaster recovery procedures
- Planning 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 fundamentals (MySQL/PostgreSQL)
- Basic experience in web server administration
Target Audience
- Network Administrators and Engineers
- System Administrators responsible for 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