In fact, we are more concerned about what we can learn after reading the author’s article, what we can do, or we are currently meeting a practical need, need to click on the relevant skill tree, so I will introduce what we can learn from me.
Path selection
-
First is for work in the operations, but work has met some automation needs of readers, so here the author does not advocate people to build the entire system of automated operations, one is unnecessary, the other one is that may consume considerable energy, so we will temporarily only some relative to their actual work skill tree.
-
But for those readers who want to make a career breakthrough and plan to move from traditional operations to automated operations, or who plan to start their career in automated operations from the beginning, they need to go through some more detailed and systematic learning.
Path planning
The first programming language to automate operations is Python, which is the best language to try to automate operations, both in terms of the richness of the Python ecosystem and the difficulty of getting started. But there are dozens of Python tutorials online, so why am I here? This is another question: can someone new to programming learn Python quickly by watching a tutorial like this? “Or in plain English: can you read it?
Most friends engaged in operation and maintenance work may not have programming experience, nor have they systematically learned the underlying principles of the computer, so for the standard tutorial will feel, as if it will, but there is no plenary session; It seems that I can, but I don’t know how to use it. Therefore, as a programmer who graduated from the computer major, I will help people learn Python quickly through some vivid examples and actual scenes based on my own learning methods and the learning experience of my friends in operation and maintenance, so that they can directly apply it to practical work.
[Automatic Operation and Maintenance New Hand Village]
The content of the new village is mainly to build a simple CMDB with pages for everyone, which also meets the actual needs of many operation and maintenance friends. For example, if you want to make a small function, there is a simple page for others to click and operate. In addition, I will also dig into some knowledge points involved in detail and present them in the book, so that readers who are interested in them can have more understanding.
-
Basic Python data structures and operations
Combining the addition, deletion, change and review of CMDB with Python data structures, the boring basic knowledge is explained in a simple way
- Details of data structures
- Details of strings
- Details of arrays
- Explanation of the dictionary
- Interview aside: Algorithms
-
Python functions and objects
How will CMDB’s functions and objects be built
- Fyi: Have an in-depth understanding of object orientation
- Introduction to design patterns
-
Flask Web framework
The CMDB operation is combined with the Web framework to operate the CMDB through the way of pages
- Introduction: Basic HTML and CSS
- Interview topic: Computer networks
-
The MySQL database
The CMDB is stored in the database, and the add, delete, change and query on it is transferred from reading and writing files to operating on the database
- Outside: MongoDB database
- Interview aside: Database
-
Deploying applications on Linux
The application runs stably on a Linux operating system
- Job description: Operating system
[Primary village of automatic Operation and Maintenance]
In fact, the design of the content sequence of the beginner village is similar to that of the beginner village. Eventually, an application with a front page will be made, but the Python knowledge used in this part will be a little more in-depth. Therefore, it is recommended that those who have a certain understanding of Python can skip the beginner village and read the content of the beginner village directly. Because the primary village is the demand scene that more operation and maintenance friends often meet, it is also the way to do automatic operation.
-
Paramiko and netmiko
The use of both ways and advantages and disadvantages
-
Python Regular parsing
The various information collected through SSH is regularly parsed
- Text – FSM parsing
-
Python snmp
How to use Python to call the SNMP collection command and explain how to use OID
-
NetConf
How do I use NetConf to operate network devices
-
Crontab and callback CMDB
How do I set SSH tasks to perform periodic inspection and write back CMDB updates
- Python Scheduler
-
Flask Web framework
SSH and NetConf are combined with a Web framework to invoke their execution through API or front-end
[Automatic Operation and Maintenance Intermediate Village]
The biggest difference between intermediate villages and primary villages is that they will change from the completion of simple requirements and applications to the design and implementation of more complex architectures, as well as scenarios that can support larger operation and maintenance.
-
Tasks queue
How do I use a task queue to asynchronously handle a large number of SSH or NetConf executions
- F: Redis database
- RabbitMQ middleware
-
Rsyslog log collection
Collect device logs using Rsyslog and store them for display and query.
-
Mysql Performance Optimization
Support larger data storage and query, database optimization, sub-database and sub-table
-
Front end separation
Due to the rich functions of the system, the original system is separated from the front end to the front end separated applications.
-
Vue front-end explanation
Using Vue as the front-end framework of the system, explain the actual operation of Vue and more front-end knowledge.
[Advanced Village of Automatic Operation and Maintenance]
If you want to make a complete automatic operation and maintenance system, it is necessary to have a corresponding perfect concept and methodology of automatic operation and maintenance, so the senior village will design more concepts about automatic operation and maintenance, as well as more complex automatic operation and maintenance systems suitable for larger enterprises.
-
Tasks queue
Use Celery task queue, release SNMP bulk collection tasks or SSH change tasks in different queues according to frequency for efficient collection
-
Flink processing
Flink is used to clean and store the data collected by SNMP
-
Rsyslog – Kafka – Consumer- MySQL
How do I collect and parse logs reported by devices, whittle the logs using Kafka middleware, and store them
- Description: Kafka middleware
-
ELK, Rsyslog – kafkf-logstash – ElasticSearch – Kibana
Use ELK suite to store and display logs
-
Alarm notification, masking, and suppression
How do I set alarm notification, masking, and suppression mechanisms
-
Task scheduling
Register the change step as an operator in white screen mode, arrange it, and deliver it
-
Intent-based packet configuration delivery
You can group devices based on roles, set intent-based template commands, and use SSH or NetConf to change or query network devices
Summary of path
Combing the path of the above is a at the moment, I can give to you the most system automation operational aspects of the practice, in the process of updating, I may according to the needs of the reader or thinking summary update the content in the work at ordinary times iteration, a path is not fixed, so it’s just a learning direction, and the learning process is necessarily there will be obstacles and difficulties, We hope that everyone can have a firm determination to overcome the difficulties one by one. Of course, we will also provide a learning and communication group for everyone to discuss and improve each other. You are welcome to consult me if you have any questions. Finally look forward to everyone can get their own results.
Welcome to add my personal public account [Python Playing automated Operation and Maintenance] to the reader exchange group, to get more dry content