Course Outline
Fundamentals of Open Source Network Monitoring
- The evolution of network monitoring: from SNMP to modern telemetry
- Addressing vendor lock-in concerns associated with commercial solutions
- An overview of the current open-source monitoring landscape
- LibreNMS versus Zabbix: strategies for selecting the appropriate platform
- Implementing hybrid and complementary monitoring approaches
LibreNMS Architecture and Deployment
- Understanding LibreNMS architecture and its core components
- Installation methods: manual setup versus Docker containers
- Configuring the database layer (MySQL/MariaDB)
- Setting up the web server (Apache/Nginx with PHP-FPM)
- Tuning and configuring RRDtool
- Initial configuration validation and setup
Zabbix Architecture and Setup
- Zabbix architecture: examining the server, proxy, agent, and frontend
- Installation options: package managers, Docker, or compiling from source
- Database setup and performance optimization (MySQL/PostgreSQL/TimescaleDB)
- Configuring the Zabbix server and frontend
- Navigating the initial setup wizard
- Considerations for scalability from the outset
Device Discovery and Inventory Management
- Automated network discovery features in LibreNMS
- Zabbix network discovery and automatic registration processes
- SNMP versions and security standards (v1, v2c, v3)
- Classifying and grouping devices for effective management
- Managing location data and contact information
- Bulk configuration via import/export tools
In-Depth SNMP Monitoring
- Core SNMP protocol concepts and MIBs
- Configuring SNMP on network devices such as routers, switches, and firewalls
- Monitoring and polling custom OIDs
- SNMPv3 security features: authentication and encryption
- Diagnosing and resolving SNMP connectivity problems
- Addressing vendor-specific SNMP nuances
Agent-Based Monitoring Strategies
- Installing and configuring the Zabbix agent
- Introducing Zabbix agent 2: the Go-based next-generation agent
- Integrating LibreNMS agents with check_mk
- Writing custom scripts and defining user parameters
- Comparing passive versus active agent modes
- Scaling agent deployment using Ansible, Puppet, or Chef
Monitoring Windows and Linux Servers
- Tracking Windows performance counters and services
- Monitoring Linux system metrics: CPU, memory, disk, and network
- Observing process and service health
- Monitoring and parsing log files
- Supervising JVM and application performance
- Monitoring containers in Docker and Kubernetes environments
Network Equipment Oversight
- Switch monitoring: tracking port status, VLANs, STP, and MAC tables
- Router monitoring: observing BGP, OSPF, and routing tables
- Firewall monitoring: analyzing sessions, throughput, and rule hits
- Supervising wireless access points
- Environmental monitoring: temperature, power supply, and UPS status
- Tracking interface utilization and error rates
Virtualization and Cloud Oversight
- Integrating VMware vSphere monitoring
- Monitoring Proxmox VE environments
- Tracking Hyper-V performance
- Leveraging AWS/Azure/GCP cloud monitoring APIs
- OpenStack monitoring solutions
- Observing container orchestration platforms
Data Collection Methods and Item Types
- Zabbix item types: agent, SNMP, IPMI, JMX, SSH, and Telnet
- Using calculated and aggregate items
- Managing dependent items and data preprocessing
- Exploring LibreNMS poller modules and OS discovery
- Implementing custom data collection techniques
- Defining data types and measurement units
Alerting Mechanisms and Triggers
- Crafting Zabbix trigger expressions and utilizing functions
- Managing trigger dependencies and event correlation
- Configuring LibreNMS alert rules and transports
- Setting up notification channels: email, SMS, Slack, PagerDuty, and webhooks
- Establishing escalation and acknowledgment workflows
- Scheduling maintenance windows and planned downtime
Dashboards and Visualizations
- Building Zabbix dashboards and screens
- Utilizing graph widgets and creating network maps
- Customizing LibreNMS dashboards
- Creating and templating custom graphs
- Mapping network topologies and discovering paths
- Integrating Grafana for advanced data visualization
Reporting and Analytical Insights
- Generating SLA and availability reports
- Producing capacity planning analyses
- Creating customized reports
- Automating scheduled report distribution
- Conducting trend analysis and forecasting
- Automating reports via API
Distributed and High-Availability Architectures
- Deploying Zabbix proxies for remote locations
- Configuring Zabbix server clustering and high availability
- Setting up distributed pollers in LibreNMS
- Load balancing across multiple polling nodes
- Implementing geographic distribution strategies
- Database replication and clustering techniques
Performance Tuning and Optimization
- Optimizing and tuning database performance
- Enhancing poller efficiency and concurrent checks
- Optimizing history and trend data storage
- Defining housekeeping and data retention policies
- Implementing effective caching strategies
- Guidelines for hardware sizing and scaling
Security Protocols and Access Control
- User authentication integration: LDAP, SAML, and MFA
- Configuring role-based access control
- Managing host group and template permissions
- Securing APIs and managing tokens
- Maintaining audit logs for compliance
- Ensuring secure communications via TLS/SSL
Automation and System Integration
- Leveraging the Zabbix API for scripting
- Automating tasks with the LibreNMS API
- Integrating webhooks with ticketing systems
- Managing configuration with Ansible modules
- Connecting to CI/CD pipelines
- Implementing ChatOps and automated notifications
Migrating from Commercial Platforms
- Evaluating alternatives to commercial monitoring tools
- Strategies and tools for data migration
- Managing coexistence during the transition period
- Training staff and creating documentation
- Key lessons from production migration experiences
Best Practices for Production Environments
- Establishing backup and disaster recovery procedures
- Planning upgrade strategies for production systems
- Creating comprehensive documentation and runbooks
- Executing rigorous testing and validation
- Engaging with the community for support and contribution
Requirements
- A solid grasp of core network protocols (SNMP, ICMP, TCP/UDP)
- Practical experience in Linux system administration
- Foundational knowledge of networking concepts, including subnets, routing, and switching
- Basic familiarity with database principles (MySQL/PostgreSQL)
- General experience with web server administration
Target Audience
- Network Administrators and Engineers
- System Administrators tasked with infrastructure oversight
- IT Operations Managers
- NOC Engineers and Monitoring Specialists
Testimonials (2)
Good and feasible exercises.
Jannes Wykhoff - Landesamt fur Geoinformation und Landesvermessung Niedersachsen (LGLN)
Course - Certified Kubernetes Application Developer (CKAD) - exam preparation
Machine Translated
How trainer deliver knowledge so effectively