ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ ืกื“ืจื•ืช ื”ื–ืžืŸ (TSDB) ื‘-Prometheus 2 ื”ื•ื ื“ื•ื’ืžื” ืžืฆื•ื™ื ืช ืœืคืชืจื•ืŸ ื”ื ื“ืกื™ ื”ืžืฆื™ืข ืฉื™ืคื•ืจื™ื ืžืฉืžืขื•ืชื™ื™ื ื‘ื™ื—ืก ืœืื—ืกื•ืŸ v2 ื‘-Prometheus 1 ืžื‘ื—ื™ื ืช ืฆื‘ื™ืจืช ื ืชื•ื ื™ื ื•ืžื”ื™ืจื•ืช ื‘ื™ืฆื•ืข ืฉืื™ืœืชื•ืช, ื•ื™ืขื™ืœื•ืช ืžืฉืื‘ื™ื. ื”ื˜ืžืขื ื• ืืช Prometheus 2 ื‘-Percona ื ื™ื˜ื•ืจ ื•ื ื™ื”ื•ืœ (PMM) ื•ื”ื™ื™ืชื” ืœื™ ื”ื”ื–ื“ืžื ื•ืช ืœื”ื‘ื™ืŸ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ Prometheus 2 TSDB. ื‘ืžืืžืจ ื–ื” ืื“ื‘ืจ ืขืœ ืชื•ืฆืื•ืช ื”ืชืฆืคื™ื•ืช ื”ืœืœื•.

ืขื•ืžืก ืขื‘ื•ื“ื” ืžืžื•ืฆืข ืฉืœ ืคืจื•ืžืชืื•ืก

ืขื‘ื•ืจ ืืœื” ืฉืจื’ื™ืœื™ื ืœื”ืชืžื•ื“ื“ ืขื ืžืกื“ื™ ื ืชื•ื ื™ื ื›ืœืœื™ื™ื, ืขื•ืžืก ื”ืขื‘ื•ื“ื” ื”ื˜ื™ืคื•ืกื™ ืฉืœ Prometheus ื”ื•ื ื“ื™ ืžืขื ื™ื™ืŸ. ืงืฆื‘ ืฆื‘ื™ืจืช ื”ื ืชื•ื ื™ื ื ื•ื˜ื” ืœื”ื™ื•ืช ื™ืฆื™ื‘: ื‘ื“ืจืš ื›ืœืœ ื”ืฉื™ืจื•ืชื™ื ืฉืืชื” ืžื ื˜ืจ ืฉื•ืœื—ื™ื ื‘ืขืจืš ืื•ืชื• ืžืกืคืจ ืฉืœ ืžื“ื“ื™ื, ื•ื”ืชืฉืชื™ืช ืžืฉืชื ื” ืœืื˜ ื™ื—ืกื™ืช.
ื‘ืงืฉื•ืช ืœืžื™ื“ืข ืขืฉื•ื™ื•ืช ืœื”ื’ื™ืข ืžืžืงื•ืจื•ืช ืฉื•ื ื™ื. ื—ืœืง ืžื”ืŸ, ื›ืžื• ื”ืชืจืื•ืช, ื’ื ืฉื•ืืคื•ืช ืœืขืจืš ื™ืฆื™ื‘ ื•ืฆืคื•ื™. ืื—ืจื™ื, ื›ื’ื•ืŸ ื‘ืงืฉื•ืช ืžืฉืชืžืฉื™ื, ืขืœื•ืœื•ืช ืœื’ืจื•ื ืœื”ืชืคืจืฆื•ื™ื•ืช, ืื ื›ื™ ื–ื” ืœื ื”ืžืงืจื” ืขื‘ื•ืจ ืจื•ื‘ ืขื•ืžืกื™ ื”ืขื‘ื•ื“ื”.

ืžื‘ื—ืŸ ืขื•ืžืก

ื‘ืžื”ืœืš ื”ื‘ื“ื™ืงื” ื”ืชืžืงื“ืชื™ ื‘ื™ื›ื•ืœืช ืœืฆื‘ื•ืจ ื ืชื•ื ื™ื. ืคืจืกืชื™ ืืช Prometheus 2.3.2 ื”ื™ื“ื•ืจ ืขื Go 1.10.1 (ื›ื—ืœืง ืž-PMM 1.14) ื‘ืฉื™ืจื•ืช Linode ื‘ืืžืฆืขื•ืช ื”ืกืงืจื™ืคื˜ ื”ื–ื”: StackScript. ืœื™ืฆื™ืจืช ื”ืขื•ืžืก ื”ืžืฆื™ืื•ืชื™ ื‘ื™ื•ืชืจ, ื”ืฉืชืžืฉ ื‘ื–ื” StackScript ื”ืฉืงืชื™ ืžืกืคืจ ืฆืžืชื™ MySQL ืขื ืขื•ืžืก ืืžื™ืชื™ (Sysbench TPC-C Test), ืฉื›ืœ ืื—ื“ ืžื”ื ื—ื™ืงื” 10 ืฆืžืชื™ื ืฉืœ Linux/MySQL.
ื›ืœ ื”ื‘ื“ื™ืงื•ืช ื”ื‘ืื•ืช ื‘ื•ืฆืขื• ืขืœ ืฉืจืช Linode ืขื ืฉืžื•ื ื” ืœื™ื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื•ื–ื™ื›ืจื•ืŸ ืฉืœ 32 ื’'ื™ื’ื”-ื‘ื™ื™ื˜, ืชื•ืš ื”ืคืขืœืช 20 ืกื™ืžื•ืœืฆื™ื•ืช ืขื•ืžืก ื”ืžื ื˜ืจื•ืช ืžืืชื™ื™ื ืžื•ืคืขื™ MySQL. ืื•, ื‘ืžื•ื ื—ื™ื ืฉืœ ืคืจื•ืžืชืื•ืก, 800 ืžื˜ืจื•ืช, 440 ืฉืจื™ื˜ื•ืช ื‘ืฉื ื™ื™ื”, 380 ืืœืฃ ืฉื™ืื™ื ื‘ืฉื ื™ื™ื” ื•-1,7 ืžื™ืœื™ื•ืŸ ืกื“ืจื•ืช ื–ืžืŸ ืคืขื™ืœื•ืช.

ืชื›ื ื™ืช

ื”ื’ื™ืฉื” ื”ืจื’ื™ืœื” ืฉืœ ืžืกื“ื™ ื ืชื•ื ื™ื ืžืกื•ืจืชื™ื™ื, ื›ื•ืœืœ ื–ื• ืฉื‘ื” ืžืฉืชืžืฉ Prometheus 1.x, ื”ื™ื ืžื’ื‘ืœืช ื–ื™ื›ืจื•ืŸ. ืื ื–ื” ืœื ืžืกืคื™ืง ื›ื“ื™ ืœื”ืชืžื•ื“ื“ ืขื ื”ืขื•ืžืก, ืืชื” ืชื—ื•ื•ื” ื–ืžืŸ ื”ืฉื”ื™ื™ื” ื’ื‘ื•ื” ื•ื—ืœืง ืžื”ื‘ืงืฉื•ืช ื™ื™ื›ืฉืœื•. ืฉื™ืžื•ืฉ ื‘ื–ื™ื›ืจื•ืŸ ื‘-Prometheus 2 ื ื™ืชืŸ ืœื”ื’ื“ืจื” ื‘ืืžืฆืขื•ืช ืžืคืชื— storage.tsdb.min-block-duration, ื”ืงื•ื‘ืข ื›ืžื” ื–ืžืŸ ื”ื”ืงืœื˜ื•ืช ื™ื™ืฉืžืจื• ื‘ื–ื™ื›ืจื•ืŸ ืœืคื ื™ ื”ื”ื“ื—ื” ืœื“ื™ืกืง (ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื™ื ืฉืขืชื™ื™ื). ื›ืžื•ืช ื”ื–ื™ื›ืจื•ืŸ ื”ื ื“ืจืฉืช ืชื”ื™ื” ืชืœื•ื™ื” ื‘ืžืกืคืจ ืกื“ืจื•ืช ื”ื–ืžืŸ, ื”ืชื•ื•ื™ื•ืช ื•ืฉืจื™ื˜ื•ืช ืฉื ื•ืกืคื• ืœื–ืจื ื”ื ื›ื ืก ื ื˜ื•. ืžื‘ื—ื™ื ืช ืฉื˜ื— ื“ื™ืกืง, ืคืจื•ืžืชืื•ืก ืฉื•ืืคืช ืœื”ืฉืชืžืฉ ื‘-2 ื‘ืชื™ื ืœืจืฉื•ืžื” (ืžื“ื’ื). ืžืฆื“ ืฉื ื™, ื“ืจื™ืฉื•ืช ื”ื–ื™ื›ืจื•ืŸ ื”ืจื‘ื” ื™ื•ืชืจ ื’ื‘ื•ื”ื•ืช.

