Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
'''''[[Расширения]] / Разработка / Расширения / Метрики состояний''''' | '''''[[Расширения]] / [[Расширения|Разработка]] / [https://docs.expert-apm.ru/index.php/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F#:~:text=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-,%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F,-%D0%A0%D0%B0%D0%B7%D0%B2%D1%91%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F Расширения] / Метрики состояний''''' | ||
Используйте состояния, чтобы понять состояние любого устройства, контролируемого расширением АктивногоШлюза. | Используйте состояния, чтобы понять состояние любого устройства, контролируемого расширением АктивногоШлюза. | ||
Текущая версия от 09:00, 6 января 2025
Расширения / Разработка / Расширения / Метрики состояний
Используйте состояния, чтобы понять состояние любого устройства, контролируемого расширением АктивногоШлюза.
Определение состояний
См. этот пример определения состояния в JSON:
{
"name": "custom.remote.python.my_plugin",
"version": "1.001",
"type": "python",
"entity": "CUSTOM_DEVICE",
"metricGroup": "my_plugin",
"processTypeNames": ["PYTHON"],
"technologies": ["example technology"],
"source": {
"package": "my_plugin",
"className": "MyPlugin",
"activation": "Remote"
},
"metrics": [
{
"entity": "CUSTOM_DEVICE",
"statetimeseries": {
"key": "my_state",
"states": ["OK", "Troubles", "Bad"],
"dimensions": [],
"displayname": "My state"
}
}
],
"ui": {
"keymetrics": [
{
"key": "my_state",
"displayname": "My state",
"statemetric": true
}
],
"charts": [
{
"group": "States",
"title": "My state",
"series": [
{
"key": "my_state",
"displayname": " ",
"seriestype": "bar",
"statecolors": ["#008cdb", "#b4e5f9", " #2ab6f4"],
"statechart": true
}
]
}
]
}
}
Сообщения в отчете
Посмотрите, как заставить ваше расширение отправлять информацию о состоянии:
from ruxit.api.base_plugin import RemoteBasePlugin
class MyPlugin(RemoteBasePlugin):
def query(self, **kwargs):
group = self.topology_builder.create_group("My group1", "My group1")
device = group.create_element("My device1", "My device1")
device.state_metric("my_state", "OK")