Różnice pomiędzy wersjami 1 i 5 (Spinanie 4 wersji)
⇤ ← Wersja 1 z 2014-04-03 08:23:05 →
Rozmiar: 1674
Edytor: wtps0n
Komentarz: *** KREACJA ***
← Wersja 5 z 2014-07-24 22:44:22 → ⇥
Rozmiar: 12578
Edytor: wtps0n
Komentarz: + konfiguracje
Usunięcia zostały oznaczone w ten sposób. Dodatki zostały oznaczone w ten sposób.
Linia 3: Linia 3:

<<TableOfContents()>><<BR>>
Linia 24: Linia 26:
<Plugin df>
        FSType "ufs"
        FSType "zfs"
        IgnoreSelected false
        ReportByDevice false
        ReportReserved false
        ReportInodes false
</Plugin>
Linia 39: Linia 50:
<Plugin tcpconns>
        ListeningPorts false
        LocalPort "22"
        LocalPort "80"
        LocalPort "443"
        LocalPort "25"
        LocalPort "110"
        LocalPort "143"
        LocalPort "993"
        LocalPort "995"
        RemotePort "25"
        RemotePort "80"
        RemotePort "443"
</Plugin>
Linia 65: Linia 90:

== Wersja 5 ==
Różnice w stosunku do wersji 4. Przede wszystkim korzystamy z "''natywnego''" panelu CGI zamiast "obcego". Jeśli chodzi o plik konfiguracyjny, to zmiany analogiczne do wersji 4.

=== collectd.conf ===
Jest nieco różnic w konfiguracji głównie pluginów. Jak również dodane są definicje filtrów jak również "''threshold''"-ów na końcu pliku konfiguracyjnego.

=== apache.conf ===
Konfiguracja dla Apache składa się z dwóch elementów: definicji katalogu<<FootNote(Definicja jest już wykonana w repozytorium CVS/SVN w pliku 010-collectd.conf)>> oraz ''ScriptAlias'' dla wybranej wirtualki:
{{{
# --- definicja katalog/ow ze stronkami -----------------------------
#
<Directory /usr/local/www/collectd>
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /stats/ "/usr/local/www/collectd/collection.cgi"
}}}