ืœืžืจื•ืช ืฉื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืืช ื’ื•ื“ืœ ื”ื‘ืœื•ืง, ืœื ืžื•ืžืœืฅ ืœื”ื’ื“ื™ืจ ืื•ืชื• ื‘ืื•ืคืŸ ื™ื“ื ื™, ื•ืœื›ืŸ ืืชื” ื ืืœืฅ ืœืชืช ืœ-Prometheus ื›ืžื•ืช ื–ื™ื›ืจื•ืŸ ืฉื”ื™ื ื“ื•ืจืฉืช ืขื‘ื•ืจ ืขื•ืžืก ื”ืขื‘ื•ื“ื” ืฉืœืš.
ืื ืื™ืŸ ืžืกืคื™ืง ื–ื™ื›ืจื•ืŸ ืœืชืžื•ืš ื‘ื–ืจื ื”ืžื“ื“ื™ื ื”ื ื›ื ืก, ืคืจื•ืžืชืื•ืก ื™ื™ืคื•ืœ ืžื”ื–ื™ื›ืจื•ืŸ ืื• ืฉื”ืจื•ืฆื— OOM ื™ื’ื™ืข ืืœื™ื•.
ื”ื•ืกืคืช swap ื›ื“ื™ ืœืขื›ื‘ ืืช ื”ื”ืชืจืกืงื•ืช ื›ืฉื™ื’ืžืจ ื”ื–ื™ื›ืจื•ืŸ ืฉืœ Prometheus ืœื ืžืžืฉ ืขื•ื–ืจืช, ื›ื™ ื”ืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื” ื–ื• ื’ื•ืจื ืœืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ื ืคื™ืฆื”. ืื ื™ ื—ื•ืฉื‘ ืฉื–ื” ืงืฉื•ืจ ืœื’ื•, ืœืืกืคืŸ ื”ืืฉืคื” ืฉืœื• ื•ืœืื•ืคืŸ ืฉื‘ื• ื”ื•ื ืžืชืžื•ื“ื“ ืขื ื”ื—ืœืคื•ืช.
ื’ื™ืฉื” ืžืขื ื™ื™ื ืช ื ื•ืกืคืช ื”ื™ื ืœื”ื’ื“ื™ืจ ืืช ื”-head ื‘ืœื•ืง ืœืฉื˜ื™ืคื” ืœื“ื™ืกืง ื‘ื–ืžืŸ ืžืกื•ื™ื, ื‘ืžืงื•ื ืœืกืคื•ืจ ืื•ืชื• ืžืชื—ื™ืœืช ื”ืชื”ืœื™ืš.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžื”ื’ืจืฃ, ืฉื˜ื™ืคื•ืช ืœื“ื™ืกืง ืžืชืจื—ืฉื•ืช ื›ืœ ืฉืขืชื™ื™ื. ืื ืชืฉื ื” ืืช ื”ืคืจืžื˜ืจ ืฉืœ ืžืฉืš ื”ื—ืกื™ืžื” ื”ืžื™ื ื™ืžืœื™ืช ืœืฉืขื” ืื—ืช, ื”ืื™ืคื•ืกื™ื ื”ืœืœื• ื™ืชืจื—ืฉื• ื›ืœ ืฉืขื”, ื”ื—ืœ ืœืื—ืจ ื—ืฆื™ ืฉืขื”.
ืื ืืชื” ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘ื’ืจืฃ ื–ื” ื•ื‘ื’ืจืคื™ื ืื—ืจื™ื ื‘ื”ืชืงื ืช Prometheus ืฉืœืš, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื–ื” ืœื•ึผื—ึท ืžึทื—ื•ื•ึธื ึดื™ื. ื”ื•ื ืชื•ื›ื ืŸ ืขื‘ื•ืจ PMM ืืš, ืขื ืฉื™ื ื•ื™ื™ื ืงืœื™ื, ืžืชืื™ื ืœื›ืœ ื”ืชืงื ื” ืฉืœ ืคืจื•ืžืชืื•ืก.
ื™ืฉ ืœื ื• ื‘ืœื•ืง ืคืขื™ืœ ืฉื ืงืจื head block ืืฉืจ ืžืื•ื—ืกืŸ ื‘ื–ื™ื›ืจื•ืŸ; ื‘ืœื•ืงื™ื ืขื ื ืชื•ื ื™ื ื™ืฉื ื™ื ื™ื•ืชืจ ื–ืžื™ื ื™ื ื‘ืืžืฆืขื•ืช mmap(). ื–ื” ืžื‘ื˜ืœ ืืช ื”ืฆื•ืจืš ืœื”ื’ื“ื™ืจ ืืช ื”ืžื˜ืžื•ืŸ ื‘ื ืคืจื“, ืื‘ืœ ื’ื ืื•ืžืจ ืฉืขืœื™ืš ืœื”ืฉืื™ืจ ืžืกืคื™ืง ืžืงื•ื ืขื‘ื•ืจ ื”ืžื˜ืžื•ืŸ ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” ืื ื‘ืจืฆื•ื ืš ืœื‘ืฆืข ืฉืื™ืœืชื•ืช ื ืชื•ื ื™ื ื™ืฉื ื™ื ื™ื•ืชืจ ืžืžื” ืฉื”-head block ื™ื›ื•ืœ ืœื”ื›ื™ืœ.
ื–ื” ื’ื ืื•ืžืจ ืฉืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ื”ื•ื•ื™ืจื˜ื•ืืœื™ ืฉืœ Prometheus ืชื™ืจืื” ื“ื™ ื’ื‘ื•ื”ื”, ื•ื–ื” ืœื ืžืฉื”ื• ืฉืฆืจื™ืš ืœื“ืื•ื’ ืœื’ื‘ื™ื•.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื ืงื•ื“ืช ืขื™ืฆื•ื‘ ืžืขื ื™ื™ื ืช ื ื•ืกืคืช ื”ื™ื ื”ืฉื™ืžื•ืฉ ื‘-WAL (ื›ืชื‘ื• ืงื“ื™ืžื” ื™ื•ืžืŸ). ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžืชื™ืขื•ื“ ื”ืื—ืกื•ืŸ, ืคืจื•ืžืชืื•ืก ืžืฉืชืžืฉืช ื‘-WAL ื›ื“ื™ ืœืžื ื•ืข ืงืจื™ืกื•ืช. ืžื ื’ื ื•ื ื™ื ืกืคืฆื™ืคื™ื™ื ืœื”ื‘ื˜ื—ืช ืฉืจื™ื“ื•ืช ื”ื ืชื•ื ื™ื, ืœืžืจื‘ื” ื”ืฆืขืจ, ืื™ื ื ืžืชื•ืขื“ื™ื ื”ื™ื˜ื‘. Prometheus ื’ืจืกื” 2.3.2 ืฉื•ื˜ืคืช ืืช WAL ืœื“ื™ืกืง ื›ืœ 10 ืฉื ื™ื•ืช ื•ืืคืฉืจื•ืช ื–ื• ืื™ื ื” ื ื™ืชื ืช ืœื”ื’ื“ืจื” ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ.

ื“ื—ื™ืกื•ืช

Prometheus TSDB ืžืชื•ื›ื ืŸ ื›ืžื• ื—ื ื•ืช LSM (Log Structured Merge): ื‘ืœื•ืง ื”ืจืืฉ ื ืฉื˜ืฃ ืžืขืช ืœืขืช ืœื“ื™ืกืง, ื‘ืขื•ื“ ืฉืžื ื’ื ื•ืŸ ื“ื—ื™ืกื” ืžืฉืœื‘ ืžืกืคืจ ื‘ืœื•ืงื™ื ื™ื—ื“ ื›ื“ื™ ืœืžื ื•ืข ืกืจื™ืงืช ื‘ืœื•ืงื™ื ืจื‘ื™ื ืžื“ื™ ื‘ืžื”ืœืš ืฉืื™ืœืชื•ืช. ื›ืืŸ ืชื•ื›ืœื• ืœืจืื•ืช ืืช ืžืกืคืจ ื”ื‘ืœื•ืงื™ื ืฉืฆืคื™ืชื™ ื‘ืžืขืจื›ืช ื”ื‘ื“ื™ืงื” ืœืื—ืจ ื™ื•ื ืฉืœ ืขื•ืžืก.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืื ืชืจืฆื• ืœืœืžื•ื“ ืขื•ื“ ืขืœ ื”ื—ื ื•ืช, ืชื•ื›ืœื• ืœื‘ื—ื•ืŸ ืืช ืงื•ื‘ืฅ meta.json, ืฉื‘ื• ื™ืฉ ืžื™ื“ืข ืขืœ ื”ื‘ืœื•ืงื™ื ื”ื–ืžื™ื ื™ื ื•ื›ื™ืฆื“ ื”ื ื ื•ืฆืจื•.

