Course Outline
Introduction to Open Source Network Monitoring
- The evolution of network monitoring from traditional SNMP to modern telemetry
- Addressing vendor lock-in concerns associated with commercial monitoring solutions
- An overview of the current open-source monitoring landscape
- Comparing LibreNMS and Zabbix to select the most suitable platform
- Strategies for hybrid and complementary monitoring approaches
LibreNMS Architecture and Installation
- Overview of LibreNMS architecture and core components
- Installation methods: manual setup versus Docker deployment
- Database configuration using MySQL or MariaDB
- Setting up web servers with Apache or Nginx and PHP-FPM
- Configuring and tuning RRDtool for data storage
- Initial configuration and system validation
Zabbix Architecture and Installation
- Understanding Zabbix architecture: server, proxy, agent, and frontend roles
- Installation options: package managers, Docker, or source compilation
- Database setup and optimization with MySQL, PostgreSQL, or TimescaleDB
- Configuration of the Zabbix server and frontend interface
- Navigating the initial setup wizard
- Considering scalability requirements from the outset
Device Discovery and Inventory Management
- Leveraging automatic network discovery features in LibreNMS
- Utilizing Zabbix network discovery and auto-registration capabilities
- SNMP versions and security enhancements (v1, v2c, v3)
- Classifying and grouping devices for efficient management
- Managing device location details and contact information
- Bulk configuration via import/export functionalities
SNMP Monitoring Deep Dive
- SNMP protocol fundamentals and Management Information Bases (MIBs)
- Configuring SNMP on various network devices such as routers, switches, and firewalls
- Monitoring custom OIDs and implementing custom polling mechanisms
- Implementing SNMPv3 security through authentication and encryption
- Troubleshooting common SNMP connectivity issues
- Addressing vendor-specific SNMP considerations
Agent-Based Monitoring
- Installing and configuring the Zabbix agent
- Exploring Zabbix Agent 2, the next-generation Go-based agent
- Integrating the LibreNMS agent with check_mk
- Developing custom scripts and defining user parameters
- Comparing passive and active agent modes
- Scaling agent deployment using automation tools like Ansible, Puppet, or Chef
Windows and Linux Server Monitoring
- Monitoring Windows performance counters and services
- Tracking Linux system metrics including CPU, memory, disk, and network usage
- Monitoring specific processes and services
- Monitoring and parsing log files for insights
- Observing JVM and application-level performance
- Monitoring containerized workloads in Docker and Kubernetes
Network Equipment Monitoring
- Switch monitoring: port status, VLANs, Spanning Tree Protocol (STP), and MAC tables
- Router monitoring: BGP, OSPF, and routing table analysis
- Firewall monitoring: session tracking, throughput, and rule hit counts
- Monitoring wireless access points
- Environmental monitoring: temperature, power supply, and UPS status
- Tracking interface utilization and error rates
Virtualization and Cloud Monitoring
- Integrating VMware vSphere monitoring
- Monitoring Proxmox VE environments
- Implementing Hyper-V monitoring
- Utilizing cloud monitoring APIs for AWS, Azure, and GCP
- Monitoring OpenStack deployments
- Observing container orchestration platforms
Item Types and Data Collection
- Overview of Zabbix item types: agent, SNMP, IPMI, JMX, SSH, and Telnet
- Using calculated and aggregate items for complex metrics
- Implementing dependent items and data preprocessing
- Leveraging LibreNMS poller modules and OS discovery
- Developing custom data collection methods
- Understanding data types and unit management
Alerting and Triggers
- Writing Zabbix trigger expressions and using functions
- Managing trigger dependencies and event correlation
- Configuring LibreNMS alert rules and notification transports
- Setting up notification channels: email, SMS, Slack, PagerDuty, and webhooks
- Defining escalation paths and acknowledgment workflows
- Managing maintenance windows and scheduled downtime
Dashboards and Visualization
- Creating Zabbix dashboards and screen layouts
- Utilizing graph widgets and building network maps
- Customizing LibreNMS dashboards for specific needs
- Creating custom graphs and applying templates
- Developing network topology maps and discovery views
- Integrating Grafana for advanced visualization capabilities
Reporting and Analytics
- Generating SLA and availability reports
- Producing capacity planning reports
- Creating custom reports for specific business needs
- Scheduling automatic report delivery
- Performing trend analysis and forecasting
- Automating report generation via API
Distributed and High-Availability Monitoring
- Deploying Zabbix proxies for remote site monitoring
- Implementing Zabbix server clustering and High Availability (HA)
- Setting up distributed pollers in LibreNMS
- Load balancing across multiple pollers
- Strategies for geographic distribution
- Configuring database replication and clustering
Performance Optimization
- Optimizing and tuning database performance
- Improving poller performance and concurrent check capacity
- Optimizing history and trend storage mechanisms
- Implementing housekeeping and data retention policies
- Applying effective caching strategies
- Guidelines for hardware sizing and scaling
Security and Access Control
- Integrating user authentication via LDAP, SAML, and Multi-Factor Authentication (MFA)
- Configuring Role-Based Access Control (RBAC)
- Managing permissions for host groups and templates
- Securing APIs and managing token access
- Implementing audit logging and compliance measures
- Ensuring secure communications using TLS/SSL
Automation and Integration
- Utilizing the Zabbix API for scripting and automation
- Leveraging the LibreNMS API for automated tasks
- Integrating webhooks with ticketing systems
- Using Ansible modules for configuration management
- Integrating monitoring into CI/CD pipelines
- Implementing ChatOps and notification automation
Migration from Commercial Tools
- Assessing the replacement of commercial monitoring solutions
- Developing data migration strategies and selecting appropriate tooling
- Managing coexistence during the transition period
- Training staff and updating documentation
- Reviewing lessons learned from production migrations
Production Deployment Best Practices
- Establishing backup and disaster recovery procedures
- Planning upgrade strategies for production environments
- Creating comprehensive documentation and runbooks
- Defining testing and validation procedures
- Engaging with community support and contributing back
Requirements
- Working knowledge of network protocols such as SNMP, ICMP, and TCP/UDP
- Practical experience in Linux system administration
- Fundamental understanding of networking concepts including subnets, routing, and switching
- Familiarity with relational database concepts, specifically MySQL or PostgreSQL
- Basic experience in web server administration
Target Audience
- Network Administrators and Engineers
- System Administrators responsible for infrastructure oversight
- 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