рдирдорд╕реНрддреЗ!
рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреА рдЦреБрдж рдХреА рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП?
рдХреНрдпрд╛ рдЖрдк рдкрд╛рд░реНрд╕ рд▓реЙрдЧ рд╕реЗ рдердХ рдЧрдП рд╣реИрдВ?
рдХреНрдпрд╛ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЬреЛ рдПрдХ рдЬрдЧрд╣ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ?

рдлрд┐рд░ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!
рдХрд┐рд╕реА рднреА рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╕рдордп рдХреЗ рд╕рд╛рде, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рднрд┐рдиреНрди рдЕрддрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП, "рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдХреЗрддрдХ" рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЖрдо рддреМрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╕реБрдВрджрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдХрд░реАрдм рдпрд╛ рджреВрд░ рддрдХ рд╕рдордЭ рд╕рдХреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рди рдХреА "рдЫрдд"ред
рдмреЗрд╢рдХ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓реЙрдЧ рдкрд░ рдХрдВрдЬреВрд╕реА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рдФрд░ рджрд░реНрджрдирд╛рдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд╛рдорд╛рди рдХреЗ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдерд╛ред
рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реЗрд╡рд╛ рдХреЛрдб рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛред рдлрд┐рд░ рдЖрдк рд╕реЗрд╡рд╛ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕реЗрд╡рд╛ - рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рд╣реИрдмрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕реЗрд╡рд╛
рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗред
рд╕рд╛рдореВрд╣рд┐рдХ рдХрд╛ рд╕рд╛рд░:
- рдпрд╣ рдПрдХ рдбреЗрдореЙрди рд╣реИ рдЬреЛ рдПрдХ рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддрд╛ рд╣реИред
- Udp рдкреИрдХреЗрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ ( рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреЗрдЦреЗрдВ)
- рдкреИрдХреЗрдЯ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЛ rrd рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдпрд╣ рдЖрдкрдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдХрд┐ рдРрд╕реЗ udp- рд╕рдВрдХреБрд▓ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рднреЗрдЬреЗрдВ, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓рдЧрднрдЧ рддреИрдпрд╛рд░ рд╣реИрдВред
рд╕рд╛рдореВрд╣рд┐рдХ рд╡рд┐рдиреНрдпрд╛рд╕
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдореВрд╣рд┐рдХ рд╕рд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛ред
/etc/collectd.conf
рдФрд░ рд╣рдорд╛рд░реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝реЗрдВ:
TypesDB "/usr/lib/collectd/types.db" "/etc/collectd/customtypes.db"
рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ резред рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ rrd рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛
http_server_avg_item_process_time value:GAUGE:0:U
http_server_items_processed value:GAUGE:0:U
рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 2ред рдбреЗрдЯрд╛ рдХреЛ рдПрдХ rrd рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛
process_memory working_set:GAUGE:0:U, peak_working_set:GAUGE:0:U
рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ 2 udp рдкреИрдХреЗрдЯ рднреЗрдЬрдиреЗ рд╣реЛрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдЖрдк рджреЛ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЯ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╕рд╛рдореВрд╣рд┐рдХ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
рдЕрдЬрдЧрд░ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЬрдЧрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдЧ рдЕрдЬрдЧрд░ рдореЗрдВ рд╣реЛрдЧрд╛ :)
NB : рдореИрдВ 5 рдкреИрдХреЗрдЬ - 4.4.2 рд╕реЗ рдбреЗрдмреЛрди рдХреЗ рдХрд▓реЗрдХреНрдЯ рдбреЗрдорди рдХреЗ рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рдХрд┐ рдмрд╛рдЗрдирд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдХрдИ рдорд╛рди рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реИред
рдпрджрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдирд┐рдХрд╛рд▓ рдХрд░ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рдорд╛рди рднреЗрдЬрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
import struct import time import socket SEND_INTERVAL = 10
рджреЛ рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ udp рдкреИрдХреЗрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
create_message([working_set_value, peak_working_set_value], plugin_name='service_name', type_name='process_memory')
рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╛рдореВрд╣рд┐рдХ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдирд╛рдПрдЧрд╛ рдпрд╛ рдЬреЛрдбрд╝реЗрдЧрд╛:
/var/lib/collectd/rrd/hostname/service_name/process_memory.rrd
Wireshark рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд▓реЗрдХреНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХрд▓реЗрдХреНрдЯ рд▓реЙрдЧ рдореЗрдВ рдХреБрдЫ рднреА рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рд╣реИ рддреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рднрд╡рди рдХрд╛ рд░реЗрдЦрд╛рдВрдХрди
рдХрд▓реЗрдХреНрдЯ рдПрдХ рдбреЗрдЯрд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдЧреНрд░рд╛рдл рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдПрдХ рд╡реЗрдм рдлреЗрд╕ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред
рд╕рд╛рдореВрд╣рд┐рдХ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╕рд╛рдереА рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдвреВрдВрдврдиреЗ рдореЗрдВ
рдХрд╛рдордпрд╛рдмреА рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИ ред
рдпрд╣ rrdtool рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЪреЗрд╣рд░рд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВред
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкрд╕рдВрдж рд╣реИ рдФрд░ рдЬреЛ рд╢реЗрд╖ рд╡реЗрдм рдЪреЗрд╣рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд░реЗрдЦрд╛рдВрдХрди рдХреА рдПрдХ рд▓рдЪреАрд▓реА рд╕реЗрдЯрд┐рдВрдЧ рд╣реИред Drraw рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рд╣реЛрд╕реНрдЯ / рд╕реЗрд╡рд╛рдУрдВ / рдЖрджрд┐ рдХреЛ рдвреВрдВрдвреЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЪрд╛рд░реНрдЯ рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдЧрд╛ред
рдЪрд╛рд░реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ (рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ)

рдЧреНрд░рд╛рдл рдЙрджрд╛рд╣рд░рдг
UPD рдХреЛрдб рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдмрдЧрдлрд┐рдХреНрд╕ред рднреЗрдЬреЗ рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ customtypes.db рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЧрдП рддрд░реАрдХреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП