Áú»¢¶Ä²©

18 §±§â§à§Ó§Ö§â§Ü§Ú Prometheus

§°§Ò§Ù§à§â

Áú»¢¶Ä²© §Þ§à§Ø§Ö§ä §Ù§Ñ§á§â§Ñ§ê§Ú§Ó§Ñ§ä§î §Þ§Ö§ä§â§Ú§Ü§Ú, §á§â§Ö§Õ§ã§ä§Ñ§Ó§Ý§Ö§ß§ß§í§Ö §Ó §æ§à§â§Þ§Ñ§ä§Ö §ã§ä§â§à§Ü§Ú Prometheus.

§¹§ä§à§Ò§í §ß§Ñ§é§Ñ§ä§î §ã§Ò§à§â §Õ§Ñ§ß§ß§í§ç Prometheus, §ß§Ö§à§Ò§ç§à§Õ§Ú§Þ§à §ß§Ñ§ã§ä§â§à§Ú§ä§î §Õ§Ó§Ñ §ï§Ý§Ö§Þ§Ö§ß§ä§Ñ §Õ§Ñ§ß§ß§í§ç:

  • §à§ã§ß§à§Ó§ß§à§Û §ï§Ý§Ö§Þ§Ö§ß§ä §Õ§Ñ§ß§ß§í§ç HTTP, §å§Ü§Ñ§Ù§í§Ó§Ñ§ð§ë§Ú§Û §ß§Ñ §ã§à§à§ä§Ó§Ö§ä§ã§ä§Ó§å§ð§ë§å§ð §Ü§à§ß§Ö§é§ß§å§ð §ä§à§é§Ü§å §Õ§Ñ§ß§ß§í§ç, §ß§Ñ§á§â§Ú§Þ§Ö§â, https://<prometheus host>/metrics
  • §Ù§Ñ§Ó§Ú§ã§Ú§Þ§í§Ö §ï§Ý§Ö§Þ§Ö§ß§ä§í §Õ§Ñ§ß§ß§í§ç, §Ú§ã§á§à§Ý§î§Ù§å§ð§ë§Ú§Ö §à§á§è§Ú§ð §á§â§Ö§Õ§Ó§Ñ§â§Ú§ä§Ö§Ý§î§ß§à§Û §à§Ò§â§Ñ§Ò§à§ä§Ü§Ú Prometheus §Õ§Ý§ñ §Ù§Ñ§á§â§à§ã§Ñ §ß§Ö§à§Ò§ç§à§Õ§Ú§Þ§í§ç §Õ§Ñ§ß§ß§í§ç §Ú§Ù §Þ§Ö§ä§â§Ú§Ü, §ã§à§Ò§â§Ñ§ß§ß§í§ç §à§ã§ß§à§Ó§ß§í§Þ §ï§Ý§Ö§Þ§Ö§ß§ä§à§Þ §Õ§Ñ§ß§ß§í§ç

§³§å§ë§Ö§ã§ä§Ó§å§Ö§ä §Õ§Ó§Ñ §Ó§Ñ§â§Ú§Ñ§ß§ä§Ñ §á§â§Ö§Õ§Ó§Ñ§â§Ú§ä§Ö§Ý§î§ß§à§Û §à§Ò§â§Ñ§Ò§à§ä§Ü§Ú §Õ§Ñ§ß§ß§í§ç Prometheus:

  • §º§Ñ§Ò§Ý§à§ß Prometheus - §Ú§ã§á§à§Ý§î§Ù§å§Ö§ä§ã§ñ §Ó §à§Ò§í§é§ß§í§ç §ï§Ý§Ö§Þ§Ö§ß§ä§Ñ§ç §Õ§Ñ§ß§ß§í§ç §Õ§Ý§ñ §Ù§Ñ§á§â§à§ã§Ñ §Þ§Ö§ä§â§Ú§Ü Prometheus
  • Prometheus §Ó JSON - §Ú§ã§á§à§Ý§î§Ù§å§Ö§ä§ã§ñ §Ó §à§Ò§í§é§ß§í§ç §ï§Ý§Ö§Þ§Ö§ß§ä§Ñ§ç §Õ§Ñ§ß§ß§í§ç §Ú §Õ§Ý§ñ §ß§Ú§Ù§Ü§à§å§â§à§Ó§ß§Ö§Ó§à§Ô§à §à§Ò§ß§Ñ§â§å§Ø§Ö§ß§Ú§ñ. §£ §ï§ä§à§Þ §ã§Ý§å§é§Ñ§Ö §Ù§Ñ§á§â§Ñ§ê§Ú§Ó§Ñ§Ö§Þ§í§Ö §Õ§Ñ§ß§ß§í§Ö Prometheus §Ó§à§Ù§Ó§â§Ñ§ë§Ñ§ð§ä§ã§ñ §Ó §æ§à§â§Þ§Ñ§ä§Ö JSON.

§¯§Ñ§ã§ä§â§à§Û§Ü§Ñ

§¦§ã§Ý§Ú §å §Ó§Ñ§ã §ß§Ñ§ã§ä§â§à§Ö§ß §à§ã§ß§à§Ó§ß§à§Û §ï§Ý§Ö§Þ§Ö§ß§ä §Õ§Ñ§ß§ß§í§ç HTTP, §Ó§Ñ§Þ §ß§å§Ø§ß§à §ã§à§Ù§Õ§Ñ§ä§î §Ù§Ñ§Ó§Ú§ã§Ú§Þ§í§Û §ï§Ý§Ö§Þ§Ö§ß§ä §Õ§Ñ§ß§ß§í§ç, §Ü§à§ä§à§â§í§Û §Ú§ã§á§à§Ý§î§Ù§å§Ö§ä §ê§Ñ§Ô §á§â§Ö§Õ§à§Ò§â§Ñ§Ò§à§ä§Ü§Ú Prometheus:

  • §Ó§Ó§Ö§Õ§Ú§ä§Ö §à§Ò§ë§Ú§Ö §á§Ñ§â§Ñ§Þ§Ö§ä§â§í §Ù§Ñ§Ó§Ú§ã§Ú§Þ§à§Ô§à §ï§Ý§Ö§Þ§Ö§ß§ä§Ñ §Õ§Ñ§ß§ß§í§ç §Ó §æ§à§â§Þ§Ö §Ü§à§ß§æ§Ú§Ô§å§â§Ñ§è§Ú§Ú
  • §á§Ö§â§Ö§Û§Õ§Ú§ä§Ö §ß§Ñ §Ó§Ü§Ý§Ñ§Õ§Ü§å §±§â§Ö§Õ§à§Ò§â§Ñ§Ò§à§ä§Ü§Ñ
  • §Ó§í§Ò§Ö§â§Ú§ä§Ö §ê§Ñ§Ô §á§â§Ö§Õ§à§Ò§â§Ñ§Ò§à§ä§Ü§Ú Prometheus (§º§Ñ§Ò§Ý§à§ß Prometheus §Ú§Ý§Ú Prometheus §Ó JSON)

§±§Ñ§â§Ñ§Þ§Ö§ä§â §°§á§Ú§ã§Ñ§ß§Ú§Ö §±§â§Ú§Þ§Ö§â
§º§Ñ§Ò§Ý§à§ß §¥§Ý§ñ §à§á§â§Ö§Õ§Ö§Ý§Ö§ß§Ú§ñ §ß§Ö§à§Ò§ç§à§Õ§Ú§Þ§à§Ô§à §ê§Ñ§Ò§Ý§à§ß§Ñ §Õ§Ñ§ß§ß§í§ç §Ó§í §Þ§à§Ø§Ö§ä§Ö §Ú§ã§á§à§Ý§î§Ù§à§Ó§Ñ§ä§î §ñ§Ù§í§Ü §Ù§Ñ§á§â§à§ã§à§Ó, §Ü§à§ä§à§â§í§Û §á§à§ç§à§Ø §ß§Ñ §ñ§Ù§í§Ü §Ù§Ñ§á§â§à§ã§à§Ó Prometheus (§ã§Þ. §ä§Ñ§Ò§Ý§Ú§è§å §ã§â§Ñ§Ó§ß§Ö§ß§Ú§ñ), §ß§Ñ§á§â§Ú§Þ§Ö§â:
<metric name> - §Ó§í§Ò§â§Ñ§ä§î §á§à §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ð §Þ§Ö§ä§â§Ú§Ü§Ú
{__name__="<metric name>"} - §Ó§í§Ò§â§Ñ§ä§î §á§à §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ð §Þ§Ö§ä§â§Ú§Ü§Ú
{__name__=~"<regex>"} - §Ó§í§Ò§â§Ñ§ä§î §á§à §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ð §Þ§Ö§ä§â§Ú§Ü§Ú, §ã§à§Ó§á§Ñ§Õ§Ñ§ð§ë§Ö§Þ§å §ã §â§Ö§Ô§å§Ý§ñ§â§ß§í§Þ §Ó§í§â§Ñ§Ø§Ö§ß§Ú§Ö§Þ
{<label name>="<label value>",...} - §Ó§í§Ò§â§Ñ§ä§î §á§à §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ð §Þ§Ö§ä§Ü§Ú
{<label name>=~"<regex>",...} - §Ó§í§Ò§â§Ñ§ä§î §á§à §Ú§Þ§Ö§ß§Ú §Þ§Ö§ä§Ü§Ú, §ã§à§Ó§á§Ñ§Õ§Ñ§ð§ë§Ö§Þ§å §ã §â§Ö§Ô§å§Ý§ñ§â§ß§í§Þ §Ó§í§â§Ñ§Ø§Ö§ß§Ú§Ö§Þ
{__name__=~".*"}==<value> - §Ó§í§Ò§â§Ñ§ä§î §á§à §Ù§ß§Ñ§é§Ö§ß§Ú§ð §Þ§Ö§ä§â§Ú§Ü§Ú
§ª§Ý§Ú §ã§à§é§Ö§ä§Ñ§ß§Ú§Ö §Ó§í§ê§Ö§á§Ö§â§Ö§é§Ú§ã§Ý§Ö§ß§ß§à§Ô§à:
<metric name>{<label1 name>="<label1 value>",<label2 name>=~"<regex>",...}==<value>

§©§ß§Ñ§é§Ö§ß§Ú§Ö§Þ §Þ§Ö§ä§Ü§Ú §Þ§à§Ø§Ö§ä §Ò§í§ä§î §Ý§ð§Ò§Ñ§ñ §á§à§ã§Ý§Ö§Õ§à§Ó§Ñ§ä§Ö§Ý§î§ß§à§ã§ä§î §ã§Ú§Þ§Ó§à§Ý§à§Ó UTF-8, §ß§à §ã§Ú§Þ§Ó§à§Ý§í §à§Ò§â§Ñ§ä§ß§à§Û §Ü§à§ã§à§Û §é§Ö§â§ä§í, §Õ§Ó§à§Û§ß§í§ç §Ü§Ñ§Ó§í§é§Ö§Ü §Ú §á§Ö§â§Ö§Ó§à§Õ§Ñ §ã§ä§â§à§Ü§Ú §Õ§à§Ý§Ø§ß§í §Ò§í§ä§î §ï§Ü§â§Ñ§ß§Ú§â§à§Ó§Ñ§ß§í §Ü§Ñ§Ü \\, \" §Ú \n §ã§à§à§ä§Ó§Ö§ä§ã§ä§Ó§Ö§ß§ß§à; §Õ§â§å§Ô§Ú§Ö §ã§Ú§Þ§Ó§à§Ý§í §ß§Ö §Õ§à§Ý§Ø§ß§í §Ò§í§ä§î §ï§Ü§â§Ñ§ß§Ú§â§à§Ó§Ñ§ß§í.
wmi_os_physical_memory_free_bytes
cpu_usage_system{cpu="cpu-total"}
cpu_usage_system{cpu=~".*"}
cpu_usage_system{cpu="cpu-total",host=~".*"}
wmi_service_state{name="dhcp"}==1
wmi_os_timezone{timezone=~".*"}==1
§£§í§Ó§à§Õ §°§á§â§Ö§Õ§Ö§Ý§Ú§ä§Ö §ß§Ñ§Ù§Ó§Ñ§ß§Ú§Ö §Þ§Ö§ä§Ü§Ú (§ß§Ö§à§Ò§ñ§Ù§Ñ§ä§Ö§Ý§î§ß§à). §£ §ï§ä§à§Þ §ã§Ý§å§é§Ñ§Ö §Ó§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§ä§ã§ñ §Ù§ß§Ñ§é§Ö§ß§Ú§Ö, §ã§à§à§ä§Ó§Ö§ä§ã§ä§Ó§å§ð§ë§Ö§Ö §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ð §Þ§Ö§ä§Ü§Ú.
§¿§ä§à §á§à§Ý§Ö §Õ§à§ã§ä§å§á§ß§à §ä§à§Ý§î§Ü§à §Õ§Ý§ñ §ê§Ñ§Ô§Ñ //§º§Ñ§Ò§Ý§à§ß Prometheus //.

