]> arthur.barton.de Git - netdata.git/commitdiff
update python modules readme
authorpaulfantom <paulfantom@gmail.com>
Mon, 4 Jul 2016 21:49:06 +0000 (23:49 +0200)
committerpaulfantom <paulfantom@gmail.com>
Mon, 4 Jul 2016 21:49:06 +0000 (23:49 +0200)
python.d/README.md
python.d/squid.chart.py

index 2cf6c52d9e55decacdee478833652a119f0c7ffe..a6092053bafa36afee37b31a99447a41f430704d 100644 (file)
@@ -1,8 +1,8 @@
 # Disclaimer
 
-**Python plugin support is experimental and implementation may change in the future**
+**Python support is experimental and implementation may change in the future**
 
-Every plugin should be compatible with python2 and python3.
+Every module should be compatible with python2 and python3.
 All third party libraries should be installed system-wide or in `python_modules` directory.
 Module configurations are written in YAML and **pyYAML is required**.
 
@@ -29,7 +29,6 @@ priority     : 20000
 
 local:  # job name
   update_every : 5 # job update frequency
-  retries      : 2 # job retries
   other_var1   : some_val # module specific variable
 
 other_job: 
@@ -42,14 +41,121 @@ other_job:
 
 ---
 
-The following python.d plugins are supported:
+The following python.d modules are supported:
+
+# apache
+
+This module will monitor one or more apache servers depending on configuration. 
+
+**Requirements:**
+ * apache with enabled `mod_status`
+
+It produces following charts:
+
+1. **Requests** in requests/s
+ * requests
+
+2. **Connections**
+ * connections
+
+3. **Async Connections**
+ * keepalive
+ * closing
+ * writing
+4. **Bandwidth** in kilobytes/s
+ * sent
+5. **Workers**
+ * idle
+ * busy
+6. **Lifetime Avg. Requests/s** in requests/s
+ * requests_sec
+7. **Lifetime Avg. Bandwidth/s** in kilobytes/s
+ * size_sec
+8. **Lifetime Avg. Response Size** in bytes/request
+ * size_req
+
+### configuration
+
+Needs only `url` to server's `server-status?auto`
+
+Here is an example for 2 servers:
+
+```yaml
+update_every : 10
+priority     : 90100
+
+local:
+  url      : 'http://localhost/server-status?auto'
+  retries  : 20
+
+remote:
+  url          : 'http://www.apache.org/server-status?auto'
+  update_every : 5
+  retries      : 4
+```
+
+Without configuration, module attempts to connect to `http://localhost/server-status?auto`
+
+---
+
+# apache_cache
+
+Module monitors apache mod_cache log and produces only one chart:
+
+**cached responses** in percent cached
+ * hit
+ * miss
+ * other
+### configuration
+
+Sample:
+
+```yaml
+update_every : 10
+priority     : 120000
+retries      : 5
+log_path     : '/var/log/apache2/cache.log'
+```
+
+If no configuration is given, module will attempt to read log file at `/var/log/apache2/cache.log`
+
+---
+
+# hddtemp
+Module monitors disk temperatures from one or more hddtemp daemons
+
+**Requirement:**
+Running `hddtemp` in daemonized mode with access on tcp port
+
+It produces one chart **Temperature** with dynamic number of dimensions (one per disk)
+
+### configuration
+
+Sample:
+
+```yaml
+update_every: 3
+host: "127.0.0.1"
+port: 7634
+```
+
+If no configuration is given, module will attempt to connect to hddtemp daemon on `127.0.0.1:7634` address
+
+---
 
 # mysql
 
-The plugin will monitor one or more mysql servers
+Module monitors one or more mysql servers
 
 **Requirements:**
