Course Outline
Introduction to Open Source Network Monitoring
- Evolution of network monitoring: From SNMP to modern telemetry
- Vulnerabilities to vendor lock-in in commercial monitoring solutions
- Overview of the open-source monitoring landscape
- Comparing LibreNMS and Zabbix: Selecting the appropriate platform
- Strategies for hybrid and complementary monitoring
LibreNMS Architecture and Installation
- Overview of LibreNMS architecture and components
- Installation methods: Manual deployment versus Docker
- Database configuration (MySQL/MariaDB)
- Web server setup (Apache/Nginx with PHP-FPM)
- RRDtool configuration and performance tuning
- Initial setup and validation processes
Zabbix Architecture and Installation
- Zabbix architecture: Server, proxy, agent, and frontend components
- Installation approaches: Packages, Docker, or source compilation
- Database setup and optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuration of server and frontend components
- Navigating the first-time setup wizard
- Scalability considerations during initial design
Device Discovery and Inventory Management
- Automatic network discovery features in LibreNMS
- Zabbix network discovery and auto-registration capabilities
- SNMP versions and security protocols (v1, v2c, v3)
- Classification and grouping of devices
- Management of location and contact information
- Bulk configuration via import/export functions
Deep Dive into SNMP Monitoring
- Fundamentals of the SNMP protocol and MIBs
- Configuring SNMP on network devices (routers, switches, firewalls)
- Implementing custom OID monitoring and polling schedules
- SNMPv3 security mechanisms: Authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Vendor-specific SNMP considerations
Agent-Based Monitoring
- Installation and configuration of the Zabbix agent
- Zabbix Agent 2: The next-generation Go-based agent
- Utilizing LibreNMS agents and check_mk integration
- Implementation of custom scripts and user parameters
- Differences between passive and active agent modes
- Scaling agent deployment using Ansible, Puppet, or Chef
Monitoring Windows and Linux Servers
- Monitoring Windows performance counters and services
- Collecting 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
Network Equipment Monitoring
- Switch monitoring: Port status, VLANs, STP, and MAC tables
- Router monitoring: BGP, OSPF, and routing table tracking
- Firewall monitoring: Sessions, throughput, and rule hits
- Monitoring wireless access points
- Environmental monitoring: Temperature, power supply, and UPS status
- Tracking interface utilization and error rates
Virtualization and Cloud Monitoring
- Integration with VMware vSphere for monitoring
- Monitoring Proxmox VE environments
- Hyper-V monitoring capabilities
- Leveraging AWS/Azure/GCP cloud monitoring APIs
- Monitoring OpenStack infrastructure
- Container orchestration monitoring strategies
Item Types and Data Collection Methods
- Zabbix item types: Zabbix agent, SNMP, IPMI, JMX, SSH, Telnet
- Creating calculated and aggregate items
- Configuring dependent items and preprocessing rules
- Utilizing LibreNMS poller modules and OS discovery
- Implementing custom data collection methods
- Understanding data types and units
Alerting and Trigger Configuration
- Writing Zabbix trigger expressions and utilizing functions
- Managing trigger dependencies and event correlation
- Configuring LibreNMS alert rules and transport methods
- Setting up notification channels: Email, SMS, Slack, PagerDuty, webhooks
- Designing escalation and acknowledgment workflows
- Managing maintenance windows and scheduled downtime
Dashboards and Visualization
- Creating Zabbix dashboards and screens
- Utilizing graph widgets and network maps
- Customizing LibreNMS dashboards
- Creating custom graphs and applying templates
- Building network topology maps and performing discovery
- Integrating Grafana for advanced visualization capabilities
Reporting and Analytics
- Generating SLA and availability reports
- Producing capacity planning reports
- Creating custom report templates
- Scheduling automatic report delivery
- Analyzing trends and forecasting future states
- Automating reports via API integration
Distributed and High-Availability Monitoring Architecture
- Deploying Zabbix proxies for remote sites
- Configuring Zabbix server clustering and high availability (HA)
- Setting up LibreNMS distributed pollers
- Implementing load balancing across multiple pollers
- Strategies for geographic distribution
- Database replication and clustering techniques
Performance Optimization Strategies
- Optimizing and tuning database performance
- Enhancing poller performance and managing concurrent checks
- Optimizing history and trend storage mechanisms
- Establishing housekeeping and data retention policies
- Implementing effective caching strategies
- Guidelines for hardware sizing and scaling
Security and Access Control
- User authentication methods: LDAP, SAML, MFA integration
- Configuring role-based access control (RBAC)
- Managing permissions for host groups and templates
- Securing the API and managing tokens
- Maintaining audit logs and ensuring compliance
- Implementing secure communications via TLS/SSL
Automation and System Integration
- Utilizing the Zabbix API for scripting tasks
- Automating workflows with the LibreNMS API
- Integrating webhook connections for ticketing systems
- Employing Ansible modules for configuration management
- Integrating monitoring into CI/CD pipelines
- Automating ChatOps and notification processes
Migrating from Commercial Tools
- Evaluating the need to replace commercial monitoring solutions
- Data migration strategies and available tooling
- Managing coexistence periods during transition
- Conducting staff training and documentation efforts
- 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
- Performing testing and validation procedures
- Leveraging community support and contributing to open source
Requirements
- Familiarity with network protocols (SNMP, ICMP, TCP/UDP)
- Experience in Linux system administration
- Knowledge of fundamental networking concepts (subnets, routing, switching)
- Understanding of database principles (MySQL/PostgreSQL)
- Basic experience with 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