Prometheus §Ó JSON

§¥§Ñ§ß§ß§í§Ö §Ú§Ù Prometheus §Þ§à§Ô§å§ä §Ò§í§ä§î §Ú§ã§á§à§Ý§î§Ù§à§Ó§Ñ§ß§í §Õ§Ý§ñ §ß§Ú§Ù§Ü§à§å§â§à§Ó§ß§Ö§Ó§à§Ô§à §à§Ò§ß§Ñ§â§å§Ø§Ö§ß§Ú§ñ. §£ §ï§ä§à§Þ §ã§Ý§å§é§Ñ§Ö §ß§Ö§à§Ò§ç§à§Õ§Ú§Þ§í §Õ§Ñ§ß§ß§í§Ö §Ó §æ§à§â§Þ§Ñ§ä§Ö JSON, §Ú §à§á§è§Ú§ñ §á§â§Ö§Õ§à§Ò§â§Ñ§Ò§à§ä§Ü§Ú Prometheus §Ó JSON §à§ä§æ§à§â§Þ§Ñ§ä§Ú§â§å§Ö§ä §Ú§ç §Ú§Þ§Ö§ß§ß§à §ä§Ñ§Ü§Ú§Þ §à§Ò§â§Ñ§Ù§à§Þ.

§³§Þ. §ä§Ñ§Ü§Ø§Ö: §°§Ò§ß§Ñ§â§å§Ø§Ö§ß§Ú§Ö §ã §Ú§ã§á§à§Ý§î§Ù§à§Ó§Ñ§ß§Ú§Ö§Þ §Õ§Ñ§ß§ß§í§ç Prometheus.

§³§â§Ñ§Ó§ß§Ö§ß§Ú§Ö §ñ§Ù§í§Ü§Ñ §Ù§Ñ§á§â§à§ã§à§Ó

§£ §ã§Ý§Ö§Õ§å§ð§ë§Ö§Û §ä§Ñ§Ò§Ý§Ú§è§Ö §á§Ö§â§Ö§é§Ú§ã§Ý§Ö§ß§í §â§Ñ§Ù§Ý§Ú§é§Ú§ñ §Ú §ã§ç§à§Õ§ã§ä§Ó§Ñ §Þ§Ö§Ø§Õ§å PromQL §Ú §ñ§Ù§í§Ü§à§Þ §Ù§Ñ§á§â§à§ã§à§Ó §á§â§Ö§Õ§à§Ò§â§Ñ§Ò§à§ä§Ü§Ú Prometheus §Ó Áú»¢¶Ä²©.

