summaryrefslogtreecommitdiffstats
path: root/docs/config.rst
blob: 4bc30ac243de13a7f141b640356b9b36c4713c8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
.. _config:

Configuration
=============

No configuration file is mandatory to use Glances.

Furthermore, a configuration file is needed to access more settings.

Location
--------

.. note::
    A template is available in the ``/usr{,/local}/share/doc/glances``
    (Unix-like) directory or directly on `GitHub`_.

You can place your ``glances.conf`` file in the following locations:

==================== =============================================================
``Linux``, ``SunOS`` ~/.config/glances/, /etc/glances/, /usr/share/docs/glances/
``*BSD``             ~/.config/glances/, /usr/local/etc/glances/, /usr/share/docs/glances/
``macOS``            ~/Library/Application Support/glances/, /usr/local/etc/glances/, /usr/share/docs/glances/
``Windows``          %APPDATA%\\glances\\glances.conf
==================== =============================================================

- On Windows XP, ``%APPDATA%`` is: ``C:\Documents and Settings\<USERNAME>\Application Data``.
- On Windows Vista and later: ``C:\Users\<USERNAME>\AppData\Roaming``.

User-specific options override system-wide options, and options given on
the command line overrides both.

Syntax
------

Glances read configuration files in the *ini* syntax.

A first section (called global) is available:

.. code-block:: ini

    [global]
    # Refresh rate (default is a minimum of 2 seconds)
    # Can be overwritten by the -t <sec> option
    # It is also possible to overwrite it in each plugin section
    refresh=2
    # Should Glances check if a newer version is available on PyPI ?
    check_update=false
    # History size (maximum number of values)
    # Default is 28800: 1 day with 1 point every 3 seconds
    history_size=28800
    # Define directory external to glances hierarchy for loading additional plugins
    # The layout follows the glances standard for plugin definitions
    # (see <install-dir>glances/plugins for details)
    # plugin_dir=/home/user/dev/plugins

Each plugin, export module, and application monitoring process (AMP) can
have a section. Below is an example for the CPU plugin:

.. code-block:: ini

    [cpu]
    disable=False
    refresh=3
    user_careful=50
    user_warning=70
    user_critical=90
    iowait_careful=50
    iowait_warning=70
    iowait_critical=90
    system_careful=50
    system_warning=70
    system_critical=90
    steal_careful=50
    steal_warning=70
    steal_critical=90

an InfluxDB export module:

.. code-block:: ini

    [influxdb]
    # Configuration for the --export influxdb option
    # https://influxdb.com/
    host=localhost
    port=8086
    user=root
    password=root
    db=glances
    prefix=localhost
    #tags=foo:bar,spam:eggs

or a Nginx AMP:

.. code-block:: ini

    [amp_nginx]
    # Nginx status page should be enabled (https://easyengine.io/tutorials/nginx/status-page/)
    enable=true
    regex=\/usr\/sbin\/nginx
    refresh=60
    one_line=false
    status_url=http://localhost/nginx_status

With Glances 3.0 or higher, you can use dynamic configuration values
by utilizing system commands. For example, if you want to set the prefix
of an InfluxDB export to the current hostname, use:

.. code-block:: ini

    [influxdb]
    ...
    prefix=`hostname`

Or if you want to add the Operating System name as a tag:

.. code-block:: ini

    [influxdb]
    ...
    tags=system:`uname -a`

Logging
-------

Glances logs all of its internal messages to a log file.

``DEBUG`` messages can be logged using the ``-d`` option on the command
line.

The location of the Glances log file depends on your operating system. You can
display the full path of the Glances log file using the ``glances -V``
command line.

The file is automatically rotated when its size exceeds 1 MB.

If you want to use another system path or change the log message, you
can use your logger configuration. First of all, you have to create
a ``glances.json`` file with, for example, the following content (JSON
format):

.. code-block:: json

    {
        "version": 1,
        "disable_existing_loggers": "False",
        "root": {
            "level": "INFO",
            "handlers": ["file", "console"]
        },
        "formatters": {
            "standard": {
                "format": "%(asctime)s -- %(levelname)s -- %(message)s"
            },
            "short": {
                "format": "%(levelname)s: %(message)s"
            },
            "free": {
                "format": "%(message)s"
            }
        },
        "handlers": {
            "file": {
                "level": "DEBUG",
                "class": "logging.handlers.RotatingFileHandler",
                "formatter": "standard",
                "filename": "/var/tmp/glances.log"
            },
            "console": {
                "level": "CRITICAL",
                "class": "logging.StreamHandler",
                "formatter": "free"
            }
        },
        "loggers": {
            "debug": {
                "handlers": ["file", "console"],
                "level": "DEBUG"
            },
            "verbose": {
                "handlers": ["file", "console"],
                "level": "INFO"
            },
            "standard": {
                "handlers": ["file"],
                "level": "INFO"
            },
            "requests": {
                "handlers": ["file", "console"],
                "level": "ERROR"
            },
            "elasticsearch": {
                "handlers": ["file", "console"],
                "level": "ERROR"
            },
            "elasticsearch.trace": {
                "handlers": ["file", "console"],
                "level": "ERROR"
            }
        }
    }

and start Glances using the following command line:

.. code-block:: console

    LOG_CFG=<path>/glances.json glances

.. note::
    Replace ``<path>`` with the directory where your ``glances.json`` file
    is hosted.

.. _GitHub: https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf