<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.4</version>
    <date>2022-05-12T06:19:31Z</date>
    <groups>
        <group>
            <uuid>10ad875129424b36b59aad5c10e9c731</uuid>
            <name>Supervisor</name>
        </group>
    </groups>
    <templates>
        <template>
            <uuid>5c967ccc3c294413a0e14ffc07e53b58</uuid>
            <template>supervisor</template>
            <name>supervisor</name>
            <groups>
                <group>
                    <name>Supervisor</name>
                </group>
            </groups>
            <items>
                <item>
                    <uuid>47f30e33e1654769b4f137f9bdefbca2</uuid>
                    <name>supervisor raw data</name>
                    <type>ZABBIX_PASSIVE</type>
                    <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <triggers>
                        <trigger>
                            <uuid>86d53c418f944d138650df82ac84ce56</uuid>
                            <expression>nodata(/supervisor_active/supervisor_raw[{$SUPERVISOR_SOCKET}],10m)=1</expression>
                            <name>No data supervisor 10 min</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <uuid>610b8ba567f64f9e9d8c9034b153568e</uuid>
                            <expression>find(/supervisor_active/supervisor_raw[{$SUPERVISOR_SOCKET}],#1,,&quot;Traceback&quot;)=1
or 
find(/supervisor_active/supervisor_raw[{$SUPERVISOR_SOCKET}],#1,,&quot;SyntaxError&quot;)=1</expression>
                            <name>Supervisor error fetch status</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <uuid>9788162cffda4b08b1ee27a721024558</uuid>
                    <name>supervisor discovery</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>supervisor_discovery[{$SUPERVISOR_SOCKET}]</key>
                    <item_prototypes>
                        <item_prototype>
                            <uuid>f645d65110f64bd489011d3cac527100</uuid>
                            <name>Service {#SUPERVISOR_PROCESS_NAME} now</name>
                            <type>DEPENDENT</type>
                            <key>service_now_[{#SUPERVISOR_PROCESS_NAME}]</key>
                            <delay>0</delay>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <parameters>
                                        <parameter>$.[&quot;{#SUPERVISOR_PROCESS_NAME}&quot;].now</parameter>
                                    </parameters>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <uuid>84f11676bd074f4cb04382e4e39271d4</uuid>
                            <name>Service {#SUPERVISOR_PROCESS_NAME} spawnerr</name>
                            <type>DEPENDENT</type>
                            <key>service_spawnerr_[{#SUPERVISOR_PROCESS_NAME}]</key>
                            <delay>0</delay>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <parameters>
                                        <parameter>$.[&quot;{#SUPERVISOR_PROCESS_NAME}&quot;].spawnerr</parameter>
                                    </parameters>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <uuid>ec2b656f9a414f0f9267e0203ba132e6</uuid>
                            <name>Service {#SUPERVISOR_PROCESS_NAME} start</name>
                            <type>DEPENDENT</type>
                            <key>service_start_[{#SUPERVISOR_PROCESS_NAME}]</key>
                            <delay>0</delay>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <parameters>
                                        <parameter>$.[&quot;{#SUPERVISOR_PROCESS_NAME}&quot;].start</parameter>
                                    </parameters>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <uuid>bdd5ab9772ed494fadba55ca7e290a34</uuid>
                            <name>Service {#SUPERVISOR_PROCESS_NAME} statename</name>
                            <type>DEPENDENT</type>
                            <key>service_statename_[{#SUPERVISOR_PROCESS_NAME}]</key>
                            <delay>0</delay>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <parameters>
                                        <parameter>$.[&quot;{#SUPERVISOR_PROCESS_NAME}&quot;].statename</parameter>
                                    </parameters>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <uuid>2cffc504a39643f888a3c6f32abc0ac4</uuid>
                                    <expression>last(/supervisor_active/service_statename_[{#SUPERVISOR_PROCESS_NAME}])&lt;&gt;&quot;RUNNING&quot;
and 
last(/supervisor_active/service_statename_[{#SUPERVISOR_PROCESS_NAME}],#2)&lt;&gt;&quot;RUNNING&quot;</expression>
                                    <name>Service {#SUPERVISOR_PROCESS_NAME} fail</name>
                                    <priority>AVERAGE</priority>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <uuid>02363889af9d43f3a20f8018e368f553</uuid>
                            <name>Service {#SUPERVISOR_PROCESS_NAME} stop</name>
                            <type>DEPENDENT</type>
                            <key>service_stop_[{#SUPERVISOR_PROCESS_NAME}]</key>
                            <delay>0</delay>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <parameters>
                                        <parameter>$.[&quot;{#SUPERVISOR_PROCESS_NAME}&quot;].stop</parameter>
                                    </parameters>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <uuid>f5449376f94348aab58a13a05f815d01</uuid>
                            <name>Service {#SUPERVISOR_PROCESS_NAME} uptime</name>
                            <type>DEPENDENT</type>
                            <key>service_uptime_[{#SUPERVISOR_PROCESS_NAME}]</key>
                            <delay>0</delay>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <parameters>
                                        <parameter>$.[&quot;{#SUPERVISOR_PROCESS_NAME}&quot;].uptime</parameter>
                                    </parameters>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>supervisor_raw[{$SUPERVISOR_SOCKET}]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <uuid>577b334d720346a08a811e5f7f1e697e</uuid>
                                    <expression>max(/supervisor_active/service_uptime_[{#SUPERVISOR_PROCESS_NAME}],#3)&lt;61</expression>
                                    <name>Service {#SUPERVISOR_PROCESS_NAME} inifinity restart</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <uuid>3aea54201e8a41acbd5d08c3820334e3</uuid>
                                    <expression>last(/supervisor_active/service_uptime_[{#SUPERVISOR_PROCESS_NAME}],#1)&lt;61</expression>
                                    <name>Service {#SUPERVISOR_PROCESS_NAME} uptime &lt; 60 sec</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$SUPERVISOR_SOCKET}</macro>
                    <value>/var/run/supervisor.sock</value>
                </macro>
            </macros>
        </template>
    </templates>
</zabbix_export>