{
       "ulid": "01CPZDPD1D9R019JS87TPV5MPE",
       "minTime": 1536472800000,
       "maxTime": 1536494400000,
       "stats": {
               "numSamples": 8292128378,
               "numSeries": 1673622,
               "numChunks": 69528220
       },
       "compaction": {
               "level": 2,
               "sources": [
                       "01CPYRY9MS465Y5ETM3SXFBV7X",
                       "01CPYZT0WRJ1JB1P0DP80VY5KJ",
                       "01CPZ6NR4Q3PDP3E57HEH760XS"
               ],
               "parents": [
                       {
                               "ulid": "01CPYRY9MS465Y5ETM3SXFBV7X",
                               "minTime": 1536472800000,
                               "maxTime": 1536480000000
                       },
                       {
                               "ulid": "01CPYZT0WRJ1JB1P0DP80VY5KJ",
                               "minTime": 1536480000000,
                               "maxTime": 1536487200000
                       },
                       {
                               "ulid": "01CPZ6NR4Q3PDP3E57HEH760XS",
                               "minTime": 1536487200000,
                               "maxTime": 1536494400000
                       }
               ]
       },
       "version": 1
}

ื“ื—ื™ืกื•ืช ื‘ืคืจื•ืžืชืื•ืก ืงืฉื•ืจื•ืช ืœื–ืžืŸ ืฉื‘ื• ื‘ืœื•ืง ื”ืจืืฉ ื ืฉื˜ืฃ ืœื“ื™ืกืง. ื‘ืฉืœื‘ ื–ื”, ื ื™ืชืŸ ืœื‘ืฆืข ืžืกืคืจ ืคืขื•ืœื•ืช ื›ืืœื”.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื ืจืื” ืฉื“ื—ื™ืกื•ืช ืื™ื ืŸ ืžื•ื’ื‘ืœื•ืช ื‘ืฉื•ื ืฆื•ืจื” ื•ื™ื›ื•ืœื•ืช ืœื’ืจื•ื ืœืงื•ืฆื™ื ื’ื“ื•ืœื™ื ืฉืœ ืงืœื˜/ืคืœื˜ ื“ื™ืกืง ื‘ืžื”ืœืš ื”ื‘ื™ืฆื•ืข.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืงื•ืฆื™ื ื‘ืขื•ืžืก ื”ืžืขื‘ื“

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื›ืžื•ื‘ืŸ, ื™ืฉ ืœื›ืš ื”ืฉืคืขื” ืฉืœื™ืœื™ืช ืœืžื“ื™ ืขืœ ืžื”ื™ืจื•ืช ื”ืžืขืจื›ืช, ื•ื’ื ืžื”ื•ื•ื” ืืชื’ืจ ืจืฆื™ื ื™ ืœืื—ืกื•ืŸ LSM: ื›ื™ืฆื“ ืœื‘ืฆืข ื“ื—ื™ืกื” ื›ื“ื™ ืœืชืžื•ืš ื‘ืงืฆื‘ื™ ื‘ืงืฉื•ืช ื’ื‘ื•ื”ื™ื ืžื‘ืœื™ ืœื’ืจื•ื ืœื™ื•ืชืจ ืžื“ื™ ืชืงื•ืจื”?
ื’ื ื”ืฉื™ืžื•ืฉ ื‘ื–ื™ื›ืจื•ืŸ ื‘ืชื”ืœื™ืš ื”ื“ื—ื™ืกื” ื ืจืื” ื“ื™ ืžืขื ื™ื™ืŸ.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืื ื• ื™ื›ื•ืœื™ื ืœืจืื•ืช ื›ื™ืฆื“, ืœืื—ืจ ื”ื“ื—ื™ืกื”, ืจื•ื‘ ื”ื–ื™ื›ืจื•ืŸ ืžืฉืชื ื” ืžืžืฆื‘ Cached ืœ-Free: ื–ื” ืื•ืžืจ ืฉืžื™ื“ืข ื‘ืขืœ ืขืจืš ืคื•ื˜ื ืฆื™ืืœื™ ื”ื•ืกืจ ืžืฉื. ืžืขื ื™ื™ืŸ ืื ื–ื” ืžืฉืžืฉ ื›ืืŸ fadvice() ืื• ื˜ื›ื ื™ืงืช ืžื–ืขื•ืจ ืื—ืจืช, ืื• ืฉืžื ื‘ื’ืœืœ ืฉื”ืžื˜ืžื•ืŸ ืฉื•ื—ืจืจ ืžื’ื•ืฉื™ื ืฉื ื”ืจืกื• ื‘ืžื”ืœืš ื”ื“ื—ื™ืกื”?

