всем привет.
нужна помощь в формировании правильной структуры для шаблонов.
ситуация такая - есть несколько серверов.
например:
s1 s2 s3 ...
на каждом из них есть десяток сервисов, которые слушают свои порты, например:
app1: port 101
app2 : port 102
...
app10 : port 110
и на каждом таком порту есть endpoint по запросу на который можно получить разные метрики связанные с работой этого сервиса, например:
http://s1:101/metrics выведет JSON с метриками, например:
metric1 : value
metric2 : value
и т.д..
сейчас у меня есть самодельные шаблоны для сервисов, типа:
template service 101
template service 102 и так далее.
в каждом из них есть item который проверяет жив ли этот сервис - net.tcp.service[tcp,,101] и триггер на эту проверку.
таким образом я добавляю этот шаблон на свои сервера s1-s3 и мониторю состояние этих портов.
то есть десяток шаблонов уже добавил для этого.
дальше, чтобы снимать значения метрик, у меня на сервере есть питон скрипт который получает имя метрики и отдает значение, например:
# script.py metric1
12345
этот скрипт указан в UserParameters в конфиге агента.
сделал еще один шаблон для метрик, в котором есть item-ы для каждой нужной метрики: key == script[имя_метрики].
вот эти items и получают значения метрик.
получается, что мне для каждого сервиса надо создавать кучу items для этих метрик, хотя key будет практически одинаковый для всех метрик и всех портов.
и тут возникает проблема - не добавить такой шаблон на другие хосты, так как Template cannot be linked to another template more than once even through other templates.
можно конечно прилинковать сами шаблоны - сервисов и метрик, но я не хочу врукопашную добавлять для каждого шаблона сервиса по 20 новых item для метрик.
но блин, это же не по джедайски.
я хочу сделать такой шаблон, чтобы его можно было подключить к серверу, и чтобы он автоматически обнаружил все порты и все метрики на каждом из них.. чую надо копать с cторону LLD, но чтото не получается сходу.
да и я бы вручную добавил все item-ы на уровне портов - мне главное метрики не размножать - там очень дофига их..
в общем такой сложно-запутанный вопрос.. как лучше структурировать такие шаблоны, мож кто подскажет..
нужна помощь в формировании правильной структуры для шаблонов.
ситуация такая - есть несколько серверов.
например:
s1 s2 s3 ...
на каждом из них есть десяток сервисов, которые слушают свои порты, например:
app1: port 101
app2 : port 102
...
app10 : port 110
и на каждом таком порту есть endpoint по запросу на который можно получить разные метрики связанные с работой этого сервиса, например:
http://s1:101/metrics выведет JSON с метриками, например:
metric1 : value
metric2 : value
и т.д..
сейчас у меня есть самодельные шаблоны для сервисов, типа:
template service 101
template service 102 и так далее.
в каждом из них есть item который проверяет жив ли этот сервис - net.tcp.service[tcp,,101] и триггер на эту проверку.
таким образом я добавляю этот шаблон на свои сервера s1-s3 и мониторю состояние этих портов.
то есть десяток шаблонов уже добавил для этого.
дальше, чтобы снимать значения метрик, у меня на сервере есть питон скрипт который получает имя метрики и отдает значение, например:
# script.py metric1
12345
этот скрипт указан в UserParameters в конфиге агента.
сделал еще один шаблон для метрик, в котором есть item-ы для каждой нужной метрики: key == script[имя_метрики].
вот эти items и получают значения метрик.
получается, что мне для каждого сервиса надо создавать кучу items для этих метрик, хотя key будет практически одинаковый для всех метрик и всех портов.
и тут возникает проблема - не добавить такой шаблон на другие хосты, так как Template cannot be linked to another template more than once even through other templates.
можно конечно прилинковать сами шаблоны - сервисов и метрик, но я не хочу врукопашную добавлять для каждого шаблона сервиса по 20 новых item для метрик.
но блин, это же не по джедайски.
я хочу сделать такой шаблон, чтобы его можно было подключить к серверу, и чтобы он автоматически обнаружил все порты и все метрики на каждом из них.. чую надо копать с cторону LLD, но чтото не получается сходу.
да и я бы вручную добавил все item-ы на уровне портов - мне главное метрики не размножать - там очень дофига их..
в общем такой сложно-запутанный вопрос.. как лучше структурировать такие шаблоны, мож кто подскажет..
Comment