<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Astron. Space Sci.</journal-id>
<journal-title>Frontiers in Astronomy and Space Sciences</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Astron. Space Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-987X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">896040</article-id>
<article-id pub-id-type="doi">10.3389/fspas.2022.896040</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Astronomy and Space Sciences</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>The Tian Ma 65-m Telescope Automatic Early Warning System</article-title>
<alt-title alt-title-type="left-running-head">Wei-Hua et al.</alt-title>
<alt-title alt-title-type="right-running-head">Shanghai Astronomical Observatory, CAS</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wei-Hua</surname>
<given-names>Shang-Guan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1712598/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Rong-Bing</surname>
<given-names>Zhao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Dong</surname>
<given-names>Zhang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chu Yuan</surname>
<given-names>Zhang</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Shanghai Astronomical Observatory</institution>, <institution>Chinese Academy of Sciences</institution>, <addr-line>Shanghai</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>University of Chinese Academy of Sciences</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Xi&#x2019;an University of Posts and Telecommunications</institution>, <addr-line>Xi&#x2019;an</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1512979/overview">Frederic Victor Hessman</ext-link>, Georg-August-Universit&#xe4;t G&#xf6;ttingen, Germany</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/263783/overview">Aletha De Witt</ext-link>, Hartebeesthoek Radio Astronomy Observatory (HartRAO), South Africa</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1631583/overview">Tim-Oliver Husser</ext-link>, University of G&#xf6;ttingen, Germany</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Zhao Rong-Bing, <email>zhaorb@shao.ac.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Astronomical Instrumentation, a section of the journal Frontiers in Astronomy and Space Sciences</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>22</day>
<month>08</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>9</volume>
<elocation-id>896040</elocation-id>
<history>
<date date-type="received">
<day>14</day>
<month>03</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>23</day>
<month>06</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Wei-Hua, Rong-Bing, Dong and Chu Yuan.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Wei-Hua, Rong-Bing, Dong and Chu Yuan</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>The Tian Ma Radio Telescope (TMRT), which is mainly used for deep space exploration and radio astronomy observations, is the largest fully steerable radio telescope in Asia. For promoting the automation of the telescope, an automatic early warning system is designed and implemented. The system can conveniently aggregate heterogeneous sensor data, make use of established strategies to implement an alert system, and send real-time alarms through multiple channels, which is helpful to promote unmanned operation. In addition, we adopt DevOps (a compound of development (Dev) and operations (Ops) which means end-to-end automation in software development and delivery) to simplify the development, upgrading, and maintenance of the telescope automatic early warning system.</p>
</abstract>
<kwd-group>
<kwd>TMRT</kwd>
<kwd>automation</kwd>
<kwd>real-time alarms</kwd>
<kwd>DevOps</kwd>
<kwd>automatic early-warning system</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The Tian Ma Radio Telescope (TMRT) in Shanghai has a primary reflector of 65&#xa0;m diameter with a shaped Cassegrain configuration. It has advanced equipment such as an active surface control system, an 8-band low-noise receiver system covering 1&#x2013;50&#xa0;GHz, VLBI high-speed data acquisition systems, and high-stability hydrogen atomic clocks. It is available for deep space exploration tasks such as orbit determination, for radio astronomy single-dish and Very Long Baseline Interferometry (VLBI) observations, and for geodetic VLBI observations. The TMRT has already achieved many of its engineering goals and, as a result, has provided many world-class scientific results. First, the TMRT, as a powerful unit of the Chinese VLBI Network (CVN), has undertaken many deep space exploration tasks, such as VLBI observations in the Chang&#x2019;e-3 orbit determination (<xref ref-type="bibr" rid="B3">Liu et al., 2015</xref>). Second, the TMRT conducts many astronomical observations for scientific research purposes. Its operating frequency range covers many important astronomical spectrum lines, such as NH3, CCS, and HC3N (<xref ref-type="bibr" rid="B8">Xie J et al., 2021</xref>; <xref ref-type="bibr" rid="B9">Zhang et al., 2021</xref>). Pulsars are also important targets of the TMRT, such as the comprehensive pulse profile study of 71 pulsars (<xref ref-type="bibr" rid="B11">Zhao R.-S et al., 2019</xref>). Third, the TMRT also carries out many geodetic VLBI observations. For example, the TMRT, as one component of the International VLBI Service for Geodesy and Astrometry (IVS) network stations, participated in six IVS sessions in 2019 and 2020 (<xref ref-type="bibr" rid="B7">Xie B et al., 2021</xref>).</p>
<p>To meet the above mentioned scientific and engineering goals, the TMRT has been operating for almost 24&#xa0;h a day. Manpower on 24-h shifts is a direct way to monitor the operation of the TMRT, but with the progress of science and technology, more and more stations have researched and applied remote and autonomous operations and status monitoring (<xref ref-type="bibr" rid="B5">Neidhardt, 2017</xref>). More remote control software are also being developed for telescopes, such as Client Graphics User Interface Library Tools (CGLT), E-control, and Jmonan (<xref ref-type="bibr" rid="B4">Neidhardt et al., 2010</xref>; <xref ref-type="bibr" rid="B6">Ruztort et al., 2012</xref>; <xref ref-type="bibr" rid="B10">Zhao D et al., 2019</xref>). The remote and autonomous control software is also applied to the TMRT.</p>
<p>The Tian Ma 65-m Telescope Automatic Early Warning System (TAEWS) can provide a safety guarantee for the TMRT during autonomous operations through real-time operational status early warning detection for the TMRT. Currently, we have placed some sensors in different locations of the telescope. The TAEWS aggregates these heterogeneous sensor data and then detects in real time whether the TMRT is operating beyond the preset alarm values. It uses push notifications and alert notifications will be sent through multiple channels in case of abnormalities. Engineers can also download historical data from the system after the event to analyze the cause of the error in the TMRT.</p>
<p>Next, we will introduce the four parts of the TAEWS: <xref ref-type="sec" rid="s2">Section 2</xref>) The monitoring items of the TMRT; <xref ref-type="sec" rid="s3">Section 3</xref>) Aggregation of heterogeneous data; <xref ref-type="sec" rid="s4">Section 4</xref>) Data visualization, detection and alarm; <xref ref-type="sec" rid="s5">Section 5</xref>) Application of DevOps (a compound of development (Dev), and operations (Ops) meaning end-to-end automation in software development and delivery) in the system.</p>
</sec>
<sec id="s2">
<title>2 The Monitoring Items of the TMRT</title>
<p>At present, the monitoring items supported by the system mainly include motor current detection, antenna rotation detection, bearing stress detection, and antenna mechanical structure problem detection. As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, sensors, which include vibration sensors, temperature sensors, stress sensors, and ranging sensors, are distributed in different locations on the antenna. Each of them will be described next.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Figure shows the model diagram of the TMRT. The black text &#x201c;A&#x201d; marks the vibration sensor position, the red &#x201c;B&#x201d; marks the range sensor position, the red &#x201c;S&#x201d; marks the stress sensor position, the red &#x201c;T&#x201d; marks the temperature sensor position. And the numbers are their numbers, such as &#x201c;A1&#x201d; means vibration sensor number 1.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g001.tif"/>
</fig>
<p>The TMRT weighs about 2,700 tons and the weight of its reflector is mainly borne by bearings. As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, stress sensors, temperature sensors, and distance sensors are added to the bearing end. These sensors detect stress changes in the reflector to the bearing. The TMRT has eight azimuth (AZ) rotation motors and four elevation axis rotation motors. The rotation of the antenna is driven by a motor, which detects changes in motor current when the motor is driving to determine if there is any abnormal resistance during operation. Each motor of the TMRT is equipped with at least one current sensor. Besides this, the rotation speed and acceleration of the AZ and pitch axes can also be detected. When observing at higher frequencies, the vibration caused by the servo drive systems will be significant, so we have placed vibration sensors at the primary reflector, sub-reflector, and feeder (<xref ref-type="bibr" rid="B2">Brandt, 2000</xref>). We can detect whether there is any problem with the mechanical structure of the antenna and if the servo control is normal.</p>
<p>To enable an early warning for the above-mentioned detection items (sensors), we have designed the TAEWS. The structure diagram of this system is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. As shown in the structure diagram, the TAEWS is divided into three parts: the environment, the services, and the user interface. We deploy the services part on the Docker Engine<xref ref-type="fn" rid="fn1">
<sup>1</sup>
</xref> (environment part), which facilitates our development using DevOps. The details of DevOps will be introduced in <xref ref-type="sec" rid="s5">Section 5</xref>. The services in the structure diagram include Data Sampler, Influxdb<xref ref-type="fn" rid="fn2">
<sup>2</sup>
</xref>, Telegraf<xref ref-type="fn" rid="fn3">
<sup>3</sup>
</xref>, Grafana<xref ref-type="fn" rid="fn4">
<sup>4</sup>
</xref>, Grafana-Images-Renderer<xref ref-type="fn" rid="fn5">
<sup>5</sup>
</xref>, Portainer<xref ref-type="fn" rid="fn6">
<sup>6</sup>
</xref>, and source code management software.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Figure shows that the architecture of the TAEWS is divided into three parts: environment, services, and user interface. All services of the TAEWS are deployed on the Docker Engine. Services mainly include Data Sampler, Telegraf, Influxdb, Grafana, Grafana-Images-Renderer, Portainer, and GitLab. Data Sampler and Telegraf are used for data collection, Influxdb for the time-series database, Portainer for container deployment, GitLab for source code management, Grafana and Grafana Render for visualization and graphic alert. User interfaces include web browsers, Slack, and email. Users can access visualization pages through browsers and push alerts through email, Slack, etc.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g002.tif"/>
</fig>
<p>Data Sampler is used to collect data from the sensor software and hardware and print it out on the system console in a comma separated value (CSV) format.</p>
<p>Influxdb is a time-series database for storing sensor data. The use of a time-series database will also optimize our storage of time-stamped sensor data.</p>
<p>Telegraf is used to store Data Sampler output sensor data to the Influxdb database and to keep the Data Sampler service running. For example, when the sensor network is disconnected, the Data Sampler may crash and exit. But the Telegraf will restart the Data Sampler by timed attempts, and we set the time interval to 1&#xa0;min. So, after the sensor network is restored, the Data Sampler will also be restored after 1&#xa0;minute.</p>
<p>Grafana provides visualization, monitoring, and alerting capabilities primarily for data in Influxdb. We have designed panels to visualize the values of the sensors on the TMRT, as detailed in <xref ref-type="sec" rid="s4">Section 4</xref>.</p>
<p>Grafana-Images-Renderer is used to help Grafana improve the alert messages by replacing the values in the alert emails with screenshots of the visualization panels. The pictures of the visualization panel will be more useful for engineers and observers to understand the situation than the alarm values.</p>
<p>Portainer is the service management platform of the TAEWS. As a service management tool, Portainer makes it convenient to deploy services, create services, edit service configurations, and view service status.</p>
<p>GitLab<xref ref-type="fn" rid="fn7">
<sup>7</sup>
</xref> is used to manage service orchestration code and the data sampler code, and to implement DevOps. More details are provided in <xref ref-type="sec" rid="s5">Section 5</xref>.</p>
<p>The main TAEWS user interfaces are through Slack<xref ref-type="fn" rid="fn8">
<sup>8</sup>
</xref>, email, and a web browser. Engineers and observers can receive alert messages from Grafana via Slack and email. They have cross-platform access to real-time graphs of sensor data on Grafana via a web browser.</p>
</sec>
<sec id="s3">
<title>3 Aggregation of Heterogeneous Data</title>
<p>Next, we need to aggregate the data from these sensors. Each sensor is equipped with a Data Sampler, a Telegraf, and an Influxdb service called the Telegraf-Influxdb data stream. The Telegraf-Influxdb data stream structure is used to implement persistent sensor data collection: the Data Sampler collects sensor data and prints it to Telegraf in CSV format, and Telegraf writes the collected data to Influxdb. The data transfer differences of the heterogeneous sensors are solved by different Data Samplers. Since the Telegraf-Influxdb data stream structure is based on Telegraf and Influxdb, only the Data Sampler is programmed.</p>
<p>First, the communication interface, data sampling rate, and data format of heterogeneous sensors may be different. Some manufacturers of sensors on the TMRT have customized communication interface standards specific to their sensors, which may require us to use the manufacturer&#x2019;s software, protocols, development languages, or dependency packages. For example, the bearing sensors on the TMRT use a customized Modbus protocol that cannot be communicated with directly by existing open-source tools. The data storage format of the vibration sensor REFTEK130 on the TMRT is PAS. The python library ObsPy (<xref ref-type="bibr" rid="B1">Beyreuther et al., 2010</xref>) and the commercial software of Reftek Systems Inc. are the only tools found that can decode the PAS format.</p>
<p>Transferring data to Telegraf <italic>via</italic> a standard output stream is a convenient way to solve the problem. First, the Data Sampler outputs data to the system in CSV format. Second, Telegraf calls the Data Sampler program through a child process and gathers the system output stream from the child process. Since the programming language can be printed, there are many programming language options for The Data Sampler. This helps to cope with sensor hardware and software interfaces from various vendors compared to a single programming language. And because Telegraf can cache data and maintain the data sampler, the data sampler basically just converts the data transferred from the sensor hardware or software into CSV format and prints it to the system console.</p>
<p>Second, since telescope anomaly monitoring is still under research, we need to ensure that the system is scalable, i.e., that it is compatible with adding new detections but also with removing the old ones. Therefore, we make each sensor&#x2019;s Data Sampler and Telegraf into a container, which makes the Data Sampler highly cohesive with the sensor, and coupling with the database is resolved through Telegraf. The data collection container is connected to the database, ensuring that there is no dependency between Data Samplers.</p>
</sec>
<sec id="s4">
<title>4 Data Visualization, Detection, and Alerts</title>
<p>The user interface of Grafana allows for customized visual charts, customized alert rules, and customized message channels. <xref ref-type="fig" rid="F3">Figure 3</xref> shows some graphs we designed. For example (E) in <xref ref-type="fig" rid="F3">Figure 3</xref> is used to visualize the AZ acceleration of the TMRT. The maximum and minimum values of the AZ acceleration are shown at the bottom of the graph. While sensor data is continuously recorded through the Telegraf-Influxdb data stream structure, Grafana can provide real-time visualization capabilities and real-time alerting capabilities for telescope status. For example, we visualize the elevation angle of the antenna, and then set the alert rule to notify the TMRT observer when the antenna elevation angle is below 20&#xb0; for 10&#xa0;min.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>This is a visualization page in TAEWS. <bold>(A)</bold> is the difference between adjacent max and min of vibration acceleration, <bold>(B)</bold> is the time-series diagram of feeder vibration acceleration, <bold>(C)</bold> is the time-series diagram of AZ axis angular velocity, <bold>(D)</bold> is the time-series diagram of AZ axis position, <bold>(E)</bold> is the time-series diagram of AZ axis acceleration, <bold>(F)</bold> is the time-series diagram of AZ axis motor current.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g003.tif"/>
</fig>
<p>In <xref ref-type="fig" rid="F3">Figure 3</xref>, we can see that the values include antenna rotation speed, antenna pointing position, antenna rotation acceleration, antenna motor current, antenna bearing stress, and antenna vibration acceleration. Changing the step size to adjust the time interval at which the data is displayed makes it easier to understand long-term changes and short-term changes in the data. Note that the minimum time interval of the data displayed by the Grafana is limited by the sampling rate of the data print from the data sampler. Grafana also supports downloading data directly from charts.</p>
<p>If an alarm occurs, a red alarm line will appear on its chart, as shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. At present, the alarm of TMRT mainly uses simple and complex threshold values to set a reasonable interval for necessary data items for real-time monitoring. When the value exceeds the interval, the system will alert the message. The simple thresholds are set based on unprocessed data. For example, through the experience of daily maintenance, we set the upper limit of the AZ voltage value as 70A, and when the voltage exceeds the range, abnormal marks will appear, as shown in <xref ref-type="fig" rid="F4">Figure 4</xref>. The complex thresholds are set by performing some simple operations on the data. For example, the threshold for vibration monitoring is the adjacent difference and standard deviation of normalized vibration data. The mail alert, shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, is a practical example of adjacent differences.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>This is a sample timing diagram for an antenna AZ motor current alarm. In the figure, the motor current curve has broken through the red alarm area above, and then Grafana will mark 13:58:00 with a red line, which shows that there was a voltage anomaly within 2&#xa0;minutes. The green line at 13:59:00 shows that the abnormality did not appear after the time point marked by the red line.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>This is a screenshot of the system alert push message. The top-left part is the email message interface, which includes alert values, alert items, value charts, and some alert messages. The bottom half of the figure, which is marked &#x2018;C&#x2019;, is a chart detailing the data for this alert. The top-right part is the message interface on the Slack app, which includes alert values, alert items, and some alert messages. The marker &#x201c;A&#x201d; and marker &#x201c;B&#x201d; are examples of TMRT alerts.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g005.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, if an alert subscription is set, a push message will be sent through Slack and email. First, a time-series graph is added to the email alert message. The original alert email message has only anomalous data values, which is what the email section in <xref ref-type="fig" rid="F5">Figure 5</xref> looks like without the time-series graph in the blue box. The Grafana-Images-Renderer service is used to draw Grafana graphs and export them as PNG format images, which Grafana then uses to draw time-series data charts to add to the emails. Next, in order for the time-series graph to show the situation before and after the occurrence of the alarm, we postpone the alarm time backward with an acceptable delay. As in <xref ref-type="fig" rid="F5">Figure 5</xref>, the values that exceed the red alert area are located 1&#xa0;min before.</p>
</sec>
<sec id="s5">
<title>5 DevOps in TAEWS</title>
<p>DevOps speeds the delivery of higher quality software by combining and automating the work of software development and IT operations teams. As shown in <xref ref-type="fig" rid="F6">Figure 6</xref>, We apply the DevOps method to development in the Docker environment to further improve the speed of software iteration and the convenience of service deployment.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>We use Git to update code to the source code management platform such as GitLab, then the platform performs container building, container pushing, and so on through hooks. Later, Portainer automatically pulls the latest service image through the container registry.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g006.tif"/>
</fig>
<p>During the development of TAEWS, GitLab manages two types of projects. The first type is the Data Sampler code. The Data Sampler projects include the dockerfile code used to build containers. When the code is submitted to the code management platform, the Data Sampler container is automatically built and submitted to shao. docker.ac.cn, a private container image repository on the intranet. The second type is the TAEWS container orchestration code. This code is mainly the &#x201c;docker-compose.yml&#x201d; file and some environment variable files. The environment variable files record the environment variable settings needed for each service. For example, the name of the database such as &#x201c;vibration_data&#x201d;. The &#x201c;docker-compose.yml&#x201d; file is used for the Portainer to deploy containers. For example, the Grafana container maps port 3,000 inside the container to port 80 on the host. The Portainer automatically pulls the required images from docker. shao.ac.cn and deploys the TAEWS on the Docker engine. These approaches enable the continuous integration of the system, which facilitates the development of the system.</p>
<p>In addition to using the Portainer to create and deploy services, we also use the Portainer to complete the maintenance of the services. In <xref ref-type="fig" rid="F7">Figure 7</xref>, we can clearly see the port status, creation time, and running state of each container. The Quick Actions allow the user to debug and monitor services. For example, we check the current CPU usage of the container image repository, as in part A of <xref ref-type="fig" rid="F7">Figure 7</xref>. We may also need to open the container&#x2019;s terminal to execute some commands. For example, part B of <xref ref-type="fig" rid="F7">Figure 7</xref> to see if the name configuration of the database is normal.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>This is an example of using the Portainer to manage the TAEWS system. The information of all the services, such as current running status, creation time, and port occupancy, is clearly visible on the page, and operations such as logging, terminal, and status view are available in the Quick Actions column.</p>
</caption>
<graphic xlink:href="fspas-09-896040-g007.tif"/>
</fig>
</sec>
<sec id="s6">
<title>6 Conclusion</title>
<p>As an automatic and real-time early warning detection system for the TMRT, the TAEWS achieves the abnormal condition detection of electromechanical current, antenna rotation, bearing stress, and antenna mechanical structure. It implements persistent storage of heterogeneous sensor data, monitoring of threshold rules for the sensor data, and notification of exception messages. We also briefly describe the containerization and DevOps applications of this system, describing the ability to iterate quickly with a small amount of coding. In the future, with the increase of detection items and the improvement of anomaly detection methods, the automatic warning system of the TMRT will be gradually improved.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data Availability Statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s8">
<title>Author Contributions</title>
<p>SW-H: conceptualization, methodology, software, project administration, investigation, formal analysis, validation, and writing&#x2014;original draft; ZR-B: conceptualization, funding acquisition, resources, supervision, and writing&#x2014;review and editing; ZD: software and writing&#x2014;original draft; and ZC-Y: visualization and investigation.</p>
</sec>
<sec id="s9">
<title>Funding</title>
<p>This work was supported by the National SKA Program of China, No. 2020SKA0120104.</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<fn-group>
<fn id="fn1">
<label>1</label>
<p>Docker Inc. (2020). Docker Engine overview. <ext-link ext-link-type="uri" xlink:href="https://docs.docker.com/engine/">https://docs.docker.com/engine/</ext-link>[Accessed 29 May 2022].</p>
</fn>
<fn id="fn2">
<label>2</label>
<p>InfluxData. (2022). InfluxDB. <ext-link ext-link-type="uri" xlink:href="https://github.com/influxdata/influxdb">https://github.com/influxdata/influxdb</ext-link> [Accessed 29 May 2022].</p>
</fn>
<fn id="fn3">
<label>3</label>
<p>InfluxData. (2022). Telegraf. <ext-link ext-link-type="uri" xlink:href="https://github.com/influxdata/telegraf">https://github.com/influxdata/telegraf</ext-link> [Accessed 29 May 2022].</p>
</fn>
<fn id="fn4">
<label>4</label>
<p>Grafana Labs. (2022). Grafana. <ext-link ext-link-type="uri" xlink:href="https://github.com/grafana/grafana">https://github.com/grafana/grafana</ext-link> [Accessed 29 May 2022].</p>
</fn>
<fn id="fn5">
<label>5</label>
<p>Grafana Labs. (2022). grafana-image-renderer. <ext-link ext-link-type="uri" xlink:href="https://github.com/grafana/grafana-image-renderer">https://github.com/grafana/grafana-image-renderer</ext-link> [Accessed 29 May 2022].</p>
</fn>
<fn id="fn6">
<label>6</label>
<p>Portainer.io. (2022). Portainer. <ext-link ext-link-type="uri" xlink:href="https://github.com/portainer/portainer">https://github.com/portainer/portainer</ext-link> [Accessed 29 May 2022].</p>
</fn>
<fn id="fn7">
<label>7</label>
<p>GitLab B.V. (2021). GitLab. <ext-link ext-link-type="uri" xlink:href="https://gitlab.com/gitlab-org/gitlab">https://gitlab.com/gitlab-org/gitlab</ext-link> [Accessed 29 May 2022].</p>
</fn>
<fn id="fn8">
<label>8</label>
<p>Slack Technologies, LLC, Salesforce. (2022). Where Work Happens. <ext-link ext-link-type="uri" xlink:href="https://slack.com/">https://slack.com/</ext-link>[Accessed 29 May 2022].</p>
</fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Beyreuther</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Barsch</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Krischer</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Megies</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Behr</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wassermann</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>ObsPy: A Python Toolbox for Seismology</article-title>. <source>Seismol. Res. Lett.</source> <volume>81</volume> (<issue>3</issue>), <fpage>530</fpage>&#x2013;<lpage>533</lpage>. <pub-id pub-id-type="doi">10.1785/gssrl.81.3.530</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Brandt</surname>
<given-names>J. J.</given-names>
</name>
</person-group> (<year>2000</year>). &#x201c;<article-title>Controlling the Green Bank Telescope</article-title>,&#x201d; in <source>Advanced Telescope and Instrumentation Control Software. Advanced Telescope and Instrumentation Control Software, Proc</source> (<publisher-loc>Munich, Germany</publisher-loc>: <publisher-name>SPIE 4009</publisher-name>), <fpage>96</fpage>&#x2013;<lpage>108</lpage>. <pub-id pub-id-type="doi">10.1117/12.388381</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Analysis of VLBI Observation for Tianma Radio Telescope in Chang&#x27;E-3 Orbit Determination</article-title>. <source>Sci. Sin.-Phys. Mech. Astron.</source> <volume>45</volume> (<issue>3</issue>), <fpage>039501</fpage>. <pub-id pub-id-type="doi">10.1360/sspma2014-00323</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Neidhardt</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ettl</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Rottmann</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Plotz</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Muhlbauer</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hase</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2010</year>). &#x201c;<article-title>E-Control: First Public Release of Remote Control Software for VLBI Telescopes</article-title>,&#x201d; in <conf-name>International VLBI Service for Geodesy and Astrometry 2010 General Meeting Proceedings</conf-name>, <conf-date>8 Jun. 2021</conf-date>, <fpage>439</fpage>&#x2013;<lpage>443</lpage>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="http://ivscc.gsfc.nasa.gov/publications/gm2010/neidhardt2.pdf">http://ivscc.gsfc.nasa.gov/publications/gm2010/neidhardt2.pdf</ext-link>
</comment>. </citation>
</ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Neidhardt</surname>
<given-names>A. N. J.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Applied Computer Science for GGOS Observatories</article-title>,&#x201d; in <source>Applied Computer Science for GGOS Observatories: Communication, Coordination and Automation of Future Geodetic Infrastructures</source> (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer International Publishing (Springer Textbooks in Earth Sciences, Geography and Environment</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-40139-3</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ruztort</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Hase</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zapata</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Pedreros Bustos</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>Remote Control and Monitoring of VLBI Experiments by Smartphones</article-title>,&#x201d; in <conf-name>International VLBI Service for Geodesy and Astrometry 2012 General Meeting Proceedings</conf-name>, <conf-date>8 Jun. 2021</conf-date>, <fpage>286</fpage>&#x2013;<lpage>290</lpage>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="http://ivscc.gsfc.nasa.gov/publications/gm2012/Herrera.pdf">http://ivscc.gsfc.nasa.gov/publications/gm2012/Herrera.pdf</ext-link>
</comment>. </citation>
</ref>
<ref id="B7">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Xia</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Shanghai Station Report for 2019-2020</article-title>. <comment>[online] Available at: <ext-link ext-link-type="uri" xlink:href="https://ivscc.gsfc.nasa.gov/publications/br2019+2020/nsshao.pdf">https://ivscc.gsfc.nasa.gov/publications/br2019&#x2b;2020/nsshao.pdf</ext-link> (Accessed Jun 8, 2022)</comment>. </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xie</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Fuller</surname>
<given-names>G. A.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ren</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>The TMRT K Band Observations towards 26 Infrared Dark Clouds: NH3, CCS, and HC3N</article-title>. <source>Sci. China Phys. Mech. Astron.</source> <volume>64</volume> (<issue>7</issue>), <fpage>279511</fpage>. <pub-id pub-id-type="doi">10.1007/s11433-021-1695-0</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.-C.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Esimbek</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Carbon-chain Molecule Survey toward Four Low-Mass Molecular Outflow Sources</article-title>. <source>A&#x26;A</source> <volume>648</volume>, <fpage>A83</fpage>. <pub-id pub-id-type="doi">10.1051/0004-6361/202039110</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>The 13-Meter Radio Telescope Monitor and Control Software</article-title>,&#x201d; in <source>Advances in Computational Science and Computing</source>. Editors <person-group person-group-type="editor">
<name>
<surname>Xiong</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Xiao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Tong</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>M.</given-names>
</name>
</person-group> (<publisher-loc>Cham</publisher-loc>: <publisher-name>Springer International Publishing (Advances in Intelligent Systems and Computing</publisher-name>), <fpage>37</fpage>&#x2013;<lpage>44</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-02116-0_5</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>R.-S.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.-J.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Z.-Q.</given-names>
</name>
<name>
<surname>Manchester</surname>
<given-names>R. N.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>5.0 GHz TMRT Observations of 71 Pulsars</article-title>. <source>ApJ</source> <volume>874</volume> (<issue>1</issue>), <fpage>64</fpage>. <pub-id pub-id-type="doi">10.3847/1538-4357/ab05de</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>