%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/beacons/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/beacons/status.pyo

�
���^c@@s�dZddlmZmZddlZddlZddlZddlZej	e
�ZdZd�Z
d�Zd�ZdS(u�
The status beacon is intended to send a basic health check event up to the
master, this allows for event driven routines based on presence to be set up.

The intention of this beacon is to add the config options to add monitoring
stats to the health beacon making it a one stop shop for gathering systems
health and status data

.. versionadded:: 2016.11.0

To configure this beacon to use the defaults, set up an empty dict for it in
the minion config:

.. code-block:: yaml

    beacons:
      status: []

By default, all of the information from the following execution module
functions will be returned:

    - loadavg
    - cpustats
    - meminfo
    - vmstats
    - time

You can also configure your own set of functions to be returned:

.. code-block:: yaml

    beacons:
      status:
        - time:
          - all
        - loadavg:
          - all

You may also configure only certain fields from each function to be returned.
For instance, the ``loadavg`` function returns the following fields:

    - 1-min
    - 5-min
    - 15-min

If you wanted to return only the ``1-min`` and ``5-min`` fields for ``loadavg``
then you would configure:

.. code-block:: yaml

    beacons:
      status:
        - loadavg:
          - 1-min
          - 5-min

Other functions only return a single value instead of a dictionary. With these,
you may specify ``all`` or ``0``. The following are both valid:

.. code-block:: yaml

    beacons:
      status:
        - time:
          - all

    beacons:
      status:
        - time:
          - 0

If a ``status`` function returns a list, you may return the index marker or
markers for specific list items:

.. code-block:: yaml

    beacons:
      status:
        - w:
          - 0
          - 1
          - 2


.. warning::
    Not all status functions are supported for every operating system. Be certain
    to check the minion log for errors after configuring this beacon.

i(tabsolute_importtunicode_literalsNustatuscC@s#t|t�stdfStdfS(u+
    Validate the the config is a dict
    u/Configuration for status beacon must be a list.uValid beacon configuration(t
isinstancetlisttFalsetTrue(tconfig((s7/usr/lib/python2.7/site-packages/salt/beacons/status.pytvalidatejs
cC@stS(N(t__virtualname__(((s7/usr/lib/python2.7/site-packages/salt/beacons/status.pyt__virtual__ssc	C@s�tj|�tjj�j�}t|�dkrridgd6dgd6dgd6dgd6dgd6g}nt|t�s�|g}ni}x;|D]3}x*|D]"}i||<ytdj	|��}Wn/t
jjk
r}tjd	||�q�nXt||t�s&||g}n
||}x�|D]�}|dkrV|||<q7yFy|||||<Wn)t
k
r�|t|�|||<nXWq7tk
r�}d
j	|�||<q7Xq7Wq�Wq�Wi|d6|d6gS(
u1
    Return status for requested information
    iualluloadavgucpustatsumeminfouvmstatsutimeu
status.{0}uHStatus beacon attempted to process function %s but encountered error: %su,Status beacon is incorrectly configured: {0}utagudata(tlogtdebugtdatetimetutcnowt	isoformattlenRRt__salt__tformattsaltt
exceptionstCommandExecutionErrort	TypeErrortinttKeyError(	Rtctimetrettentrytfunctdatatexct
func_itemstitem((s7/usr/lib/python2.7/site-packages/salt/beacons/status.pytbeaconwsJ







	




 #(t__doc__t
__future__RRtloggingRtsalt.exceptionsRtsalt.utils.platformt	getLoggert__name__R
RRR	R (((s7/usr/lib/python2.7/site-packages/salt/beacons/status.pyt<module>Zs			

Zerion Mini Shell 1.0