ื”ืชืื•ืฉืฉื•ืช ืœืื—ืจ ื›ื™ืฉืœื•ืŸ

ื”ืชืื•ืฉืฉื•ืช ืžื›ื™ืฉืœื•ื ื•ืช ืœื•ืงื—ืช ื–ืžืŸ, ื•ืžืกื™ื‘ื” ื˜ื•ื‘ื”. ืขื‘ื•ืจ ื–ืจื ื ื›ื ืก ืฉืœ ืžื™ืœื™ื•ืŸ ืจืฉื•ืžื•ืช ื‘ืฉื ื™ื™ื”, ื ืืœืฆืชื™ ืœื”ืžืชื™ืŸ ื›-25 ื“ืงื•ืช ื‘ื–ืžืŸ ืฉื”ืฉื—ื–ื•ืจ ื‘ื•ืฆืข ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ื›ื•ื ืŸ ื”-SSD.

level=info ts=2018-09-13T13:38:14.09650965Z caller=main.go:222 msg="Starting Prometheus" version="(version=2.3.2, branch=v2.3.2, revision=71af5e29e815795e9dd14742ee7725682fa14b7b)"
level=info ts=2018-09-13T13:38:14.096599879Z caller=main.go:223 build_context="(go=go1.10.1, user=Jenkins, date=20180725-08:58:13OURCE)"
level=info ts=2018-09-13T13:38:14.096624109Z caller=main.go:224 host_details="(Linux 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 1bee9e9b78cf (none))"
level=info ts=2018-09-13T13:38:14.096641396Z caller=main.go:225 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2018-09-13T13:38:14.097715256Z caller=web.go:415 component=web msg="Start listening for connections" address=:9090
level=info ts=2018-09-13T13:38:14.097400393Z caller=main.go:533 msg="Starting TSDB ..."
level=info ts=2018-09-13T13:38:14.098718401Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536530400000 maxt=1536537600000 ulid=01CQ0FW3ME8Q5W2AN5F9CB7R0R
level=info ts=2018-09-13T13:38:14.100315658Z caller=web.go:467 component=web msg="router prefix" prefix=/prometheus
level=info ts=2018-09-13T13:38:14.101793727Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536732000000 maxt=1536753600000 ulid=01CQ78486TNX5QZTBF049PQHSM
level=info ts=2018-09-13T13:38:14.102267346Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536537600000 maxt=1536732000000 ulid=01CQ78DE7HSQK0C0F5AZ46YGF0
level=info ts=2018-09-13T13:38:14.102660295Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536775200000 maxt=1536782400000 ulid=01CQ7SAT4RM21Y0PT5GNSS146Q
level=info ts=2018-09-13T13:38:14.103075885Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536753600000 maxt=1536775200000 ulid=01CQ7SV8WJ3C2W5S3RTAHC2GHB
level=error ts=2018-09-13T14:05:18.208469169Z caller=wal.go:275 component=tsdb msg="WAL corruption detected; truncating" err="unexpected CRC32 checksum d0465484, want 0" file=/opt/prometheus/data/.prom2-data/wal/007357 pos=15504363
level=info ts=2018-09-13T14:05:19.471459777Z caller=main.go:543 msg="TSDB started"
level=info ts=2018-09-13T14:05:19.471604598Z caller=main.go:603 msg="Loading configuration file" filename=/etc/prometheus.yml
level=info ts=2018-09-13T14:05:19.499156711Z caller=main.go:629 msg="Completed loading of configuration file" filename=/etc/prometheus.yml
level=info ts=2018-09-13T14:05:19.499228186Z caller=main.go:502 msg="Server is ready to receive web requests."

