Cacti 0.8 Network Monitoring Copyright © 2009 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: August 2009 Production Reference: 1280709 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847195-96-8 www.packtpub.com Cover Image by Vinayak Chittar ([email protected]) About the Authors Dinangkur Kundu is currently working as an IT Support Analyst at Moriah College in Sydney, Australia. He also runs a local business directory for Bangladeshi people and in his free time, develops web sites using concrete5 CMS. Dinangkur started his career as a Visual Basic programmer for DEN—a hospital management system development company. Later, he moved to Web programming and spent the majority of his career in the Web arena, using open source technologies that are the driving point of his technological advances. He worked as a LAMP developer for Quantumcloud—building and implementing e-commerce solutions, content management systems, helpdesk, and service oriented applications; as Chief Technical Officer, he implemented and managed Linux-based Internet gateways, mail, backup, revision control, and over all security. On rare occasions, he's away from his computer and you can find him reading books on String theory and gazing at Math books. I dedicate this book—Dipty Rani Kundu and Ranjit Kumar Kundu, most extraordinary and beloved ones in my life, because of your love and blessing I am here and continuing my journey. I also thank my sweet wife Suravi Sarkar for her faithful support in writing this book. Specially, my younger brother Shanku, who took care of Mum and Dad in my absence, and pushed me to reach my goal. I want to thank Rashmi Phandis at Packt Publishing for being so patient with me. S. M. Ibrahim Lavlu is a Linux wizard who has dedicated most of his time to Linux and open source. All the time he is busy with his technical world. He is also an expert in PHP. He is currently working as a software engineer and deployment engineer at Net Ltd. He maintains the world's largest Bangla blog community (www.somewhereinblog.net) and also the busiest site of Bangladesh. In his free time, Lavlu shares his knowledge on www.lavluda.com about his many tutorials and technical documents. For successfully completing this book, all credit goes to my wife Tania Sabnam (www.tsabnam.com). And special thanks to the Cacti developer team for their great support. About the Reviewers Andrei-Silviu Marinache is 29 years old, and he has been working with computers since he was 8 years old. He began to like Linux and networks in the 9th grade, at high school. He often skipped classes just to spend a little more time on the Internet, in the high school's informatics laboratory. He has now more than 12 years of network-experience, a Master's in Informatics Security and works as a System Engineer for one of the biggest telecommunication companies in Romania. Andrei began to use Cacti when version 0.8 appeared, and since then he continuously tweaked, bug-fixed, and improved it to suit his needs. Some of his patches were made available to the Cacti forum and to the Cacti team. I'd like to thank to my wife, because she loves me, even though she can't understand why I sometimes go to sleep at 4 AM, to my mom because she supported me in my career, and to my dad, who built my first computer, a ZX-Spectrum clone. J.P. Pasnak, CD is a Technical Analyst working on Operational Support Systems for a Canadian Telecommunications Company, a Senior Non-Commissioned Officer in the Canadian Forces Reserves, an avid supporter of Open Source projects, and a member of the Cacti Group. Table of Contents Preface 1 Chapter 1: Cacti Overview 5 What is Cacti? 6 Why Cacti? 7 Cacti operation 7 Data retrieval 7 Data storage 8 Data presentation 8 Basic knowledge on Net-SNMP 8 Basic knowledge on RRDtool 9 How does the RRDTool work? 10 Summary 11 Chapter 2: Prerequisites and Installing Cacti on Linux 13 Cacti's prerequisites 13 Installing Cacti prerequisites 14 Apache 14 PHP 15 MySQL 16 Net-SNMP 18 RRDTool 19 Installing Cacti 20 Installing Cacti using APT 21 RRDTool Binary Path 26 PHP Binary Path 26 snmpwalk Binary Path 26 snmpget Binary Path 26 snmpbulkwalk Binary Path 26 snmpgetnext Binary Path 26 Cacti Log File Path 26 Table of Contents SNMP Utility Version 26 RRDTool Utility Version 27 Installing Cacti from Source/Manual installation 29 Upgrading Cacti 32 Using APT 32 From source 32 Patch 34 Summary 34 Chapter 3: Using Graphs to Manage Networks and Devices 35 Creating graphs 35 Adding a device 36 Device fields definition 37 SNMP support in Cacti 41 Creating a graph for the device 42 Organizing graphs 43 Summary 46 Chapter 4: Creating and Using Templates 47 Types of Cacti templates 48 Graph templates 48 Creating a graph template 48 Graph Item Inputs 54 Host templates 55 Creating host templates 56 Using host templates 58 Importing templates 58 Exporting templates 60 Important templates 61 Summary 62 Chapter 5: User Management 63 User Management console 63 Adding a user in Cacti 64 Editing a user 65 Realm permissions 67 Graph permissions 67 Graph settings 69 Other User Management options 69 Deleting users 70 Enabling and disabling users 70 Copying users 70 Batch copying 71 Summary 72 [ ii ] Table of Contents Chapter 6: NET-SNMP 73 What is SNMP? 73 How SNMP works? 74 Management Information Bases (MIBs) 76 Comparison of SNMP versions and security 78 Net-SNMP 80 Basic Net-SNMP commands 81 Summary 81 Chapter 7: Data Management 83 Data input method 84 Creating a data input method 85 Input fields 87 Output fields 90 Data queries 92 Creating a data query 94 Associated Graph Templates 96 SNMP query XML syntax 96 Script Query XML 99 Creating a graph for single SNMP OID 102 Summary 104 Chapter 8: Cacti Management 105 Directory structure 105 Backup 106 File backup 107 Database backup 107 Restoring from a backup 107 Poller cache 108 Command Line Interface 110 Summary 110 Index 111 [ iii ]