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 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 components
- Deployment options: manual installation vs. Docker
- Configuring the database (MySQL/MariaDB)
- Setting up the web server (Apache/Nginx with PHP-FPM)
- RRDtool configuration and tuning
- Initial setup and validation procedures
Zabbix Architecture and Installation
- Zabbix architecture components: server, proxy, agent, frontend
- Installation methods: packages, Docker, source compilation
- Database setup and optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuring the server and frontend
- Navigating the initial setup wizard
- Scalability considerations from the outset
Device Discovery and Inventory Management
- Automatic network discovery features in LibreNMS
- Zabbix network discovery and auto-registration capabilities
- SNMP versions and security settings (v1, v2c, v3)
- Device classification and grouping strategies
- Managing locations and contact details
- Importing, exporting, and bulk configuration tasks
Deep Dive into SNMP Monitoring
- Fundamentals of the SNMP protocol and MIBs
- Configuring SNMP on network devices (routers, switches, firewalls)
- Custom OID monitoring and polling techniques
- SNMPv3 security: ensuring authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Vendor-specific SNMP considerations
Agent-Based Monitoring Solutions
- Installing and configuring the Zabbix agent
- Exploring Zabbix Agent 2: the Go-based next-generation agent
- LibreNMS agent integration and check_mk compatibility
- Utilizing 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
- Tracking processes and service status
- Monitoring and parsing log files
- JVM and application performance monitoring
- Container monitoring for Docker and Kubernetes environments
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
Virtualization and Cloud Monitoring
- Integrating VMware vSphere monitoring
- Monitoring Proxmox VE environments
- Monitoring Hyper-V systems
- Leveraging AWS/Azure/GCP cloud monitoring APIs
- Monitoring OpenStack deployments
- Container orchestration monitoring strategies
Item Types and Data Collection Methods
- Zabbix item types: Zabbix agent, SNMP, IPMI, JMX, SSH, Telnet
- Using calculated and aggregate items
- Dependent items and preprocessing techniques
- LibreNMS poller modules and OS discovery
- Implementing custom data collection methods
- Understanding data types and units
Alerting and Trigger Configuration
- Mastering Zabbix trigger expressions and functions
- Managing trigger dependencies and event correlation
- Configuring LibreNMS alert rules and transports
- Setting up notification channels: email, SMS, Slack, PagerDuty, webhooks
- Establishing escalation and acknowledgment workflows
- Managing maintenance windows and scheduled downtime
Dashboards and Visualization Techniques
- Navigating Zabbix dashboards and screens
- Utilizing graph widgets and network maps
- Customizing LibreNMS dashboards
- Creating custom graphs and templates
- Building and discovering network topology maps
- Integrating Grafana for advanced visualization needs
Reporting and Analytics
- Generating SLA and availability reports
- Creating capacity planning reports
- Building custom report formats
- Scheduling and delivering reports automatically
- Performing trend analysis and forecasting
- Automating reports via API
Distributed and High-Availability Monitoring Setups
- Deploying Zabbix proxies for remote sites
- Configuring Zabbix server clustering and high availability
- Setting up distributed pollers in LibreNMS
- Balancing loads across multiple pollers
- Implementing geographic distribution strategies
- Database replication and clustering techniques
Performance Optimization Strategies
- Optimizing and tuning the database
- Enhancing poller performance with concurrent checks
- Optimizing history and trend storage solutions
- Establishing housekeeping and data retention policies
- Implementing effective caching strategies
- Guidelines for hardware sizing and scaling
Security and Access Control Measures
- User authentication via LDAP, SAML, and MFA integration
- Configuring role-based access control
- Managing permissions for host groups and templates
- Securing API access and managing tokens
- Audit logging and compliance adherence
- Ensuring secure communications via TLS/SSL
Automation and Integration Capabilities
- Using the Zabbix API for scripting and automation
- Leveraging LibreNMS API for automation tasks
- Setting up webhook integrations with ticketing systems
- Utilizing Ansible modules for configuration management
- Integrating monitoring into CI/CD pipelines
- Implementing ChatOps and notification automation
Migrating from Commercial Tools
- Evaluating the need to replace commercial monitoring solutions
- Strategies and tools for data migration
- Managing coexistence during the transition period
- Conducting staff training and updating documentation
- Lessons learned from successful production migrations
Best Practices for Production Deployment
- Establishing backup and disaster recovery procedures
- Planning upgrade strategies for production environments
- Creating comprehensive documentation and runbooks
- Conducting 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
- Understanding of fundamental networking concepts (subnets, routing, switching)
- Knowledge of database principles (MySQL/PostgreSQL)
- Basic experience with web server administration
Target Audience
- Network Administrators and Engineers
- System Administrators managing 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