- * python module [MySQLdb](https://github.com/PyMySQL/mysqlclient-python) (faster) or [PyMySQL](https://github.com/PyMySQL/PyMySQL) (slower)
+ * python library [MySQLdb](https://github.com/PyMySQL/mysqlclient-python) (faster) or [PyMySQL](https://github.com/PyMySQL/PyMySQL) (slower)
 
 It will produce following charts (if data is available):
 
@@ -99,13 +205,12 @@ It will produce following charts (if data is available):
 
 You can provide, per server, the following:
 
-1. a name, anything you like, but keep it short
-2. username which have access to database (deafults to 'root')
-3. password (defaults to none)
-4. mysql my.cnf configuration file
-5. mysql socket (optional)
-6. mysql host (ip or hostname)
-7. mysql port (defaults to 3306)
+1. username which have access to database (deafults to 'root')
+2. password (defaults to none)
+3. mysql my.cnf configuration file
+4. mysql socket (optional)
+5. mysql host (ip or hostname)
+6. mysql port (defaults to 3306)
 
 Here is an example for 3 servers:
 
@@ -132,7 +237,129 @@ remote:
   retries  : 20
 ```
 
-If no configuration is given, the plugin will attempt to connect to mysql server via unix socket at `/var/run/mysqld/mysqld.sock` without password and with username `root`
+If no configuration is given, module will attempt to connect to mysql server via unix socket at `/var/run/mysqld/mysqld.sock` without password and with username `root`
+
+---
+
+# nginx
+
+This module will monitor one or more nginx servers depending on configuration. 
+
+**Requirements:**
+ * nginx with configured `stub_status`
+
+It produces following charts:
+
+1. **Active Connections**
+ * active
+
+2. **Requests** in requests/s
+ * requests
+
+3. **Active Connections by Status**
+ * reading
+ * writing
+ * waiting
+4. **Connections Rate** in connections/s
+ * accepts
+ * handled
+### configuration
+
+Needs only `url` to server's `stub_status`
+
+Here is an example for local server:
+
+```yaml
+update_every : 10
+priority     : 90100
+
+local:
+  url     : 'http://localhost/stub_status'
+  retries : 10
+```
+
+Without configuration, module attempts to connect to `http://localhost/stub_status`
 
 ---
 
+# phpfpm
+
+This module will monitor one or more php-fpm instances depending on configuration. 
+
+**Requirements:**
+ * php-fpm with enabled `status` page
+ * access to `status` page via web server
+It produces following charts:
+
+1. **Active Connections**
+ * active
+ * maxActive
+ * idle
+
+2. **Requests** in requests/s
+ * requests
+3. **Performance**
+ * reached
+ * slow
+### configuration
+
+Needs only `url` to server's `status`
+Here is an example for local instance:
+
+```yaml
+update_every : 3
+priority     : 90100
+
+local:
+  url     : 'http://localhost/status'
+  retries : 10
+```
+
+Without configuration, module attempts to connect to `http://localhost/status`
+
+---
+
+# squid
+
+This module will monitor one or more squid instances depending on configuration.
+
+It produces following charts:
+
+1. **Client Bandwidth** in kilobits/s
+ * in
+ * out
+ * hits
+
+2. **Client Requests** in requests/s
+ * requests
+ * hits
+ * errors
+
+3. **Server Bandwidth** in kilobits/s
+ * in
+ * out
+4. **Server Requests** in requests/s
+ * requests
+ * errors
+### configuration
+
+```yaml
+priority     : 50000
+
+local:
+  request : 'cache_object://localhost:3128/counters'
+  host    : 'localhost'
+  port    : 3128
+```
+
+Without any configuration module will try to autodetect where squid presents its `counters` data
+---
\ No newline at end of file
index d3110907f8b851bbbe2a8cda98ec04b6d5110dc2..89a902db17a55f6b16990661bba47491be4463a8 100644 (file)
@@ -14,27 +14,27 @@ ORDER = ['clients_net', 'clients_requests', 'servers_net', 'servers_requests']
 
 CHARTS = {
     'clients_net': {
-        'options': [None, "Squid Client Bandwidth", "kilobits / sec", "clients", "squid.clients.net" "area"],
+        'options': [None, "Squid Client Bandwidth", "kilobits/s", "clients", "squid.clients.net" "area"],
         'lines': [
             ["client_http_kbytes_in", "in", "incremental", 8, 1],
             ["client_http_kbytes_out", "out", "incremental", -8, 1],
             ["client_http_hit_kbytes_out", "hits", "incremental", -8, 1]
         ]},
     'clients_requests': {
-        'options': [None, "Squid Client Requests", "requests / sec", "clients", "squid.clients.requests", 'line'],
+        'options': [None, "Squid Client Requests", "requests/s", "clients", "squid.clients.requests", 'line'],
         'lines': [
             ["client_http_requests", "requests"],
             ["client_http_hits", "hits"],
             ["client_http_errors", "errors", "incremental", -1, 1]
         ]},
     'servers_net': {
-        'options': [None, "Squid Server Bandwidth", "kilobits / sec", "servers", "squid.servers.net" "area"],
+        'options': [None, "Squid Server Bandwidth", "kilobits/s", "servers", "squid.servers.net" "area"],
         'lines': [
             ["server_all_kbytes_in", "in", "incremental", 8, 1],
             ["server_all_kbytes_out", "out", "incremental", -8, 1]
         ]},
     'servers_requests': {
-        'options': [None, "Squid Server Requests", "requests / sec", "servers", "squid.servers.requests", 'line'],
+        'options': [None, "Squid Server Requests", "requests/s", "servers", "squid.servers.requests", 'line'],
         'lines': [
             ["server_all_requests", "requests"],
             ["server_all_errors", "errors", "incremental", -1, 1]