ื”ื‘ืขื™ื” ื”ืขื™ืงืจื™ืช ืฉืœ ืชื”ืœื™ืš ื”ืฉื—ื–ื•ืจ ื”ื™ื ืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ื’ื‘ื•ื”ื”. ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉื‘ืžืฆื‘ ืจื’ื™ืœ ื”ืฉืจืช ื™ื›ื•ืœ ืœืขื‘ื•ื“ ื‘ื™ืฆื™ื‘ื•ืช ืขื ืื•ืชื” ื›ืžื•ืช ื–ื™ื›ืจื•ืŸ, ืื ื”ื•ื ื™ืงืจื•ืก ื”ื•ื ืขืœื•ืœ ืœื ืœื”ืชืื•ืฉืฉ ืขืงื‘ OOM. ื”ืคืชืจื•ืŸ ื”ื™ื—ื™ื“ ืฉืžืฆืืชื™ ื”ื™ื” ืœื”ืฉื‘ื™ืช ืืช ืื™ืกื•ืฃ ื”ื ืชื•ื ื™ื, ืœื”ืขืœื•ืช ืืช ื”ืฉืจืช, ืœืชืช ืœื• ืœื”ืชืื•ืฉืฉ ื•ืœืืชื—ืœ ืžื—ื“ืฉ ื›ืฉื”ืื™ืกื•ืฃ ืžื•ืคืขืœ.

ืœื”ืชื—ืžื

ื”ืชื ื”ื’ื•ืช ื ื•ืกืคืช ืฉื›ื“ืื™ ืœื–ื›ื•ืจ ื‘ืžื”ืœืš ื”ื—ื™ืžื•ื ื”ื™ื ื”ืงืฉืจ ื‘ื™ืŸ ื‘ื™ืฆื•ืขื™ื ื ืžื•ื›ื™ื ื•ืฆืจื™ื›ืช ืžืฉืื‘ื™ื ื’ื‘ื•ื”ื” ืžื™ื“ ืœืื—ืจ ื”ื”ืชื—ืœื”. ื‘ืžื”ืœืš ื—ืœืง ืžื”ื”ืชื—ืœื•ืช, ืืš ืœื ื‘ื›ื•ืœืŸ, ืจืื™ืชื™ ืขื•ืžืก ืจืฆื™ื ื™ ืขืœ ื”ืžืขื‘ื“ ื•ื”ื–ื™ื›ืจื•ืŸ.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืคืขืจื™ื ื‘ืฉื™ืžื•ืฉ ื‘ื–ื™ื›ืจื•ืŸ ืžืฆื‘ื™ืขื™ื ืขืœ ื›ืš ืฉ-Prometheus ืœื ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืืช ื›ืœ ื”ืื•ืกืคื™ื ืžื”ื”ืชื—ืœื”, ื•ื—ืœืง ืžื”ืžื™ื“ืข ื”ื•ืœืš ืœืื™ื‘ื•ื“.
ืœื ื”ื‘ื ืชื™ ืืช ื”ืกื™ื‘ื•ืช ื”ืžื“ื•ื™ืงื•ืช ืœืขื•ืžืก ื”ืžืขื‘ื“ ื•ื”ื–ื™ื›ืจื•ืŸ ื”ื’ื‘ื•ื”. ืื ื™ ื—ื•ืฉื“ ืฉื–ื” ื ื•ื‘ืข ืžื™ืฆื™ืจืช ืกื“ืจื•ืช ื–ืžืŸ ื—ื“ืฉื•ืช ื‘ื‘ืœื•ืง ื”ืจืืฉ ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื”.

ืขืœื™ื•ืช ืขื•ืžืก ื”ืžืขื‘ื“

ื‘ื ื•ืกืฃ ืœื“ื—ื™ืกื•ืช, ืฉื™ื•ืฆืจื•ืช ืขื•ืžืก I/O ื’ื‘ื•ื” ืœืžื“ื™, ื”ื‘ื—ื ืชื™ ื‘ืงืคื™ืฆื™ื ืจืฆื™ื ื™ื™ื ื‘ืขื•ืžืก ื”ืžืขื‘ื“ ื›ืœ ืฉืชื™ ื“ืงื•ืช. ื”ืคืจืฆื™ื ืืจื•ื›ื™ื ื™ื•ืชืจ ื›ืืฉืจ ื–ืจื™ืžืช ื”ืงืœื˜ ื’ื‘ื•ื”ื” ื•ื ืจืื” ืฉื”ื ื ื’ืจืžื•ืช ืขืœ ื™ื“ื™ ืืกืคืŸ ื”ืืฉืคื” ืฉืœ Go, ื›ืืฉืจ ืœืคื—ื•ืช ื—ืœืง ืžื”ืœื™ื‘ื•ืช ื ื˜ืขื ื•ืช ื‘ืžืœื•ืืŸ.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ื”ืงืคื™ืฆื•ืช ื”ืœืœื• ืื™ื ืŸ ื›ืœ ื›ืš ื—ืกืจื•ืช ืžืฉืžืขื•ืช. ื ืจืื” ืฉื›ืืฉืจ ืืœื• ืžืชืจื—ืฉื™ื, ื ืงื•ื“ืช ื”ื›ื ื™ืกื” ื•ื”ืžื“ื“ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœ ืคืจื•ืžืชืื•ืก ื”ื•ืคื›ื™ื ื‘ืœืชื™ ื–ืžื™ื ื™ื, ืžื” ืฉื’ื•ืจื ืœืคืขืจื™ ื ืชื•ื ื™ื ื‘ืžื”ืœืš ืื•ืชื ืคืจืงื™ ื–ืžืŸ.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืืชื” ื™ื›ื•ืœ ื’ื ืœืฉื™ื ืœื‘ ืฉื™ืฆื•ืืŸ Prometheus ื ื›ื‘ื” ืœืฉื ื™ื™ื” ืื—ืช.

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืื ื• ื™ื›ื•ืœื™ื ืœื”ื‘ื—ื™ืŸ ื‘ืงื•ืจืœืฆื™ื•ืช ืขื ืื™ืกื•ืฃ ืืฉืคื” (GC).

