postgres_exporter рдФрд░ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде PostgreSQL рдЙрджрд╛рд╣рд░рдг рдХреА рдирд┐рдЧрд░рд╛рдиреА

UPD: рдиреЛрдЯ рдиреЗ 0.8.0 рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдЦреЛ рджреА рд╣реИред рд╕рднреА рдирд╡рд╛рдЪрд╛рд░ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: PostgreSQL рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП postgres_exporter рдХреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рд╢реБрдн рджреЛрдкрд╣рд░, рд╣реЗрдмреНрд░ рдкрд╛рдардХреЛрдВ!


рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдФрд░ рдирд┐рд░реНрдпрд╛рддрдХреЛрдВ (рдПрдЬреЗрдВрдЯреЛрдВ) рдХрд╛ рдЗрд╕рдХрд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢рд╛рд╕рдХ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг рд╣реИред рд╡рд┐рддрд░рдг рдореЗрдВ рдЖрд╕рд╛рдиреА, рд╕рд╛рджрдЧреА (рд╕рд╛рдкреЗрдХреНрд╖) рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд╣рдЪрд╛рди рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдПрдЬреЗрдВрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕_рдПрдХреНрд╕рдкреЛрд░реНрдЯред рдпрд╣ рдЖрдкрдХреЛ PostgreSQL рдХреЗ рд╕рд╛рде рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдерд╛ ...


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, postgres_exporter рдкреНрд░рд▓реЗрдЦрди рдХрд╛рдлреА рддрдкрд╕реНрд╡реА рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде DBMS рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓рд╛ рд╣реИ рдФрд░ / рдпрд╛ рдЖрдк рдПрдХ рдмрд╛рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореАрдЯреНрд░рд┐рдХ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред


рд▓рдХреНрд╖реНрдп


рджрд░рдЕрд╕рд▓, рд▓реЗрдЦ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдпрд╛ рдиреЛрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореИрдВ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдореИрдВ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдпрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реИрдЬреЗрд╕_рдПрдХреНрд╕рдкреНрд░реЗрд╕, рдЙрдирдХреА рдмрд╛рддрдЪреАрддред рдпрд╣ рд╕рдм рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред


рдореИрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП postgres_exporter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЫреВрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрд░реНрдерд╛рддреН рдЬрд┐рдирдХреЗ рд╕рд╛рде рдПрдХ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ:


  1. рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕;
  2. рдХрдИ рдкреНрд░рддрд┐рдпрд╛рдВ;
  3. рд╡рд┐рднрд┐рдиреНрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ред

postgres_exporter


рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ред


рдкреЗрд╢реЗрд╡рд░реЛрдВ рд╕реЗ:


  1. рдкрд╣рд▓рд╛ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдПрдЬреЗрдВрдЯ рдХреА рдбрд┐рд▓реАрд╡рд░реА рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реИред рдПрдЬреЗрдВрдЯ - рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╣реИ (рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓)ред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рддрд░рдг рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдПрдХ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдПрдЬреЗрдВрдЯ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдиреЛрдб рдкрд░ рджреЛрдиреЛрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
  2. рдПрдЬреЗрдВрдЯ рдбреАрдмреАрдПрдордПрд╕ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ inet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдПрдХ рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ;
  3. рдПрдХ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ / рдпрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ;
  4. рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд▓реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЕрдХреНрд╕рд░ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  5. рдПрдХ рд╕рд╛рдзрд╛рд░рдг HTTP рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
  6. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд╕реАрдж, рдПрдХ рдПрдЬреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛, рдПрдХрд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ_рдПрдХреНрд╕рдкреЛрд░реНрдЯ 0.5.0+ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, -рдСрдЯреЛ-рдЦреЛрдЬ-рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред

Minuses рдХреА:


  1. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдХрдореА;
  2. рдХреЗрд╡рд▓ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ред рд╕рднреА рдореАрдЯреНрд░рд┐рдХ рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рдПрдВрдЧреАред рдФрд░ рдпрд╣ рдмреБрд░рд╛ рд╣реИ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬрдм рдЕрд╡рд░реЛрдзрди, рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рднреВрдорд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ;
  3. рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдХреИрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдЬреЗрдВрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдЕрдиреБрдкрд▓рдмреНрдз рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
  4. --рдСрдЯреЛ-рдбрд┐рд╕реНрдХрд╡рд░-рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕реВрдЪреА рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд▓реНрдХрд┐ рдЕрд╕реНрдерд╛рдпреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдРрд╕реА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП (рд╡рд┐рдХрд▓реНрдк --exclude-database)ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕


рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде PostgreSQL рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реИрдЬ_рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдорд╛рди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╡рд░реНрдЧ рд╕реЗрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдХрд░рддрд╛ рд╣реИред рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЬрдм pg_stat_replication, pg_stat_activity, pg_stat_statement рд╡рд┐рдЪрд╛рд░реЛрдВ рдЖрджрд┐ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рд╣рдо рд╣рдореЗрд╢рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, postgres_exporter рдХреА рд╕рдордЭ рдореЗрдВ, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдПрдХ рд╣реА рд╕реЗрдЯ рдЬреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреБрдВрдЬрд┐рдпреЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЙрджрд╛рд╣рд░рдг рд╣реИ:


List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- dbtest1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | dbtest2 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | dbtest3 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | 

рд╣рдо postgres_exporter рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде --рдСрдЯреЛ-рдЦреЛрдЬ-рдбреЗрдЯрд╛рдмреЗрд╕ (рдпрджрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХрдиреЗрдХреНрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛):


 $ DATA_SOURCE_NAME="postgresql://postgres@127.0.0.1:5432/?sslmode=disable" ./postgres_exporter --auto-discover-databases --log.format=logger:stdout 

  • DATA_SOURCE_NAME - PostgreSQL рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╡рд╛рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░

рдПрдЬреЗрдВрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рд╣рдо рдПрдХ рд╕реБрдЦрдж рдЪрд┐рддреНрд░ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕реЛрдВ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рддрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛):


 INFO[0000] Established new database connection to "127.0.0.1:5432". source="postgres_exporter.go:788" INFO[0000] Established new database connection to "127.0.0.1:5432". source="postgres_exporter.go:788" INFO[0000] Semantic Version Changed on "127.0.0.1:5432": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Semantic Version Changed on "127.0.0.1:5432": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Established new database connection to "127.0.0.1:5432". source="postgres_exporter.go:788" INFO[0000] Semantic Version Changed on "127.0.0.1:5432": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Established new database connection to "127.0.0.1:5432". source="postgres_exporter.go:788" INFO[0000] Semantic Version Changed on "127.0.0.1:5432": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Established new database connection to "127.0.0.1:5432". source="postgres_exporter.go:788" INFO[0000] Semantic Version Changed on "127.0.0.1:5432": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Starting Server: :9187 source="postgres_exporter.go:1490" 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЪрд╛рд░ рдЖрдзрд╛рд░ рд╣реИрдВ (рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ, рдбреАрдмреАрдЯреАрдИрдПрд╕ 1, рдбреАрдмреАрдЯреА 2 рдФрд░ рдбреАрдмреАрдЯреА 3, рдЯреЗрдореНрдкрд▓реЗрдЯ 0 рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ 1 рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдФрд░ рдкрд╛рдВрдЪ рдХрдиреЗрдХреНрд╢рди рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, postgres_exporter рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рджреЛ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВ? рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред


рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:


 $ curl http://localhost:9178/metrics 

рдирддреАрдЬрддрди, рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓рддреА рд╣реИ "рдПрдХ рд╣реА рдирд╛рдо рдФрд░ рд▓реЗрдмрд▓ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛" (рд▓реЗрдХрд┐рди рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ_рдПрдХреНрд╕рдкреЛрд░реНрдЯ рд▓реЙрдЧ рдореЗрдВ рд╣рдо рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ):


 ... * collected metric pg_stat_activity_max_tx_duration label:<name:"datname" value:"dbtest1" > label:<name:"server" value:"127.0.0.1:5432" > label:<name:"state" value:"fastpath function call" > gauge:<value:0 > was collected before with the same name and label values * collected metric pg_stat_bgwriter_checkpoints_timed label:<name:"server" value:"127.0.0.1:5432" > counter:<value:1 > was collected before with the same name and label values ... 

рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ PG_EXPORTER_DISABLE_DEFAULT_METRICS рдФрд░ PG_EXPORTER_DISABLE_SETTINGS_METRICS рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рд╣реА рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --disable-default-metrics рдФрд░ --disable-settings-met рдореАрдЯреНрд░рд┐рдХ


рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде postgres_exporter рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:


 $ DATA_SOURCE_NAME="postgresql://postgres@127.0.0.1:5432/?sslmode=disable" ./postgres_exporter --auto-discover-databases --log.format=logger:stdout --disable-default-metrics --disable-settings-metrics 

рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢:


 $ curl http://localhost:9178/metrics 

рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ PostgreSQL рд╕реЗ рдЬреБрдбрд╝рд╛ рдПрдХ рднреА рдореАрдЯреНрд░рд┐рдХ рдирд╣реАрдВ рд╣реИ:


 # HELP go_gc_duration_seconds A summary of the GC invocation durations. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds{quantile="0"} 0 go_gc_duration_seconds{quantile="0.25"} 0 go_gc_duration_seconds{quantile="0.5"} 0 go_gc_duration_seconds{quantile="0.75"} 0 go_gc_duration_seconds{quantile="1"} 0 go_gc_duration_seconds_sum 0 go_gc_duration_seconds_count 0 ... # HELP process_virtual_memory_bytes Virtual memory size in bytes. # TYPE process_virtual_memory_bytes gauge process_virtual_memory_bytes 1.3832192e+07 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреЗрд▓реЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╣рдо рдХреМрди рд╕реЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдордд рднреВрд▓реЛ, рд╣рдо рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред


рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдо pg_statio_user_tables рд╕рдВрдмрдВрдз рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡реЗрд░реА .yaml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:


 pg_statio_user_tables: query: "SELECT current_database() as datname, schemaname, relname, heap_blks_read, heap_blks_hit FROM pg_statio_user_tables" metrics: - datname: usage: "LABEL" description: "Name of database" - schemaname: usage: "LABEL" description: "Name of the schema that this table is in" - relname: usage: "LABEL" description: "Name of this table" - heap_blks_read: usage: "COUNTER" description: "Number of disk blocks read from this table" - heap_blks_hit: usage: "COUNTER" description: "Number of buffer hits in this table" 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдПрдХ рдмрд┐рдВрджреБ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдирд╛рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬрд┐рд╕рдореЗрдВ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИред рдпрд╣ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдХрдо рд╕реЗ рдХрдо рджреЛ рдХрд╛рд░рдг рд╣реИрдВ:


  1. рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдЯреЗрдмрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рджреЛрд╣рд░рд╛рд╡ рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛;
  2. рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдЖрдк рдпрд╣ рдирд╣реАрдВ рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ рдХрд┐ рдореАрдЯреНрд░рд┐рдХ рдХрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХрддреНрд░рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдХрдЪрд░реЗ рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдПрдЬреЗрдВрдЯ рдХреЛ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ --extend.query-path (рдпрд╣рд╛рдВ рдореЗрдЯреНрд░рд┐рдо рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдпрд╛рдо рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ):


 DATA_SOURCE_NAME="postgresql://postgres@127.0.0.1:5432?sslmode=disable" ./postgres_exporter --log.format=logger:stdout --auto-discover-databases --disable-default-metrics --disable-settings-metrics --extend.query-path=./queries.yaml 

рд╣рдо рдореАрдЯреНрд░рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ pg_statio_user_tables_heap_blks_hit рд▓реЗрддреЗ рд╣реИрдВ):


 curl -s http://localhost:9187/metrics | grep pg_statio_user_tables_heap_blks_hit 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ:


 # HELP pg_statio_user_tables_heap_blks_hit Number of buffer hits in this table # TYPE pg_statio_user_tables_heap_blks_hit counter pg_statio_user_tables_heap_blks_hit{datname="dbtest1",relname="t1",schemaname="public",server="127.0.0.1:5432"} 0 pg_statio_user_tables_heap_blks_hit{datname="dbtest1",relname="t2",schemaname="public",server="127.0.0.1:5432"} 0 pg_statio_user_tables_heap_blks_hit{datname="dbtest2",relname="t1",schemaname="public",server="127.0.0.1:5432"} 0 pg_statio_user_tables_heap_blks_hit{datname="dbtest2",relname="t2",schemaname="public",server="127.0.0.1:5432"} 0 pg_statio_user_tables_heap_blks_hit{datname="dbtest3",relname="t1",schemaname="public",server="127.0.0.1:5432"} 0 pg_statio_user_tables_heap_blks_hit{datname="dbtest3",relname="t2",schemaname="public",server="127.0.0.1:5432"} 0 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --рдСрдЯреЛ-рдЦреЛрдЬ-рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛ред рдПрдХ рдЕрдЪреНрдЫрд╛ рдмреЛрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдЬреЗрдВрдЯ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдм рдХреЗ рд╕рд╛рде, рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдбрд╝ рджрд┐рдП рдЧрдП рдереЗред рдлрд┐рд▓рд╣рд╛рд▓, рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдПрдХ рд╣реИ - рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдПрдЬреЗрдВрдЯреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдмреЗрд╢рдХ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдЬреЗрдВрдЯреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЙрдкрджреНрд░рд╡ рдХреЛ рдЙрди рд╕рднреА рд╕реНрддрд░реЛрдВ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╣рдо рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдПрдХ рдФрд░, рдмрд▓реНрдХрд┐ рдиреАрдЪреЗ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд╕рд░ред


