| @ -0,0 +1,147 @@ | |||
| NOW = $(shell date +%s ) | |||
| STEP = 60 | |||
| SUCCESS = 198754 | |||
| DANGER = DC3545 | |||
| INFO = 0DCAF0 | |||
| DANGER1 = F8D7DA | |||
| DANGER2 = F1AEB5 | |||
| DANGER3 = EA868F | |||
| DANGER4 = E35D6A | |||
| DANGER5 = DC3545 | |||
| DANGER6 = B02A37 | |||
| DANGER7 = 842029 | |||
| DANGER8 = 58151C | |||
| DANGER9 = 2C0B0E | |||
| INFO1 = 0AA2C0 | |||
| INFO2 = 0DCAF0 | |||
| INFO3 = 3DD5F3 | |||
| IFACE = eth0 | |||
| FORMAT = SVG | |||
| EXTENSION = .$(shell echo $(FORMAT) |tr '[:upper:]' '[:lower:]') | |||
| DAY_IN_SECS = 86400 | |||
| all: | |||
| cpu.rrd: | |||
| rrdtool create $@ --start $$(( $(NOW) - 1 )) --step $(STEP) --no-overwrite \ | |||
| DS:user:GAUGE:120:0:100 \ | |||
| DS:nice:GAUGE:120:0:100 \ | |||
| DS:sys:GAUGE:120:0:100 \ | |||
| DS:iowait:GAUGE:120:0:100 \ | |||
| DS:steal:GAUGE:120:0:100 \ | |||
| DS:irq:GAUGE:120:0:100 \ | |||
| DS:soft:GAUGE:120:0:100 \ | |||
| DS:guest:GAUGE:120:0:100 \ | |||
| DS:gnice:GAUGE:120:0:100 \ | |||
| DS:idle:GAUGE:120:0:100 \ | |||
| RRA:LAST:0.5:1:1440 \ | |||
| RRA:AVERAGE:0.5:420:1440 \ | |||
| RRA:AVERAGE:0.5:1860:1440 \ | |||
| RRA:AVERAGE:0.5:21900:1440 | |||
| update_cpu: cpu.rrd | |||
| rrdtool update $< $(NOW):$(shell LANG=C sar -u ALL 0 -1 |tail -n1 |awk '{print $$3,$$4,$$5,$$6,$$7,$$8,$$9,$$10,$$11,$$12}' |tr ' ' ':' ) | |||
| load.rrd: | |||
| rrdtool create $@ --start $$(( $(NOW) - 1 )) --step $(STEP) --no-overwrite \ | |||
| DS:ldavg-1:GAUGE:120:0:U \ | |||
| DS:ldavg-5:GAUGE:120:0:U \ | |||
| DS:ldavg-15:GAUGE:120:0:U \ | |||
| RRA:LAST:0.5:1:1440 \ | |||
| RRA:AVERAGE:0.5:420:1440 \ | |||
| RRA:AVERAGE:0.5:1860:1440 \ | |||
| RRA:AVERAGE:0.5:21900:1440 | |||
| update_load: load.rrd | |||
| rrdtool update $< $(NOW):$(shell LANG=C sar -q LOAD 0 -1 |tail -n1 |awk '{print $$4,$$5,$$6}' |tr ' ' ':' ) | |||
| mem.rrd: | |||
| rrdtool create $@ --start $$(( $(NOW) - 1 )) --step $(STEP) --no-overwrite \ | |||
| DS:kbmemfree:GAUGE:120:0:U \ | |||
| DS:kbbuffers:GAUGE:120:0:U \ | |||
| DS:kbcached:GAUGE:120:0:U \ | |||
| DS:kbslab:GAUGE:120:0:U \ | |||
| RRA:LAST:0.5:1:1440 \ | |||
| RRA:AVERAGE:0.5:420:1440 \ | |||
| RRA:AVERAGE:0.5:1860:1440 \ | |||
| RRA:AVERAGE:0.5:21900:1440 | |||
| update_mem: mem.rrd | |||
| rrdtool update $< $(NOW):$(shell LANG=C sar -r ALL 0 -1 |tail -n1 |awk '{print $$2,$$6,$$7,$$14}' |tr ' ' ':' ) | |||
| net.rrd: | |||
| rrdtool create $@ --start $$(( $(NOW) - 1 )) --step $(STEP) --no-overwrite \ | |||
| DS:rbytes:COUNTER:120:0:U \ | |||
| DS:tbytes:COUNTER:120:0:U \ | |||
| RRA:LAST:0.5:1:1440 \ | |||
| RRA:AVERAGE:0.5:420:1440 \ | |||
| RRA:AVERAGE:0.5:1860:1440 \ | |||
| RRA:AVERAGE:0.5:21900:1440 | |||
| update_net: net.rrd | |||
| rrdtool update $< $(NOW):$(shell cat /proc/net/dev |grep $(IFACE) |awk '{print $$2,$$10}' |tr ' ' ':' ) | |||
| update: update_cpu update_load update_mem update_net | |||
| run: | |||
| while true; do make update; sleep $(STEP); done | |||
| cpu-daily$(EXTENSION): cpu.rrd | |||
| rrdtool graph $@ --imgformat $(FORMAT) --end now --start end-$(DAY_IN_SECS) \ | |||
| DEF:user=$<:user:AVERAGE \ | |||
| DEF:nice=$<:nice:AVERAGE \ | |||
| DEF:sys=$<:sys:AVERAGE \ | |||
| DEF:iowait=$<:iowait:AVERAGE \ | |||
| DEF:steal=$<:steal:AVERAGE \ | |||
| DEF:irq=$<:irq:AVERAGE \ | |||
| DEF:soft=$<:soft:AVERAGE \ | |||
| DEF:guest=$<:guest:AVERAGE \ | |||
| DEF:gnice=$<:gnice:AVERAGE \ | |||
| DEF:idle=$<:idle:AVERAGE \ | |||
| AREA:user#$(DANGER1):user:STACK \ | |||
| AREA:nice#$(DANGER2):nice:STACK \ | |||
| AREA:sys#$(DANGER3):sys:STACK \ | |||
| AREA:iowait#$(DANGER4):iowait:STACK \ | |||
| AREA:steal#$(DANGER5):steal:STACK \ | |||
| AREA:irq#$(DANGER6):irq:STACK \ | |||
| AREA:soft#$(DANGER7):soft:STACK \ | |||
| AREA:guest#$(DANGER8):guest:STACK \ | |||
| AREA:gnice#$(DANGER9):gnice:STACK \ | |||
| AREA:idle#$(SUCCESS):idle:STACK | |||
| load-daily$(EXTENSION): load.rrd | |||
| rrdtool graph $@ --imgformat $(FORMAT) --end now --start end-$(DAY_IN_SECS) \ | |||
| DEF:ldavg-1=$<:ldavg-1:AVERAGE \ | |||
| DEF:ldavg-5=$<:ldavg-5:AVERAGE \ | |||
| DEF:ldavg-15=$<:ldavg-15:AVERAGE \ | |||
| LINE1:ldavg-1#$(INFO1):ldavg-1 \ | |||
| LINE1:ldavg-5#$(INFO2):ldavg-5 \ | |||
| LINE1:ldavg-15#$(INFO3):ldavg-15 | |||
| mem-daily$(EXTENSION): mem.rrd | |||
| rrdtool graph $@ --imgformat $(FORMAT) --end now --start end-$(DAY_IN_SECS) \ | |||
| DEF:kbmemfree=$<:kbmemfree:AVERAGE \ | |||
| DEF:kbbuffers=$<:kbbuffers:AVERAGE \ | |||
| DEF:kbcached=$<:kbcached:AVERAGE \ | |||
| DEF:kbslab=$<:kbslab:AVERAGE \ | |||
| AREA:kbbuffers#$(DANGER1):kbbuffers:STACK \ | |||
| AREA:kbcached#$(DANGER2):kbcached:STACK \ | |||
| AREA:kbslab#$(DANGER3):kbslab:STACK \ | |||
| AREA:kbbuffers#$(DANGER4):kbbuffers:STACK \ | |||
| AREA:kbmemfree#$(SUCCESS):kbmemfree:STACK | |||
| net-daily$(EXTENSION): net.rrd | |||
| rrdtool graph $@ --imgformat $(FORMAT) --end now --start end-$(DAY_IN_SECS) \ | |||
| DEF:rbytes=$<:rbytes:AVERAGE \ | |||
| DEF:tbytes=$<:tbytes:AVERAGE \ | |||
| CDEF:ntbytes=tbytes,-1,* \ | |||
| AREA:rbytes#$(DANGER):rbytes \ | |||
| AREA:ntbytes#$(SUCCESS):tbytes | |||
| graph: cpu-daily$(EXTENSION) load-daily$(EXTENSION) mem-daily$(EXTENSION) net-daily$(EXTENSION) | |||