ื ื™ืชื•ื— TSDB ื‘ืคืจื•ืžืชืื•ืก 2

ืžืกืงื ื”

TSDB ื‘-Prometheus 2 ืžื”ื™ืจ, ืžืกื•ื’ืœ ืœื˜ืคืœ ื‘ืžื™ืœื™ื•ื ื™ ืกื“ืจื•ืช ื–ืžืŸ ื•ื‘ืžืงื‘ื™ืœ ื‘ืืœืคื™ ืจืฉื•ืžื•ืช ื‘ืฉื ื™ื™ื” ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื—ื•ืžืจื” ืฆื ื•ืขื” ืœืžื“ื™. ื’ื ื ื™ืฆื•ืœ ื”-I/O ืฉืœ ื”ืžืขื‘ื“ ื•ื”ื“ื™ืกืง ืžืจืฉื™ื. ื”ื“ื•ื’ืžื” ืฉืœื™ ื”ืจืืชื” ืขื“ 200 ืžื“ื“ื™ื ืœืฉื ื™ื™ื” ืœื›ืœ ืœื™ื‘ื” ื‘ืฉื™ืžื•ืฉ.

ื›ื“ื™ ืœืชื›ื ืŸ ื”ืจื—ื‘ื”, ืืชื” ืฆืจื™ืš ืœื–ื›ื•ืจ ื›ืžื•ื™ื•ืช ืžืกืคื™ืงื•ืช ืฉืœ ื–ื™ื›ืจื•ืŸ, ื•ื–ื” ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื–ื™ื›ืจื•ืŸ ืืžื™ืชื™. ื›ืžื•ืช ื”ื–ื™ื›ืจื•ืŸ ื‘ืฉื™ืžื•ืฉ ืฉืจืื™ืชื™ ื”ื™ื™ืชื” ื›-5 ื’'ื™ื’ื”-ื‘ื™ื™ื˜ ืœ-100 ืจืฉื•ืžื•ืช ื‘ืฉื ื™ื™ื” ืฉืœ ื”ื–ืจื ื”ื ื›ื ืก, ืฉื™ื—ื“ ืขื ื”ืžื˜ืžื•ืŸ ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” ื ืชืŸ ื›-000 ื’'ื™ื’ื”-ื‘ื™ื™ื˜ ืฉืœ ื–ื™ื›ืจื•ืŸ ืชืคื•ืก.

ื›ืžื•ื‘ืŸ, ื™ืฉ ืขื•ื“ ื”ืจื‘ื” ืขื‘ื•ื“ื” ืœืขืฉื•ืช ื›ื“ื™ ืœืืœืฃ ืืช ืงื•ืฆื™ ื”-I/O ืฉืœ ื”ืžืขื‘ื“ ื•ื”ื“ื™ืกืง, ื•ื–ื” ืœื ืžืคืชื™ืข ื‘ื”ืชื—ืฉื‘ ืขื“ ื›ืžื” ืฆืขื™ืจ TSDB Prometheus 2 ืœืขื•ืžืช InnoDB, TokuDB, RocksDB, WiredTiger, ืื‘ืœ ืœื›ื•ืœื ื”ื™ื” ื“ื•ืžื” ื‘ืขื™ื•ืช ื‘ืชื—ื™ืœืช ืžื—ื–ื•ืจ ื”ื—ื™ื™ื.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”