§±§â§Ö§Õ§à§Ò§â§Ñ§Ò§à§ä§Ü§Ñ Prometheus §Ó Áú»¢¶Ä²©
§²§Ñ§Ù§Ý§Ú§é§Ú§ñ
§¸§Ö§Ý§î §Ù§Ñ§á§â§à§ã§Ñ §ã§Ö§â§Ó§Ö§â Prometheus §±§â§à§ã§ä§à§Û §ä§Ö§Ü§ã§ä §Ó §æ§à§â§Þ§Ñ§ä§Ö §ï§Ü§ã§á§à§Ù§Ú§è§Ú§Ú Prometheus
§£§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§ä §®§Ô§ß§à§Ó§Ö§ß§ß§í§Û §Ó§Ö§Ü§ä§à§â §©§ß§Ñ§é§Ö§ß§Ú§Ö §Þ§Ö§ä§â§Ú§Ü§Ú §Ú§Ý§Ú §Þ§Ö§ä§Ü§Ú (§ê§Ñ§Ò§Ý§à§ß Prometheus)
§®§Ñ§ã§ã§Ú§Ó §Þ§Ö§ä§â§Ú§Ü §Õ§Ý§ñ §à§ä§Õ§Ö§Ý§î§ß§à§Ô§à §Ù§ß§Ñ§é§Ö§ß§Ú§ñ §Ó JSON (Prometheus §Ó JSON)
§°§á§Ö§â§Ñ§ä§à§â§í §ã§à§à§ä§Ó§Ö§ä§ã§ä§Ó§Ú§ñ §Þ§Ö§ä§à§Ü =, !=, =~, !~ =, =~
§²§Ö§Ô§å§Ý§ñ§â§ß§à§Ö §Ó§í§â§Ñ§Ø§Ö§ß§Ú§Ö, §Ú§ã§á§à§Ý§î§Ù§å§Ö§Þ§à§Ö §Ó §ã§à§á§à§ã§ä§Ñ§Ó§Ý§Ö§ß§Ú§Ú §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ñ §Þ§Ö§ä§Ü§Ú §Ú§Ý§Ú §Þ§Ö§ä§â§Ú§Ü§Ú RE2 PCRE
§°§á§Ö§â§Ñ§ä§à§â§í §ã§â§Ñ§Ó§ß§Ö§ß§Ú§ñ §³§Þ. §´§à§Ý§î§Ü§à == (§â§Ñ§Ó§ß§à) §á§à§Õ§Õ§Ö§â§Ø§Ú§Ó§Ñ§Ö§ä§ã§ñ §Õ§Ý§ñ §æ§Ú§Ý§î§ä§â§Ñ§è§Ú§Ú §Ù§ß§Ñ§é§Ö§ß§Ú§Û
§³§ç§à§Õ§ã§ä§Ó§Ñ
§£§í§Ò§à§â §á§à §ß§Ñ§Ù§Ó§Ñ§ß§Ú§ð §Þ§Ö§ä§â§Ú§Ü§Ú, §â§Ñ§Ó§ß§à§Þ§å §ã§ä§â§à§Ü§Ö <metric name> §Ú§Ý§Ú {__name__="<metric name>"} <metric name> §Ú§Ý§Ú {__name__="<metric name>"}
§£§í§Ò§à§â §á§à §Ú§Þ§Ö§ß§Ú §Þ§Ö§ä§â§Ú§Ü§Ú, §Ü§à§ä§à§â§à§Ö §ã§à§à§ä§Ó§Ö§ä§ã§ä§Ó§å§Ö§ä §â§Ö§Ô§å§Ý§ñ§â§ß§à§Þ§å §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ð {__name__=~"<regex>"} {__name__=~"<regex>"}
§£§í§Ò§à§â §á§à §Ù§ß§Ñ§é§Ö§ß§Ú§ð <label name>, §â§Ñ§Ó§ß§à§Þ§å §ã§ä§â§à§Ü§Ö {<label name>="<label value>",...} {<label name>="<label value>",...}
§£§í§Ò§à§â §á§à §Ù§ß§Ñ§é§Ö§ß§Ú§ð <label name>, §Ü§à§ä§à§â§à§Ö §ã§à§à§ä§Ó§Ö§ä§ã§ä§Ó§å§Ö§ä §â§Ö§Ô§å§Ý§ñ§â§ß§à§Þ§å §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ð {<label name>=~"<regex>",...} {<label name>=~"<regex>",...}
§£§í§Ò§à§â §á§à §Ù§ß§Ñ§é§Ö§ß§Ú§ð, §â§Ñ§Ó§ß§à§Þ§å §ã§ä§â§à§Ü§Ö {__name__=~".*"} == <value> {__name__=~".*"} == <value>