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
- An overview of the open-source monitoring landscape
- Comparing LibreNMS and Zabbix: Selecting the appropriate platform
- Strategies for hybrid and complementary monitoring approaches
LibreNMS Architecture and Installation
- Overview of LibreNMS architecture and its core components
- Installation methods: Manual setup versus Docker deployment
- Configuring the database (MySQL/MariaDB)
- Setting up the web server (Apache/Nginx with PHP-FPM)
- Configuring and tuning RRDtool
- Initial configuration and system validation
Zabbix Architecture and Installation
- Zabbix architecture: Understanding the server, proxy, agent, and frontend
- Installation methods: Packages, Docker, and source compilation
- Database setup and optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuring the server and frontend
- Utilizing the first-time setup wizard
- Planning for scalability from the outset
Device Discovery and Inventory Management
- Automated network discovery features in LibreNMS
- Zabbix network discovery and automatic registration
- SNMP versions and security protocols (v1, v2c, v3)
- Classifying and grouping devices
- Managing locations and contact details
- Importing/exporting data and bulk configuration
Deep Dive into SNMP Monitoring
- Fundamentals of the SNMP protocol and MIBs
- Configuring SNMP on network devices (routers, switches, firewalls)
- Monitoring and polling custom OIDs
- Implementing SNMPv3 security for authentication and encryption
- Troubleshooting SNMP connectivity challenges
- Vendor-specific SNMP considerations
Agent-Based Monitoring
- Installing and configuring the Zabbix agent
- Introduction to Zabbix agent 2: The next-generation Go-based agent
- Integrating LibreNMS agents with check_mk
- Utilizing custom scripts and user parameters
- Differences between passive and active agent modes
- Scaling agent deployment using Ansible, Puppet, and Chef
Monitoring Windows and Linux Servers
- Monitoring Windows performance counters and services
- Tracking Linux system metrics: CPU, memory, disk, and network
- Monitoring processes and services
- Monitoring and parsing log files
- Monitoring JVM and application performance
- Container monitoring for Docker and Kubernetes
Monitoring Network Equipment
- 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, and UPS status
- Tracking interface utilization and errors
Monitoring Virtualization and Cloud Environments
- Integrating with VMware vSphere monitoring
- Proxmox VE monitoring capabilities
- Hyper-V monitoring
- Utilizing AWS/Azure/GCP cloud monitoring APIs
- OpenStack monitoring
- Monitoring container orchestration platforms
Item Types and Data Collection Methods
- Zabbix item types: Zabbix agent, SNMP, IPMI, JMX, SSH, Telnet
- Using calculated and aggregate items
- Managing dependent items and preprocessing
- LibreNMS poller modules and OS discovery
- Implementing custom data collection methods
- Understanding data types and units
Alerting and Trigger Mechanisms
- Crafting Zabbix trigger expressions and functions
- Managing trigger dependencies and event correlation
- Setting up LibreNMS alert rules and transports
- Configuring notification channels: Email, SMS, Slack, PagerDuty, webhooks
- Establishing escalation and acknowledgment workflows
- Managing maintenance windows and scheduled downtime
Dashboards and Visualization Techniques
- Utilizing Zabbix dashboards and screens
- Creating graph widgets and network maps
- Customizing LibreNMS dashboards
- Creating custom graphs and using templates
- Discovering and visualizing network topology maps
- Integrating with Grafana for advanced visualization
Reporting and Analytics
- Generating SLA and availability reports
- Creating capacity planning reports
- Generating custom reports
- Scheduling report delivery
- Performing trend analysis and forecasting
- Automating reports via API
Distributed and High-Availability Monitoring
- Deploying Zabbix proxies for remote sites
- Configuring Zabbix server clustering and high availability
- Setting up LibreNMS distributed pollers
- Balancing loads across multiple pollers
- Implementing geographic distribution strategies
- Database replication and clustering
Performance Optimization
- Optimizing and tuning databases
- Enhancing poller performance and managing 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
- Managing permissions for host groups and templates
- Securing the API and managing tokens
- Audit logging and compliance management
- Ensuring secure communications (TLS/SSL)
Automation and Integration
- Utilizing the Zabbix API and scripting
- Leveraging the LibreNMS API for automation
- Configuring webhook integrations for ticketing systems
- Using Ansible modules for configuration management
- Integrating with CI/CD pipelines
- Automating ChatOps and notifications
Migrating from Commercial Tools
- Assessing the need to replace commercial monitoring solutions
- Executing data migration strategies and utilizing appropriate tooling
- Managing coexistence during the transition period
- Conducting staff training and documentation updates
- Learning from lessons in production migrations
Best Practices for Production Deployment
- Establishing backup and disaster recovery procedures
- Planning upgrade strategies for production environments
- Creating documentation and runbooks
- Executing testing and validation procedures
- Engaging with community support and contributing to the project
Requirements
- Solid understanding of network protocols (SNMP, ICMP, TCP/UDP)
- Practical experience in Linux system administration
- Proficiency in fundamental networking concepts (subnets, routing, switching)
- Familiarity with database principles (MySQL/PostgreSQL)
- Basic experience in web server administration
Target 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