Course Outline
Introduction to Open Source Network Monitoring
- The evolution of network monitoring: from SNMP to modern telemetry
- Vendor lock-in challenges 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 setups
LibreNMS Architecture and Installation
- Overview of LibreNMS architecture and 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 setup and validation processes
Zabbix Architecture and Installation
- Zabbix architecture: server, proxy, agent, and frontend components
- Installation methods: packages, Docker, or source compilation
- Database setup and optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuring the server and frontend
- Navigating the first-time setup wizard
- Addressing 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 implications (v1, v2c, v3)
- Classifying and grouping devices
- Managing locations and contact details
- Importing, exporting, and bulk configuration tasks
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
- Implementing custom OID monitoring and polling strategies
- Ensuring SNMPv3 security through authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Navigating vendor-specific SNMP requirements
Agent-Based Monitoring Strategies
- Installing and configuring the Zabbix agent
- Exploring Zabbix Agent 2: the next-generation Go-based agent
- Utilizing LibreNMS agents and check_mk integration
- Developing custom scripts and user parameters
- Understanding passive versus active agent modes
- Deploying agents at scale using Ansible, Puppet, or Chef
Monitoring Windows and Linux Servers
- Tracking Windows performance counters and services
- Collecting Linux system metrics: CPU, memory, disk, and network
- Monitoring processes and services
- Analyzing and parsing log files
- Monitoring JVM and application performance
- Observing container environments (Docker, 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 supply, and UPS status
- Tracking interface utilization and errors
Monitoring Virtualization and Cloud Environments
- Integrating VMware vSphere monitoring
- Monitoring Proxmox VE environments
- Monitoring Hyper-V infrastructure
- Utilizing AWS, Azure, and GCP cloud monitoring APIs
- Monitoring OpenStack deployments
- Observing container orchestration platforms
Data Collection and Item Types
- Zabbix item types: Zabbix agent, SNMP, IPMI, JMX, SSH, Telnet
- Using calculated and aggregate items
- Implementing dependent items and preprocessing
- LibreNMS poller modules and OS discovery mechanisms
- Employing custom data collection methods
- Understanding data types and units
Alerting and Trigger Management
- Writing 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
- Defining maintenance windows and scheduled downtime
Dashboards and Visualization Techniques
- Creating Zabbix dashboards and screens
- Designing graph widgets and network maps
- Customizing LibreNMS dashboards
- Creating custom graphs and templates
- Building network topology maps and discovering layouts
- Integrating Grafana for advanced visualization needs
Reporting and Analytics Capabilities
- Generating SLA and availability reports
- Creating capacity planning reports
- Producing custom reports
- Scheduling and delivering reports
- Analyzing trends and forecasting
- Automating reports via API
Distributed and High-Availability Monitoring Architectures
- Deploying Zabbix proxies for remote sites
- Implementing Zabbix server clustering and high availability
- Setting up distributed pollers in LibreNMS
- Balancing load across multiple pollers
- Developing geographic distribution strategies
- Managing database replication and clustering
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 caching strategies
- Guidelines for hardware sizing and scaling
Security and Access Control Measures
- Configuring user authentication via LDAP, SAML, and MFA integration
- Setting up role-based access control (RBAC)
- Managing host group and template permissions
- Securing the API and managing tokens
- Audit logging and ensuring compliance
- Ensuring secure communications through TLS/SSL
Automation and Integration Workflows
- Utilizing the Zabbix API for scripting and automation
- Leveraging LibreNMS API for automated tasks
- Integrating webhooks with ticketing systems
- Using Ansible modules for configuration management
- Incorporating monitoring into CI/CD pipelines
- Automating ChatOps and notifications
Migrating from Commercial Tools
- Evaluating 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 efforts
- Gaining insights from lessons learned in production migrations
Production Deployment Best Practices
- Establishing backup and disaster recovery procedures
- Defining upgrade strategies for production environments
- Creating documentation and operational runbooks
- Implementing testing and validation procedures
- Engaging with community support and contributing to development
Requirements
- Understanding of network protocols (SNMP, ICMP, TCP/UDP)
- Experience with Linux system administration
- Knowledge of fundamental networking concepts (subnets, routing, switching)
- Familiarity with database principles (MySQL/PostgreSQL)
- Basic experience in web server administration
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