Carbon in graphite takes all the data no matter what

Graphite's Carbon listener has been designed and configured to make it somewhat predictable in the load on your server, to avoid flooding the server itself with the expectation of I / O or a sharp increase in overall system load. If necessary, it will place incoming data, putting the load on the server as a priority. In the end, for typical data that is stored, this is not a big deal.

I appreciate all this. However, I am trying to enter a large amount of data into graphite from another source, instead of pumping data in real time, as it happens. I have a reliable source of data from a third party that comes to me in bulk, once / day.

So, in this case, I do not want the data values ​​to fall to the floor . I don't care how long the data import takes. I just want to disable all security mechanisms, let carbon do everything, and know that all my data has done it.

I am looking for documents and find all the tips for setting carbon_cache parameters in carbon.conf, but I can not find this. It begins to sound more like art than science. Any help was appreciated.

+5
source share
2 answers

First of all, you need to receive data through a tcp-listener (linear receiver) instead of udp, in order to avoid the loss of incoming points.

In graphite, there are several settings that throttle part of the conveyor, although it is not always clear what graphite does when the threshold is reached. You will have to test and / or read the carbon code.

You might want to configure:

MAX_UPDATES_PER_SECOND = 500 (maximum number of updates per disk per second)

MAX_CREATES_PER_MINUTE = 50 (maximum metric creation per minute)

For cache USE_FLOW_CONTROL = True and MAX_CACHE_SIZE = inf (inf is a good value, so return it if you change it)

If you use a relay and / or aggregator, MAX_QUEUE_SIZE = 10000 and USE_FLOW_CONTROL = True are important.

+2
source

I set this property to "inf":

MAX_CREATES_PER_MINUTE = inf

and make sure this is infinite too:

MAX_CACHE_SIZE = inf

During bulk upload, I control the file / opt / graphite / storage / log / carbon -cache / carbon-cache-a / creates.log to make sure that the silky DBs are created. To make sure, you can start the download a second time and there should be no further creations.

+1
source

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


All Articles