Course Outline
Introduction to Open Source Network Monitoring
- Evolving landscape of network monitoring: from SNMP to modern telemetry
- Addressing vendor lock-in concerns in commercial monitoring solutions
- Overview of the open-source monitoring ecosystem
- Comparing LibreNMS and 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
- Configuring the database (MySQL/MariaDB)
- Setting up the web server (Apache/Nginx with PHP-FPM)
- Tuning RRDtool configuration
- Performing initial configuration and validation
Zabbix Architecture and Installation
- Understanding Zabbix architecture: server, proxy, agent, and frontend
- Installation approaches: packages, Docker, or compiling from source
- Setting up and optimizing the database (MySQL/PostgreSQL/TimescaleDB)
- Configuring the server and frontend
- Navigating the first-time setup wizard
- Planning for scalability from the outset
Device Discovery and Inventory
- Automatic network discovery capabilities in LibreNMS
- Zabbix network discovery and auto-registration features
- SNMP versions and security considerations (v1, v2c, v3)
- Classifying and grouping devices
- Managing locations and contact information
- Importing/exporting data and bulk configuration techniques
SNMP Monitoring Deep Dive
- 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
- Implementing SNMPv3 for authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Vendor-specific SNMP nuances
Agent-Based Monitoring
- Installing and configuring the Zabbix agent
- Introducing Zabbix Agent 2: the next-generation, Go-based agent
- Utilizing LibreNMS agents and check_mk integration
- Creating custom scripts and user-defined parameters
- Differentiating between passive and active agent modes
- Deploying agents at scale using Ansible, Puppet, or Chef
Windows and Linux Server Monitoring
- Monitoring Windows performance counters and services
- Gathering Linux system metrics: CPU, memory, disk, and network
- Tracking processes and service status
- Monitoring and parsing log files
- Monitoring JVMs and applications
- Monitoring containers (Docker, Kubernetes)
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, and UPS status
- Tracking interface utilization and errors
Virtualization and Cloud Monitoring
- Integrating VMware vSphere monitoring
- Monitoring Proxmox VE environments
- Monitoring Hyper-V hosts
- Leveraging AWS/Azure/GCP cloud monitoring APIs
- Moving OpenStack monitoring
- Monitoring container orchestration platforms
Item Types and Data Collection
- 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 Triggers
- Constructing 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
- Creating Zabbix dashboards and screens
- Utilizing graph widgets and network maps
- Customizing LibreNMS dashboards
- Creating custom graphs and templates
- Building network topology maps and using discovery features
- 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
- Automating reports via the API
Distributed and High-Availability Monitoring
- Deploying Zabbix proxies for remote sites
- Implementing Zabbix server clustering and high availability (HA)
- Setting up LibreNMS distributed pollers
- Load balancing across multiple pollers
- Strategies for geographic distribution
- Database replication and clustering techniques
Performance Optimization
- Optimizing and tuning the database
- Enhancing poller performance and 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 the API and managing tokens
- Audit logging and compliance adherence
- Ensuring secure communications via TLS/SSL
Automation and Integration
- Using the Zabbix API for scripting
- Leveraging the LibreNMS API for automation
- Integrating webhooks with ticketing systems
- Utilizing Ansible modules for configuration management
- Integrating with CI/CD pipelines
- Automating ChatOps and notifications
Migration from Commercial Tools
- Evaluating the replacement of commercial monitoring tools
- Strategies and tools for data migration
- Managing coexistence during the transition period
- Conducting staff training and documentation updates
- Lessons learned from real-world production migrations
Production Deployment Best Practices
- Establishing backup and disaster recovery procedures
- Planning upgrade strategies for production environments
- Creating documentation and runbooks
- Defining testing and validation procedures
- Engaging with community support and contributing to open source
Requirements
- Understanding of network protocols (SNMP, ICMP, TCP/UDP)
- Experience with Linux system administration
- Knowledge of basic networking concepts (subnets, routing, switching)
- Familiarity with database concepts (MySQL/PostgreSQL)
- Basic web server administration experience
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