'рдЕрддрд┐рд░рд┐рдХреНрдд' рдХрдиреЗрдХреНрд╢рди рдХреА рдкрд╣реЗрд▓реА рдХрд╛ рдЬрд╡рд╛рдм

рдпрд╛рдж рд░рдЦреЗрдВ, рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдордиреЗ "рдЕрддрд┐рд░рд┐рдХреНрдд" рдХрдиреЗрдХреНрд╢рди рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде postgres_exporter рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ -рдСрдЯреЛ-рдЦреЛрдЬ-рдбреЗрдЯрд╛рдмреЗрд╕ред
рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рдХреНрдпреЛрдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рддреН, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ postgres_exporter рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рджреЛ рдмрд╛рд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░реЗрдЧрд╛ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдирдХрд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ --exclude-рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ (рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред
рдФрд░ рд╣рд╛рдВ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛рдПрдВ рд╣реИрдВ, рддреЛ рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред


рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ


рдЦреИрд░, рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╣рдордиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЕрдм рд╣рдо рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ DATA_SOURCE_NAME рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:


 $ DATA_SOURCE_NAME="postgresql://postgres@127.0.0.1:5432/postgres?sslmode=disable,postgresql://postgres@127.0.0.1:5434/postgres?sslmode=disable" ./postgres_exporter --log.format=logger:stdout 

рдпрд╣рд╛рдВ рд╣рдо рд╕реНрдерд╛рдиреАрдп рдиреЛрдб рдкрд░, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВред рдпрд╣ рд▓реЙрдЧ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:


 INFO[0000] Established new database connection to "127.0.0.1:5432". source="postgres_exporter.go:788" INFO[0000] Semantic Version Changed on "127.0.0.1:5432": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Established new database connection to "127.0.0.1:5434". source="postgres_exporter.go:788" INFO[0000] Semantic Version Changed on "127.0.0.1:5434": 0.0.0 -> 11.5.0 source="postgres_exporter.go:1251" INFO[0000] Starting Server: :9187 source="postgres_exporter.go:1490" 

рдЕрдЧрд▓рд╛, рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ (рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЦреБрдж рдХреЛ pg_stat_database_blk_read_time рдореАрдЯреНрд░рд┐рдХ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ):


 curl -s http://localhost:9187/metrics | grep pg_stat_database_blk_read_time 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдПрдЬреЗрдВрдЯ рд╕реЗ, рд╣рдо рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:


 # HELP pg_stat_database_blk_read_time Time spent reading data file blocks by backends in this database, in milliseconds # TYPE pg_stat_database_blk_read_time counter pg_stat_database_blk_read_time{datid="1",datname="template1",server="127.0.0.1:5432"} 0 pg_stat_database_blk_read_time{datid="1",datname="template1",server="127.0.0.1:5434"} 0 pg_stat_database_blk_read_time{datid="13116",datname="template0",server="127.0.0.1:5432"} 0 pg_stat_database_blk_read_time{datid="13116",datname="template0",server="127.0.0.1:5434"} 0 pg_stat_database_blk_read_time{datid="13117",datname="postgres",server="127.0.0.1:5432"} 0 pg_stat_database_blk_read_time{datid="13117",datname="postgres",server="127.0.0.1:5434"} 0 pg_stat_database_blk_read_time{datid="16384",datname="dbtest1",server="127.0.0.1:5432"} 0 pg_stat_database_blk_read_time{datid="16385",datname="dbtest2",server="127.0.0.1:5432"} 0 pg_stat_database_blk_read_time{datid="16386",datname="dbtest3",server="127.0.0.1:5432"} 0 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреБрдЫ рд╕рд░рд▓ рдерд╛ред рдЙрд╕реА рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдореАрдЯреНрд░рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред


рд╕рд╛рд░рд╛рдВрд╢


рдФрд░ рдЗрд╕рд▓рд┐рдП, рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреАрд╕рд░рд╛ рдорд╛рдорд▓рд╛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рджреЛ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рд▓рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред


рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреАрдЪреЗ рдХреА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, postgres_exporter, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдЙрди рдкрд░ рддреИрдирд╛рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЖрд╢рд╛рдЬрдирдХ рдкреНрд░рд╢рд╛рд╕рдХ рдЙрдкрдХрд░рдг рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЙрдореНрд░ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдЙрди рдХрдорд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдордЭрд╛ рдФрд░ рдорд╛рдл рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ


  • рдкреНрд░реЛрдореЗрдерд┐рдпрд╕ [ 1 ] рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдШрдЯрдирд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рд╕рддрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд▓рдЪреАрд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЕрд▓рд░реНрдЯ рдХреЗ рд╕рд╛рде HTTP рдЕрдиреБрд░реЛрдз рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рдПрдХ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд▓рд┐рдЦрддрд╛ рд╣реИред
  • Postgres_exporter Prometheus рдХреЗ рд▓рд┐рдП PostgreSQL рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдпрд╛рддрдХ рд╣реИред

рд╕рдВрд╕реНрдХрд░рдг, рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рд╡реА 0.5.1ред PostgreSQL 9.4+ рдХреЗ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг (рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд 9.1+ рдкреНрд░рддрд┐рдмрдВрдз)ред

Source: https://habr.com/ru/post/hi468573/


All Articles