<div dir="ltr">This looks cool.<div>One question about the Venus api, does it support full Elasticsearch DSL or just a subset of queries</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 11, 2021 at 4:59 AM Liye Pang(逄立业) <<a href="mailto:pangliye@inspur.com" target="_blank">pangliye@inspur.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="ZH-CN"><div><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="font-family:"Times New Roman",serif">Hello everyone, after feedback from a large number of operations and maintenance personnel in InCloud OpenStack, we developed the log management project “Venus” for the OpenStack projects and that has contributed to the OpenStack community. The following is an introduction to “Venus”. If there is interest in the community, we are interested in proposing it to become an official OpenStack project in the future.<u></u><u></u></span></p><h2><span lang="EN-US">Background<u></u><u></u></span></h2><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="font-family:"Times New Roman",serif">In the day-to-day operation and maintenance of large-scale cloud platform, the following problems are encountered</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p style="margin-left:21pt"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Time-consuming for log querying while the server increasing to thousands.<u></u><u></u></span></p><p style="margin-left:21pt"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Difficult to retrieve logs, since there are many modules in the platform, e.g. systems service, compute, storage, network and other platform services.<u></u><u></u></span></p><p style="margin-left:21pt"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">The large amount and dispersion of log make faults are difficult to be discovered.<u></u><u></u></span></p><p style="margin-left:21pt"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Because of distributed and interaction between components of the cloud platform, and scattered logs between components, it will take more time to locate problems.<u></u><u></u></span></p><h2><span lang="EN-US">About Venus<u></u><u></u></span></h2><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif">According to the key requirements of OpenStack in log storage, retrieval, analysis and so on, we introduced <b>Venus </b>project, a unified log management module. This module can provide a one-stop solution to log collection, cleaning, indexing, analysis, alarm, visualization, report generation and other needs, which involves helping operator or maintainer to quickly solve retrieve problems, grasp the operational health of the platform, and improve the management capabilities of the cloud platform. <u></u><u></u></span></p><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif">Additionally, this module plans to use machine learning algorithms to quickly locate IT failures and root causes, and improve operation and maintenance efficiency.<u></u><u></u></span></p><h2><span lang="EN-US">Application scenario<u></u><u></u></span></h2><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif">Venus played a key role in the following scenarios</span><span style="line-height:115%">:</span><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif"><u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;text-align:justify;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings;color:black"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">Retrieval:</span></b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"> Provide a simple and easy-to-use way to retrieve all log and the context.</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"><u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;text-align:justify;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings;color:black"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">Analysis</span></b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">:</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"> Realize log association, field value statistics, and provide multi-scene and multi-dimensional visual analysis reports.</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"><u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;text-align:justify;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings;color:black"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">Alerts</span></b><span style="font-size:10.5pt;line-height:115%;font-family:等线;color:black">:</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">Convert retrieval into active alerts to realize the error finding in massive logs.</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"><u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;text-align:justify;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings;color:black"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">Issue location</span></b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black">:</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"> Establish a chain relationship and knowledge graphs to quickly locate problems.</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif;color:black"><u></u><u></u></span></p><h2><span lang="EN-US">Overall structure<u></u><u></u></span></h2><p class="MsoNormal"><span lang="EN-US" style="font-family:"Times New Roman",serif">The architecture of log management system based on Venus and elastic search is as follows:<u></u><u></u></span></p><p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US"><img width="554" height="260" style="width: 5.7708in; height: 2.7083in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_8" src="cid:177041170d94ce8e91"></span><b><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></b></p><p class="MsoNormal" align="left" style="text-align:left;line-height:150%"><span lang="EN-US" style="font-size:9pt;line-height:150%;font-family:"Times New Roman",serif">Diagram 0: Architecture of Venus<u></u><u></u></span></p><p class="MsoNormal" style="text-indent:21pt;line-height:115%"><b><span lang="EN-US" style="font-family:"Times New Roman",serif">venus_api</span></b><span lang="EN-US" style="font-family:"Times New Roman",serif">: API module</span>,<span lang="EN-US" style="font-family:"Times New Roman",serif">provide API</span>、<span lang="EN-US" style="font-family:"Times New Roman",serif">rest-api service.<u></u><u></u></span></p><p class="MsoNormal" style="text-indent:21pt;line-height:115%"><b><span lang="EN-US" style="font-family:"Times New Roman",serif">venus_manager</span></b><span lang="EN-US" style="font-family:"Times New Roman",serif">: Internal timing task module to realize the core functions of the log system.<u></u><u></u></span></p><h2><span lang="EN-US">Current progress<u></u><u></u></span></h2><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="font-family:"Times New Roman",serif">The current progress of the Venus project is as follows:<u></u><u></u></span></p><p style="margin-left:21pt;line-height:115%"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Collection</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif">Develop <i>fluentd</i> collection tasks based on collectd to read, filter, format and send plug-ins for OpenStack, operating systems, and platform services, etc.<u></u><u></u></span></p><p style="margin-left:21pt;line-height:115%"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Index</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif">Dealing with multi-dimensional index data in <i>elasticsearch</i>, and provide more concise and comprehensive authentication interface to return query results.<u></u><u></u></span></p><p style="margin-left:21pt;line-height:115%"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Analysis</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif">Analyzing and display the related module errors, Mariadb connection errors, and Rabbitmq connection errors.<u></u><u></u></span></p><p style="margin-left:21pt;line-height:115%"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Alerts</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif">Develop alarm task code to set threshold for the number of error logs of different modules at different times, and provides alarm services and notification services.<u></u><u></u></span></p><p style="margin-left:21pt;line-height:115%"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Location</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif">Develop the call chain analysis function based on <i>global_requested</i> series, which can show the execution sequence, time and error information, etc., and provide the export operation.<u></u><u></u></span></p><p style="margin-left:21pt;line-height:115%"><u></u><span lang="EN-US" style="font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">Management</span>:<span lang="EN-US" style="font-family:"Times New Roman",serif">Develop configuration management functions in the log system, such as alarm threshold setting, timing task management, and log saving time setting, etc.<u></u><u></u></span></p><h2><span lang="EN-US">Application examples<u></u><u></u></span></h2><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif">Two examples of Venus application scenarios are as follows.<u></u><u></u></span></p><p style="margin-left:18pt;line-height:115%"><u></u><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif"><span>1.<span style="font:7pt "Times New Roman"">       </span></span></span><u></u><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif">The virtual machine creation operation was performed on the cloud platform and it was found that the virtual machine was not created successfully. <u></u><u></u></span></p><p style="margin-left:18pt;text-indent:0cm;line-height:115%"><span lang="EN-US" style="line-height:115%;font-family:"Times New Roman",serif">First, we can find the request id of the operation and jump to the virtual machine creation call chain page.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="554" height="34" style="width: 5.7708in; height: 0.3541in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_7" src="cid:177041170da5b006a2"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="553" height="92" style="width: 5.7604in; height: 0.9583in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_6" src="cid:177041170da6917eb3"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" style="text-indent:21pt"><span lang="EN-US" style="font-family:"Times New Roman",serif">Then, we can query the calling process, view and download the details of the log of the call.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="553" height="183" style="width: 5.7604in; height: 1.9062in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_5" src="cid:177041170da772f6c4"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="553" height="88" style="width: 5.7604in; height: 0.9166in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_4" src="cid:177041170da8546ed5"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p style="margin-left:18pt"><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif"><span>2.<span style="font:7pt "Times New Roman"">       </span></span></span><u></u><span lang="EN-US" style="font-family:"Times New Roman",serif">In the cloud platform, the error log of each module can be converted into alarms to remind the users.<u></u><u></u></span></p><p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="520" height="39" style="width: 5.4166in; height: 0.4062in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_3" src="cid:177041170da935e6e6"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" style="text-indent:10.5pt"><span lang="EN-US" style="font-family:"Times New Roman",serif">Further, we can retrieve the details of the error log and error log statistics.<u></u><u></u></span></p><p class="MsoNormal" align="left" style="text-align:left;text-indent:10.5pt"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="553" height="197" style="width: 5.7604in; height: 2.052in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_2" src="cid:177041170daa175ef7"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><p class="MsoNormal" align="left" style="text-align:left"><span lang="EN-US" style="font-family:"Times New Roman",serif"><img width="554" height="128" style="width: 5.7708in; height: 1.3333in;" id="gmail-m_303495921396440807gmail-m_7523567548160437843图片_x0020_1" src="cid:177041170daaf8d708"></span><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u><u></u></span></p><h2><span lang="EN-US">Next step<u></u><u></u></span></h2><p class="MsoNormal" style="line-height:115%"><span lang="EN-US" style="font-family:"Times New Roman",serif">The next step of the Venus project is as follows:<u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">Collection</span></b><span style="font-size:10.5pt;line-height:115%;font-family:等线">:</span><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">In addition to fluent, other collection plugins such as logstash will be integrated.<u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">Analysis</span></b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">: Explore more operation and maintenance scenarios, and conduct statistical analysis and alarm on key data.<u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">display</span></b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">: The configuration, analysis  and alarm of Venus will be integrated into horizon in the form of plugin.<u></u><u></u></span></p><p style="margin-right:0cm;margin-left:21pt;margin-bottom:0.0001pt;line-height:115%"><u></u><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:Wingdings"><span>l<span style="font:7pt "Times New Roman"">  </span></span></span><u></u><b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">location</span></b><span lang="EN-US" style="font-size:10.5pt;line-height:115%;font-family:"Times New Roman",serif">: Form clustering log and construct knowledge map, and integrate algorithm class library to locate the root cause of the fault. <u></u><u></u></span></p><h2><span lang="EN-US">Venus Project Registry<u></u><u></u></span></h2><p class="MsoNormal"><b><span lang="EN-US">Venus library</span></b><span lang="EN-US">: <a href="https://opendev.org/inspur/venus" target="_blank">https://opendev.org/inspur/venus</a> <u></u><u></u></span></p><p><span lang="EN-US">You can grab the source code using the following git command:<u></u><u></u></span></p><p><span lang="EN-US">git clone <a href="https://opendev.org/inspur/venus.git" target="_blank">https://opendev.org/inspur/venus.git</a><u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="font-family:"Times New Roman",serif"><u></u> <u></u></span></p><h2><span lang="EN-US" style="font-size:14pt;line-height:172%">Venus Demo <u></u><u></u></span></h2><p class="MsoNormal"><b><span lang="EN-US">Youtu.be</span></b><span lang="EN-US">: <a href="https://youtu.be/mE2MoEx3awM" target="_blank"><span style="font-size:11pt;font-family:"Times New Roman",serif">https://youtu.be/mE2MoEx3awM</span></a></span><span><span lang="EN-US" style="font-size:11pt;font-family:"Times New Roman",serif"><u></u><u></u></span></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p></div></div></blockquote></div>