Pro Python System Administration
Rytis Sileika
Apress
As time goes on, system administrators are presented with increasingly complicated challenges. In the early days, a team of engineers might have had to look after one or two systems. These days, one engineer can administer hundreds or thousands of systems. System administrators are gradually replacing their tools with more advanced and flexible ones. One of the choices is Python. Structurally, Python is a modern, high-level language with a very clean syntax. Python comes with many built-in libraries that can make automation tasks easier. It also has extensive set of third-party libraries and a very active development community. This flexibility makes Python a good choice for a wide variety of tasks, from prototyping science applications to system maintenance and administration jobs.      This book explains and shows how to apply Python scripting in practice. Unlike the majority of the Python books, it will show you how to approach and resolve real-world issues that most system administrators will come across in their careers.      In this book, you will find several projects in the categories of network administration, web server administration, and monitoring and database management. In each project, we will define the problem, design the solution, and go through the more interesting implementation steps.      Each project is accompanied with the source code of a fully working prototype, which you’ll be able to use immediately or adapt to your requirements and environment.   What you’ll learn     Solve real-world system administration problems using Python.      Manage devices with SNMP and SOAP.      Build a distributed monitoring system.      Manage web applications and parse complex log files.      Automatically monitor and manage MySQL databases.   Who this book is forThis book is primarily aimed at experienced system administrators whose day-to-day tasks involve looking after and managing small-to-medium-sized server estates. It will also be beneficial for system administrators who want to learn more about automation and want to apply their Python knowledge to solve various system administration problems. Python developers will also benefit from reading this book, especially if they are involved in developing automation and management tools. This book assumes that readers already use Python and are comfortable with the language. Most of the Linux distributions come with Python and various libraries (such as Django, PIL and SciPy) packaged and readily available, but basic knowledge of installing packages in a Linux/Unix environment is advised. Table of Contents     Reading and Collecting Performance Data Using SNMP1       Managing Devices Using the SOAP API        Creating a Web Application for IP Address Accountancy         Integrating the IP Address Application with DHCP       Maintaining a List of Virtual Hosts in an Apache Configuration File         Gathering and Presenting Statistical Data from Apache Log Files        Performing Complex Searches and Reporting on Application Log Files         A Web Site Availability Check Script for Nagios        Management and Monitoring Subsystem        Remote Monitoring Agents       Statistics Gathering and Reporting         Automatic MySQL Database Performance Tuning        Using Amazon EC2/S3 as a Data Warehouse Solution