=== collection.cgi ===
Oryginalny skrypt jest nieco zmodyfikowanym skryptem z poprzedniej wersji (v4) collectd. Tak więc wymaga dużej liczby poprawek:
{{{#!diff numbers=off
--- /usr/local/www/collectd/collection.cgi 2014-07-24 15:50:23.459797000 +0200
+++ /usr/local/www/collectd/collection.cgi.new 2014-07-24 18:16:55.532191754 +0200
@@ -957,9 +957,9 @@

   $GraphDefs =
   {
- apache_bytes => ['DEF:min_raw={file}:count:MIN',
- 'DEF:avg_raw={file}:count:AVERAGE',
- 'DEF:max_raw={file}:count:MAX',
+ apache_bytes => ['DEF:min_raw={file}:value:MIN',
+ 'DEF:avg_raw={file}:value:AVERAGE',
+ 'DEF:max_raw={file}:value:MAX',
     'CDEF:min=min_raw,8,*',
     'CDEF:avg=avg_raw,8,*',
     'CDEF:max=max_raw,8,*',
@@ -976,9 +976,9 @@
     'GPRINT:avg:LAST:%5.1lf%s Last',
     'GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)\l'
     ],
- apache_connections => ['DEF:min={file}:count:MIN',
- 'DEF:avg={file}:count:AVERAGE',
- 'DEF:max={file}:count:MAX',
+ apache_connections => ['DEF:min={file}:value:MIN',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Connections",
@@ -987,9 +987,9 @@
     'GPRINT:max:MAX:%6.2lf Max,',
     'GPRINT:avg:LAST:%6.2lf Last'
     ],
- apache_idle_workers => ['DEF:min={file}:count:MIN',
- 'DEF:avg={file}:count:AVERAGE',
- 'DEF:max={file}:count:MAX',
+ apache_idle_workers => ['DEF:min={file}:value:MIN',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Idle Workers",
@@ -998,9 +998,9 @@
     'GPRINT:max:MAX:%6.2lf Max,',
     'GPRINT:avg:LAST:%6.2lf Last'
     ],
- apache_requests => ['DEF:min={file}:count:MIN',
- 'DEF:avg={file}:count:AVERAGE',
- 'DEF:max={file}:count:MAX',
+ apache_requests => ['DEF:min={file}:value:MIN',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Requests/s",
@@ -1009,9 +1009,9 @@
     'GPRINT:max:MAX:%6.2lf Max,',
     'GPRINT:avg:LAST:%6.2lf Last'
     ],
- apache_scoreboard => ['DEF:min={file}:count:MIN',
- 'DEF:avg={file}:count:AVERAGE',
- 'DEF:max={file}:count:MAX',
+ apache_scoreboard => ['DEF:min={file}:value:MIN',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Processes",
@@ -1081,12 +1081,12 @@
     'GPRINT:avg:LAST:%5.1lf%sA Last\l'
     ],
     df => ['-v', 'Percent', '-l', '0',
- 'DEF:free_avg={file}:free:AVERAGE',
- 'DEF:free_min={file}:free:MIN',
- 'DEF:free_max={file}:free:MAX',
- 'DEF:used_avg={file}:used:AVERAGE',
- 'DEF:used_min={file}:used:MIN',
- 'DEF:used_max={file}:used:MAX',
+ 'DEF:free_avg={file}:value:AVERAGE',
+ 'DEF:free_min={file}:value:MIN',
+ 'DEF:free_max={file}:value:MAX',
+ 'DEF:used_avg={file}:value:AVERAGE',
+ 'DEF:used_min={file}:value:MIN',
+ 'DEF:used_max={file}:value:MAX',
     'CDEF:total=free_avg,used_avg,+',
     'CDEF:free_pct=100,free_avg,*,total,/',
     'CDEF:used_pct=100,used_avg,*,total,/',
@@ -2525,9 +2525,9 @@
     'GPRINT:multimeter_avg:LAST:%4.1lf Last\l'
     ],
     users => ['-v', 'Users',
- 'DEF:users_avg={file}:users:AVERAGE',
- 'DEF:users_min={file}:users:MIN',
- 'DEF:users_max={file}:users:MAX',
+ 'DEF:users_avg={file}:value:AVERAGE',
+ 'DEF:users_min={file}:value:MIN',
+ 'DEF:users_max={file}:value:MAX',
     "AREA:users_max#$HalfBlue",
     "AREA:users_min#$Canvas",
     "LINE1:users_avg#$FullBlue:Users",
@@ -2666,7 +2666,117 @@
     'GPRINT:max:MAX:%4.1lf Max,',
     'GPRINT:avg:LAST:%4.1lf Last\l'
     ],
+ cache_size => [
+ 'DEF:min={file}:value:MIN',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX',
+ "AREA:max#$HalfBlue",
+ "AREA:min#$Canvas",
+ "LINE1:avg#$FullBlue:ARC cache size (Bytes)",
+ 'GPRINT:min:MIN:%6.2lf%s Min,',
+ 'GPRINT:avg:AVERAGE:%6.2lf%s Avg,',
+ 'GPRINT:max:MAX:%6.2lf%s Max,',
+ 'GPRINT:avg:LAST:%6.2lf%s Last'
+ ],
+ cache_result => [
+ 'DEF:min={file}:value:MIN', 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX', "AREA:max#$HalfBlue",
+ "AREA:min#$Canvas", "LINE1:avg#$FullBlue:Requests/s",
+ 'GPRINT:min:MIN:%6.2lf Min,', 'GPRINT:avg:AVERAGE:%6.2lf Avg,',
+ 'GPRINT:max:MAX:%6.2lf Max,', 'GPRINT:avg:LAST:%6.2lf Last'
+ ],
+ io_octets => [
+ 'DEF:out_min={file}:tx:MIN',
+ 'DEF:out_avg={file}:tx:AVERAGE',
+ 'DEF:out_max={file}:tx:MAX',
+ 'DEF:inc_min={file}:rx:MIN',
+ 'DEF:inc_avg={file}:rx:AVERAGE',
+ 'DEF:inc_max={file}:rx:MAX',
+ 'CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF',
+ 'CDEF:mytime=out_avg,TIME,TIME,IF',
+ 'CDEF:sample_len_raw=mytime,PREV(mytime),-',
+ 'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF',
+ 'CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*',
+ 'CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+',
+ 'CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*',
+ 'CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+',
+ "AREA:out_avg#$HalfGreen",
+ "AREA:inc_avg#$HalfBlue",
+ "AREA:overlap#$HalfBlueGreen",
+ "LINE1:out_avg#$FullGreen:Written",
+ 'GPRINT:out_avg:AVERAGE:%5.1lf%s Avg,',
+ 'GPRINT:out_max:MAX:%5.1lf%s Max,',
+ 'GPRINT:out_avg:LAST:%5.1lf%s Last',
+ 'GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)\l',
+ "LINE1:inc_avg#$FullBlue:Read ",
+ 'GPRINT:inc_avg:AVERAGE:%5.1lf%s Avg,',
+ 'GPRINT:inc_max:MAX:%5.1lf%s Max,',
+ 'GPRINT:inc_avg:LAST:%5.1lf%s Last',
+ 'GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)\l'
+ ],
+ counter => [
+ '-v',
+ 'Count',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:min={file}:value:MIN',
+ 'DEF:max={file}:value:MAX',
+ "AREA:max#$HalfRed",
+ "AREA:min#$Canvas",
+ "LINE1:max#$FullRed:Count ",
+ 'GPRINT:min:MIN:%4.1lf Min,',
+ 'GPRINT:avg:AVERAGE:%4.1lf Avg,',
+ 'GPRINT:max:MAX:%4.1lf Max,',
+ 'GPRINT:avg:LAST:%4.1lf Last\l'
+ ],
+ derive => [
+ '-v',
+ 'Derive',
+ 'DEF:min={file}:value:MIN',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:max={file}:value:MAX',
+ 'CDEF:mytime=avg,TIME,TIME,IF',
+ 'CDEF:sample_len_raw=mytime,PREV(mytime),-',
+ 'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF',
+ 'CDEF:avg_sample=avg,UN,0,avg,IF,sample_len,*',
+ 'CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+',
+ "AREA:max#$HalfRed",
+ "AREA:min#$Canvas",
+ "LINE1:avg#$FullRed:Derive ",
+ 'GPRINT:avg:AVERAGE:%5.1lf%s Avg,',
+ 'GPRINT:max:MAX:%5.1lf%s Max,',
+ 'GPRINT:avg:LAST:%5.1lf%s Last',
+ 'GPRINT:avg_sum:LAST:(ca. %5.1lf%s Total)\l'
+ ],
+ uptime => [
+ '-v',
+ 'Days',
+ 'DEF:raw={file}:value:MAX',
+ 'CDEF:out_val=raw,86400,/',
+ 'CDEF:out_days=out_val,FLOOR',
+ 'CDEF:out_hours=out_val,out_days,-,24,*,FLOOR',
+ 'CDEF:out_mins=out_val,out_days,-,24,*,out_hours,-,60,*,FLOOR',
+ 'CDEF:out_secs=out_val,out_days,-,24,*,out_hours,-,60,*,out_mins,-,60,*',
+ "AREA:out_val#$HalfBlue",
+ "LINE1:out_val#$FullBlue:Uptime",
+ 'GPRINT:out_days:LAST:%6.0lf day(s),',
+ 'GPRINT:out_hours:LAST:%6.0lf hour(s),',
+ 'GPRINT:out_mins:LAST:%6.0lf min(s),',
+ 'GPRINT:out_secs:LAST:%6.0lf sec(s)\l'
+ ],
+ bytes => ['-v', 'Bytes',
+ 'DEF:avg={file}:value:AVERAGE',
+ 'DEF:min={file}:value:MIN',
+ 'DEF:max={file}:value:MAX',
+ "AREA:max#$HalfGreen",
+ "AREA:min#$Canvas",
+ "LINE1:avg#$FullGreen:Bytes",
+ 'GPRINT:min:MIN:%4.1lf Min,',
+ 'GPRINT:avg:AVERAGE:%4.1lf Avg,',
+ 'GPRINT:max:MAX:%4.1lf Max,',
+ 'GPRINT:avg:LAST:%4.1lf Last\l'
+ ],
   };
+
   $GraphDefs->{'if_multicast'} = $GraphDefs->{'ipt_packets'};
   $GraphDefs->{'if_tx_errors'} = $GraphDefs->{'if_rx_errors'};
   $GraphDefs->{'dns_qtype'} = $GraphDefs->{'dns_opcode'};
@@ -2674,6 +2784,13 @@
   $GraphDefs->{'vmpage_io-memory'} = $GraphDefs->{'vmpage_io'};
   $GraphDefs->{'vmpage_io-swap'} = $GraphDefs->{'vmpage_io'};
   $GraphDefs->{'virt_cpu_total'} = $GraphDefs->{'virt_cpu_total'};
+ $GraphDefs->{'cache_ratio'} = $GraphDefs->{'cache_result'};
+ $GraphDefs->{'cache_eviction'} = $GraphDefs->{'cache_result'};
+ $GraphDefs->{'cache_operation'} = $GraphDefs->{'cache_result'};
+ $GraphDefs->{'mutex_operations'} = $GraphDefs->{'cache_result'};
+ $GraphDefs->{'hash_collisions'} = $GraphDefs->{'cache_result'};
+ $GraphDefs->{'operations'} = $GraphDefs->{'derive'};
+ $GraphDefs->{'queue_length'} = $GraphDefs->{'gauge'};

   $MetaGraphDefs->{'cpu'} = \&meta_graph_cpu;
   $MetaGraphDefs->{'dns_qtype'} = \&meta_graph_dns;
@@ -2684,6 +2801,7 @@
   $MetaGraphDefs->{'nfs_procedure'} = \&meta_graph_nfs_procedure;
   $MetaGraphDefs->{'ps_state'} = \&meta_graph_ps_state;
   $MetaGraphDefs->{'swap'} = \&meta_graph_swap;
+ $MetaGraphDefs->{'df_complex'} = \&meta_graph_swap;
   $MetaGraphDefs->{'mysql_commands'} = \&meta_graph_mysql_commands;
   $MetaGraphDefs->{'mysql_handler'} = \&meta_graph_mysql_commands;
   $MetaGraphDefs->{'tcp_connections'} = \&meta_graph_tcp_connections;
}}}


Konfiguracja collectd

Wersja 4

Jeżeli chcemy skorzystać z gotowego panelu webowego do collectd w wersji 4, to musimy trochę pododawać w systemie:

portupgrade -N converters/p5-JSON p5-HTML-Parser p5-URI

Dodatkowo partycja, gdzie są skrypty CGI-BIN nie może mieć wyłączonej opcji exec (np. zfs). Inaczej w logach będzie komunikat typu:

(13)Permission denied: exec of '/var/www/htdocs/virtuals/collectd/data/cgi-bin/collection.modified.cgi' failed,

collectd.conf

W samym collectd.conf trzeba ustawić następujące rzeczy:

<Plugin syslog>
        LogLevel warning
</Plugin>

<Plugin df>
        FSType "ufs"
        FSType "zfs"
        IgnoreSelected false
        ReportByDevice false
        ReportReserved false
        ReportInodes false
</Plugin>

# dyski ADA, a nie domyślnie ([as]d[0-9])
<Plugin disk>
        Disk "/^ada[0-9]?$/"
        IgnoreSelected false
</Plugin>

<Plugin ping>
        Host __ADRES_IP_DO_SPRAWDZANIA__
</Plugin>

# musi by/c przynajmniej komentarz - nie może być "pusto"
<Plugin processes>
#       Process "name"
</Plugin>

<Plugin tcpconns>
        ListeningPorts false
        LocalPort "22"
        LocalPort "80"
        LocalPort "443"
        LocalPort "25"
        LocalPort "110"
        LocalPort "143"
        LocalPort "993"
        LocalPort "995"
        RemotePort "25"
        RemotePort "80"
        RemotePort "443"
</Plugin>

uruchomienie rrdcached

Ustawienie zmiennych w rc.conf

rrdcached_enable="YES"
rrdcached_flags="-s www -l unix:/var/run/rrdcached.sock -p /var/run/rrdcached.pid -j /var/db/rrdcached/journal -w 60"

A potem wystartowanie samego demona

mkdir -p /var/db/rrdcached/journal
rcstart rrdcached

Sprawdzenie konfiguracji collectd

collectd -t

Dodanie konfiguracji dla skryptów webowych do collectd

# spróbuję to dodać do unimaster-a
#
echo datadir: "/var/db/collectd/rrd/" > /usr/local/etc/collectd-web.conf

Wersja 5

Różnice w stosunku do wersji 4. Przede wszystkim korzystamy z "natywnego" panelu CGI zamiast "obcego". Jeśli chodzi o plik konfiguracyjny, to zmiany analogiczne do wersji 4.

collectd.conf

Jest nieco różnic w konfiguracji głównie pluginów. Jak również dodane są definicje filtrów jak również "threshold"-ów na końcu pliku konfiguracyjnego.

apache.conf

Konfiguracja dla Apache składa się z dwóch elementów: definicji katalogu1 oraz ScriptAlias dla wybranej wirtualki:

# --- definicja katalog/ow ze stronkami -----------------------------
#
<Directory /usr/local/www/collectd>
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /stats/ "/usr/local/www/collectd/collection.cgi"

collection.cgi

Oryginalny skrypt jest nieco zmodyfikowanym skryptem z poprzedniej wersji (v4) collectd. Tak więc wymaga dużej liczby poprawek:

--- /usr/local/www/collectd/collection.cgi      2014-07-24 15:50:23.459797000 +0200
+++ /usr/local/www/collectd/collection.cgi.new  2014-07-24 18:16:55.532191754 +0200
@@ -957,9 +957,9 @@

   $GraphDefs =
   {
-    apache_bytes => ['DEF:min_raw={file}:count:MIN',
-    'DEF:avg_raw={file}:count:AVERAGE',
-    'DEF:max_raw={file}:count:MAX',
+    apache_bytes => ['DEF:min_raw={file}:value:MIN',
+    'DEF:avg_raw={file}:value:AVERAGE',
+    'DEF:max_raw={file}:value:MAX',
     'CDEF:min=min_raw,8,*',
     'CDEF:avg=avg_raw,8,*',
     'CDEF:max=max_raw,8,*',
@@ -976,9 +976,9 @@
     'GPRINT:avg:LAST:%5.1lf%s Last',
     'GPRINT:avg_sum:LAST:(ca. %5.1lf%sB Total)\l'
     ],
-   apache_connections => ['DEF:min={file}:count:MIN',
-    'DEF:avg={file}:count:AVERAGE',
-    'DEF:max={file}:count:MAX',
+   apache_connections => ['DEF:min={file}:value:MIN',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Connections",
@@ -987,9 +987,9 @@
     'GPRINT:max:MAX:%6.2lf Max,',
     'GPRINT:avg:LAST:%6.2lf Last'
     ],
-    apache_idle_workers => ['DEF:min={file}:count:MIN',
-    'DEF:avg={file}:count:AVERAGE',
-    'DEF:max={file}:count:MAX',
+    apache_idle_workers => ['DEF:min={file}:value:MIN',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Idle Workers",
@@ -998,9 +998,9 @@
     'GPRINT:max:MAX:%6.2lf Max,',
     'GPRINT:avg:LAST:%6.2lf Last'
     ],
-    apache_requests => ['DEF:min={file}:count:MIN',
-    'DEF:avg={file}:count:AVERAGE',
-    'DEF:max={file}:count:MAX',
+    apache_requests => ['DEF:min={file}:value:MIN',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Requests/s",
@@ -1009,9 +1009,9 @@
     'GPRINT:max:MAX:%6.2lf Max,',
     'GPRINT:avg:LAST:%6.2lf Last'
     ],
-    apache_scoreboard => ['DEF:min={file}:count:MIN',
-    'DEF:avg={file}:count:AVERAGE',
-    'DEF:max={file}:count:MAX',
+    apache_scoreboard => ['DEF:min={file}:value:MIN',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',
     "AREA:max#$HalfBlue",
     "AREA:min#$Canvas",
     "LINE1:avg#$FullBlue:Processes",
@@ -1081,12 +1081,12 @@
     'GPRINT:avg:LAST:%5.1lf%sA Last\l'
     ],
     df => ['-v', 'Percent', '-l', '0',
-    'DEF:free_avg={file}:free:AVERAGE',
-    'DEF:free_min={file}:free:MIN',
-    'DEF:free_max={file}:free:MAX',
-    'DEF:used_avg={file}:used:AVERAGE',
-    'DEF:used_min={file}:used:MIN',
-    'DEF:used_max={file}:used:MAX',
+    'DEF:free_avg={file}:value:AVERAGE',
+    'DEF:free_min={file}:value:MIN',
+    'DEF:free_max={file}:value:MAX',
+    'DEF:used_avg={file}:value:AVERAGE',
+    'DEF:used_min={file}:value:MIN',
+    'DEF:used_max={file}:value:MAX',
     'CDEF:total=free_avg,used_avg,+',
     'CDEF:free_pct=100,free_avg,*,total,/',
     'CDEF:used_pct=100,used_avg,*,total,/',
@@ -2525,9 +2525,9 @@
     'GPRINT:multimeter_avg:LAST:%4.1lf Last\l'
     ],
     users => ['-v', 'Users',
-    'DEF:users_avg={file}:users:AVERAGE',
-    'DEF:users_min={file}:users:MIN',
-    'DEF:users_max={file}:users:MAX',
+    'DEF:users_avg={file}:value:AVERAGE',
+    'DEF:users_min={file}:value:MIN',
+    'DEF:users_max={file}:value:MAX',
     "AREA:users_max#$HalfBlue",
     "AREA:users_min#$Canvas",
     "LINE1:users_avg#$FullBlue:Users",
@@ -2666,7 +2666,117 @@
     'GPRINT:max:MAX:%4.1lf Max,',
     'GPRINT:avg:LAST:%4.1lf Last\l'
     ],
+    cache_size => [
+    'DEF:min={file}:value:MIN',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',
+    "AREA:max#$HalfBlue",
+    "AREA:min#$Canvas",
+    "LINE1:avg#$FullBlue:ARC cache size (Bytes)",
+    'GPRINT:min:MIN:%6.2lf%s Min,',
+    'GPRINT:avg:AVERAGE:%6.2lf%s Avg,',
+    'GPRINT:max:MAX:%6.2lf%s Max,',
+    'GPRINT:avg:LAST:%6.2lf%s Last'
+    ],
+    cache_result => [
+    'DEF:min={file}:value:MIN',   'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',   "AREA:max#$HalfBlue",
+    "AREA:min#$Canvas",           "LINE1:avg#$FullBlue:Requests/s",
+    'GPRINT:min:MIN:%6.2lf Min,', 'GPRINT:avg:AVERAGE:%6.2lf Avg,',
+    'GPRINT:max:MAX:%6.2lf Max,', 'GPRINT:avg:LAST:%6.2lf Last'
+    ],
+    io_octets => [
+    'DEF:out_min={file}:tx:MIN',
+    'DEF:out_avg={file}:tx:AVERAGE',
+    'DEF:out_max={file}:tx:MAX',
+    'DEF:inc_min={file}:rx:MIN',
+    'DEF:inc_avg={file}:rx:AVERAGE',
+    'DEF:inc_max={file}:rx:MAX',
+    'CDEF:overlap=out_avg,inc_avg,GT,inc_avg,out_avg,IF',
+    'CDEF:mytime=out_avg,TIME,TIME,IF',
+    'CDEF:sample_len_raw=mytime,PREV(mytime),-',
+    'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF',
+    'CDEF:out_avg_sample=out_avg,UN,0,out_avg,IF,sample_len,*',
+    'CDEF:out_avg_sum=PREV,UN,0,PREV,IF,out_avg_sample,+',
+    'CDEF:inc_avg_sample=inc_avg,UN,0,inc_avg,IF,sample_len,*',
+    'CDEF:inc_avg_sum=PREV,UN,0,PREV,IF,inc_avg_sample,+',
+    "AREA:out_avg#$HalfGreen",
+    "AREA:inc_avg#$HalfBlue",
+    "AREA:overlap#$HalfBlueGreen",
+    "LINE1:out_avg#$FullGreen:Written",
+    'GPRINT:out_avg:AVERAGE:%5.1lf%s Avg,',
+    'GPRINT:out_max:MAX:%5.1lf%s Max,',
+    'GPRINT:out_avg:LAST:%5.1lf%s Last',
+    'GPRINT:out_avg_sum:LAST:(ca. %5.1lf%sB Total)\l',
+    "LINE1:inc_avg#$FullBlue:Read   ",
+    'GPRINT:inc_avg:AVERAGE:%5.1lf%s Avg,',
+    'GPRINT:inc_max:MAX:%5.1lf%s Max,',
+    'GPRINT:inc_avg:LAST:%5.1lf%s Last',
+    'GPRINT:inc_avg_sum:LAST:(ca. %5.1lf%sB Total)\l'
+    ],
+    counter => [
+    '-v',
+    'Count',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:min={file}:value:MIN',
+    'DEF:max={file}:value:MAX',
+    "AREA:max#$HalfRed",
+    "AREA:min#$Canvas",
+    "LINE1:max#$FullRed:Count ",
+    'GPRINT:min:MIN:%4.1lf Min,',
+    'GPRINT:avg:AVERAGE:%4.1lf Avg,',
+    'GPRINT:max:MAX:%4.1lf Max,',
+    'GPRINT:avg:LAST:%4.1lf Last\l'
+    ],
+    derive => [
+    '-v',
+    'Derive',
+    'DEF:min={file}:value:MIN',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:max={file}:value:MAX',
+    'CDEF:mytime=avg,TIME,TIME,IF',
+    'CDEF:sample_len_raw=mytime,PREV(mytime),-',
+    'CDEF:sample_len=sample_len_raw,UN,0,sample_len_raw,IF',
+    'CDEF:avg_sample=avg,UN,0,avg,IF,sample_len,*',
+    'CDEF:avg_sum=PREV,UN,0,PREV,IF,avg_sample,+',
+    "AREA:max#$HalfRed",
+    "AREA:min#$Canvas",
+    "LINE1:avg#$FullRed:Derive ",
+    'GPRINT:avg:AVERAGE:%5.1lf%s Avg,',
+    'GPRINT:max:MAX:%5.1lf%s Max,',
+    'GPRINT:avg:LAST:%5.1lf%s Last',
+    'GPRINT:avg_sum:LAST:(ca. %5.1lf%s Total)\l'
+    ],
+    uptime => [
+    '-v',
+    'Days',
+    'DEF:raw={file}:value:MAX',
+    'CDEF:out_val=raw,86400,/',
+    'CDEF:out_days=out_val,FLOOR',
+    'CDEF:out_hours=out_val,out_days,-,24,*,FLOOR',
+    'CDEF:out_mins=out_val,out_days,-,24,*,out_hours,-,60,*,FLOOR',
+    'CDEF:out_secs=out_val,out_days,-,24,*,out_hours,-,60,*,out_mins,-,60,*',
+    "AREA:out_val#$HalfBlue",
+    "LINE1:out_val#$FullBlue:Uptime",
+    'GPRINT:out_days:LAST:%6.0lf day(s),',
+    'GPRINT:out_hours:LAST:%6.0lf hour(s),',
+    'GPRINT:out_mins:LAST:%6.0lf min(s),',
+    'GPRINT:out_secs:LAST:%6.0lf sec(s)\l'
+    ],
+    bytes => ['-v', 'Bytes',
+    'DEF:avg={file}:value:AVERAGE',
+    'DEF:min={file}:value:MIN',
+    'DEF:max={file}:value:MAX',
+    "AREA:max#$HalfGreen",
+    "AREA:min#$Canvas",
+    "LINE1:avg#$FullGreen:Bytes",
+    'GPRINT:min:MIN:%4.1lf Min,',
+    'GPRINT:avg:AVERAGE:%4.1lf Avg,',
+    'GPRINT:max:MAX:%4.1lf Max,',
+    'GPRINT:avg:LAST:%4.1lf Last\l'
+    ],
   };
+
   $GraphDefs->{'if_multicast'} = $GraphDefs->{'ipt_packets'};
   $GraphDefs->{'if_tx_errors'} = $GraphDefs->{'if_rx_errors'};
   $GraphDefs->{'dns_qtype'} = $GraphDefs->{'dns_opcode'};
@@ -2674,6 +2784,13 @@
   $GraphDefs->{'vmpage_io-memory'} = $GraphDefs->{'vmpage_io'};
   $GraphDefs->{'vmpage_io-swap'} = $GraphDefs->{'vmpage_io'};
   $GraphDefs->{'virt_cpu_total'} = $GraphDefs->{'virt_cpu_total'};
+  $GraphDefs->{'cache_ratio'} = $GraphDefs->{'cache_result'};
+  $GraphDefs->{'cache_eviction'} = $GraphDefs->{'cache_result'};
+  $GraphDefs->{'cache_operation'} = $GraphDefs->{'cache_result'};
+  $GraphDefs->{'mutex_operations'} = $GraphDefs->{'cache_result'};
+  $GraphDefs->{'hash_collisions'} = $GraphDefs->{'cache_result'};
+  $GraphDefs->{'operations'} = $GraphDefs->{'derive'};
+  $GraphDefs->{'queue_length'} = $GraphDefs->{'gauge'};

   $MetaGraphDefs->{'cpu'} = \&meta_graph_cpu;
   $MetaGraphDefs->{'dns_qtype'} = \&meta_graph_dns;
@@ -2684,6 +2801,7 @@
   $MetaGraphDefs->{'nfs_procedure'} = \&meta_graph_nfs_procedure;
   $MetaGraphDefs->{'ps_state'} = \&meta_graph_ps_state;
   $MetaGraphDefs->{'swap'} = \&meta_graph_swap;
+  $MetaGraphDefs->{'df_complex'} = \&meta_graph_swap;
   $MetaGraphDefs->{'mysql_commands'} = \&meta_graph_mysql_commands;
   $MetaGraphDefs->{'mysql_handler'} = \&meta_graph_mysql_commands;
   $MetaGraphDefs->{'tcp_connections'} = \&meta_graph_tcp_connections;
  1. Definicja jest już wykonana w repozytorium CVS/SVN w pliku 010-collectd.conf (1)

CollectDaemon (ostatnio edytowane 2019-08-21 13:30:25 przez wtps0n)