提交 7bee9f65 编写于 作者: A Alexey Milovidov

Removed old logic, when paths in graphite could use something other than FQDN [#MTRSADMIN-2700].

上级 90d56253
......@@ -2,7 +2,7 @@
#include <daemon/BaseDaemon.h>
#include <Poco/Util/LayeredConfiguration.h>
#include <Poco/Util/Application.h>
#include <Poco/Net/DNS.h>
#include <DB/Common/getFQDNOrHostName.h>
#include <mutex>
#include <iomanip>
......@@ -16,35 +16,16 @@ GraphiteWriter::GraphiteWriter(const std::string & config_name, const std::strin
timeout = config.getDouble(config_name + ".timeout", 0.1);
root_path = config.getString(config_name + ".root_path", "one_min");
if (root_path.size())
if (!root_path.empty())
root_path += ".";
/** Что использовать в качестве имени сервера в названии метрики?
*
* По-умолчанию (для совместимости с существовавшим ранее поведением),
* в качестве имени сервера берётся строка, аналогичная uname -n,
* а затем к нему приписывается то, что указано в hostname_suffix, если есть.
* Часто серверы настроены так, что, например, для сервера example01-01-1.yandex.ru, uname -n будет выдавать example01-01-1
* Впрочем, uname -n может быть настроен произвольным образом. Он также может совпадать с FQDN.
*
* Если указано use_fqdn со значением true,
* то в качестве имени сервера берётся FQDN (uname -f),
* а значение hostname_suffix игнорируется.
*/
bool use_fqdn = config.getBool(config_name + ".use_fqdn", false);
std::string hostname_in_path = use_fqdn
? Poco::Net::DNS::thisHost().name() /// То же, что hostname -f
: Poco::Net::DNS::hostName(); /// То же, что uname -n
std::string hostname_in_path = getFQDNOrHostName();
/// Заменяем точки на подчёркивания, чтобы Graphite не интерпретировал их, как разделители пути.
std::replace(std::begin(hostname_in_path), std::end(hostname_in_path), '.', '_');
root_path += hostname_in_path;
if (!use_fqdn)
root_path += config.getString(config_name + ".hostname_suffix", "");
if (sub_path.size())
root_path += "." + sub_path;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册