项目作者: bzed

项目描述 :
Converts storage-schema.conf from graphite/carbon to clickhouse graphite_rollup XML
高级语言: Go
项目地址: git://github.com/bzed/carbon-schema-to-clickhouse.git
创建时间: 2017-03-24T15:22:23Z
项目社区:https://github.com/bzed/carbon-schema-to-clickhouse

开源协议:MIT License

下载


carbon-schema-to-clickhouse Build Status

Converts storage-schema.conf from graphite/carbon to clickhouse graphite_rollup XML

Migrating our storage-schemas.conf from an older graphite implementation to
the XML snippet needed for ClickHouse
would have needed much more time than hacking this small piece of go code.

Usage:

  1. % cat storage-schemas-example.conf [carbon]
  2. pattern = ^carbon\.
  3. retentions = 60:90d,60m:120d,360m:400d,720m:2y,1d:3y,7d:10y
  4. [collectd]
  5. pattern = ^collectd\..*
  6. retentions = 10s:12h,1m:10d,15m:20d,30m:40d,60m:120d,360m:400d,720m:2y,1d:3y,7d:10y
  7. [netapp.capacity]
  8. pattern = ^netapp\.capacity\.*
  9. retentions = 15m:100d, 1d:5y
  10. [default]
  11. pattern = .*
  12. retentions = 1m:10d,15m:20d,30m:40d,60m:120d,360m:400d,720m:2y,1d:3y,7d:10y
  1. % ./carbon-schema-to-clickhouse -h
  2. Usage of ./carbon-schema-to-clickhouse:
  3. -rollupfunction string
  4. clickhouse rollup function (default "any")
  5. -schemafile string
  6. storage schema file to convert (default "/etc/carbon/storage-schemas.conf")
  1. % ./carbon-schema-to-clickhouse -schemafile storage-schemas-example.conf -rollupfunction avg
  2. <graphite_rollup>
  3. <!-- carbon -->
  4. <pattern>
  5. <regexp>^carbon\.</regexp>
  6. <function>avg</function>
  7. <retention>
  8. <age>0</age>
  9. <precision>60</precision>
  10. </retention>
  11. <retention>
  12. <age>7776000</age>
  13. <precision>3600</precision>
  14. </retention>
  15. <retention>
  16. <age>10368000</age>
  17. <precision>21600</precision>
  18. </retention>
  19. <retention>
  20. <age>34560000</age>
  21. <precision>43200</precision>
  22. </retention>
  23. <retention>
  24. <age>63072000</age>
  25. <precision>86400</precision>
  26. </retention>
  27. <retention>
  28. <age>94608000</age>
  29. <precision>604800</precision>
  30. </retention>
  31. </pattern>
  32. <!-- collectd -->
  33. <pattern>
  34. <regexp>^collectd\..*</regexp>
  35. <function>avg</function>
  36. <retention>
  37. <age>0</age>
  38. <precision>10</precision>
  39. </retention>
  40. <retention>
  41. <age>43200</age>
  42. <precision>60</precision>
  43. </retention>
  44. <retention>
  45. <age>864000</age>
  46. <precision>900</precision>
  47. </retention>
  48. <retention>
  49. <age>1728000</age>
  50. <precision>1800</precision>
  51. </retention>
  52. <retention>
  53. <age>3456000</age>
  54. <precision>3600</precision>
  55. </retention>
  56. <retention>
  57. <age>10368000</age>
  58. <precision>21600</precision>
  59. </retention>
  60. <retention>
  61. <age>34560000</age>
  62. <precision>43200</precision>
  63. </retention>
  64. <retention>
  65. <age>63072000</age>
  66. <precision>86400</precision>
  67. </retention>
  68. <retention>
  69. <age>94608000</age>
  70. <precision>604800</precision>
  71. </retention>
  72. </pattern>
  73. <!-- netapp.capacity -->
  74. <pattern>
  75. <regexp>^netapp\.capacity\.*</regexp>
  76. <function>avg</function>
  77. <retention>
  78. <age>0</age>
  79. <precision>900</precision>
  80. </retention>
  81. <retention>
  82. <age>8640000</age>
  83. <precision>86400</precision>
  84. </retention>
  85. </pattern>
  86. <!-- default -->
  87. <default>
  88. <function>avg</function>
  89. <retention>
  90. <age>0</age>
  91. <precision>60</precision>
  92. </retention>
  93. <retention>
  94. <age>864000</age>
  95. <precision>900</precision>
  96. </retention>
  97. <retention>
  98. <age>1728000</age>
  99. <precision>1800</precision>
  100. </retention>
  101. <retention>
  102. <age>3456000</age>
  103. <precision>3600</precision>
  104. </retention>
  105. <retention>
  106. <age>10368000</age>
  107. <precision>21600</precision>
  108. </retention>
  109. <retention>
  110. <age>34560000</age>
  111. <precision>43200</precision>
  112. </retention>
  113. <retention>
  114. <age>63072000</age>
  115. <precision>86400</precision>
  116. </retention>
  117. <retention>
  118. <age>94608000</age>
  119. <precision>604800</precision>
  120. </retention>
  121. </default>
  122. </graphite_rollup>

Thanks

Thanks to Roman Lomonosov for his go-carbon code - I’m reusing the storage schema parser here.