Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - enp

#1
Здравствуйте!

Попробовали зайти на блейд-шасси от HP прямо из nxmc, картинку прикладываю. Отсутствие жалоб на левый сертификат - это, конечно, киллер-фича, но что случилось со шрифтами и (скорее всего) javascript, можно ли это как-то починить?
#2
Расскажите (не нашел в документации), зачем нужны объекты Rack, Cluster, Chassis и чем они лучше Container?
#3
Общие вопросы / CPU/RAM usage by process
January 26, 2018, 10:36:35 AM
Здравствуйте!

А есть ли способ мониторить потребление CPU/RAM не суммарно по хосту, а в разрезе процессов (например так, как это делает metricbeat)?

Наверное, можно попробовать сделать это с помощью External Metrics, но в разное время список процессов будет разный. Как потом нарисовать 10, например, самых активных?
#4
Общие вопросы / << ERROR >> in Last Values
January 24, 2018, 10:48:06 AM
Здравствуйте!

Свежеустановленный NetXMS 2.2.2 на ALT Linux 8 / PostgreSQL 10, ничего подозрительного в логах нет, но для единственного пока хоста << ERROR >> в Last Values для NetXMS server: physical memory used by process и еще куча << ERROR >> после включения хоста в шаблон Linux.

Куда смотреть, как отлаживать?
#5
Здравствуйте!

Свежая инсталляция NetXMS 2.0.8 c PostgreSQL 9.6, мониторится единственный хост с nxagent (сам сервер собственно), в консоли для этого хоста на вкладке Last Values видны все DCI, история за несколько часов тоже есть, однако если выбрать Line Chart для любого DCI, то там будет пусто и Max/Min/Avg = 0. Bar Chart и Pie Chart показывают последние значения (хотя вроде так и должно быть насколько я понял). В чем может быть проблема с Line Chart?
#6
Здравствуйте!

Жалуются, что не могут зарегистрироваться на форуме - не проходит подтверждение на gmail. Попробовал сам с другого ящика - действительно так и есть. Почините пожалуйста.
#7
Hi,

I see two nodes (both are Juniper MX-960) with critical status and without critical alarms or down interfaces. How can it be? What can I check?

I use NetXMS version 2.0.6 on ALT Linux 8.0 with PostgreSQL 9.5. Maybe this issue is linked to https://dev.raden.solutions/issues/1289, which looks like obvious bug, so I didn't ask about it here?
#8
Общие вопросы / Chart via API
December 16, 2015, 03:08:05 PM
Здравствуйте!

Нет ли способа получить график средствами API - прямо в виде картинки? Ну или ладно, пусть даже не в виде картинки, а в виде структуры данных, чтоб самому потом график нарисовать?
#9
Здравствуйте!

У части неуправлемых нод (без интерфейсов) сменились адреса - при этом они появились в новой сети, но из старой не исчезли. Точнее, они исчезли из Address Map, но остались в дереве и на вкладке Nodes. Так и должно быть или это баг?
#10
Здравствуйте!

После обновления до 1.2.10 и включения Network Discovery регулярно (дважды за последнюю ночь) стал получать такие алармы:


Thread "Syncer Thread" is not responding
Thread "Syncer Thread" was returning to running state


Нужно ли (и как) с этим бороться?
#11
Общие вопросы / Check database bugs
December 20, 2013, 08:42:46 AM
Здравствуйте!

При попытке удалить ненужные ноды и сети я получил OOM killed process 10856 (netxmsd) и необходимость запуска nxdbmgr check. Удалять пришлось много, поэтому перезапустил с ключем -f и, возможно, перестарался.

Теперь у меня есть нода, которая видна в Entire network и не видна Infrastructure Services. Как поместить ее в какой-нибудь контейнер в Infrastructure Services? Как найти все ноды без контейнеров?

Есть более неприятная проблема - две ноды с одинаковыми именами и Primary IP Address, но разными ID/GUID. В Entire network видны обе, в Infrastructure Services - только одна.

Хуже всего то, что наверняка это не все - nxdbmgr check проблему с двумя одинаковыми нодами не обнаружил и вполне мог еще что-то пропустить.
#12
Общие вопросы / Active Discovery bugs
December 20, 2013, 08:40:53 AM
Здравствуйте!

Включил Active Discovery для сети 192.168.191.0/24, но он нашел ноды из сети 10.11.80.0/22, которые точно не имеют интерфейсов в сети 192.168.191.0/24 - см. приложенную картинку. Есть две ноды, присутствующие в обеих сетях - но они давно добавлены вручную. Я что-то неправильно сделал или это баг?

Да, найденные ноды видны только в Entire network и не видны Infrastructure Services. Как поместить их в какой-нибудь контейнер в Infrastructure Services?
#13
Здравствуйте!

У меня есть правило в Event Processing Policy для отсылки почтовых сообщений о различных событиях. Требуется не отсылать такие сообщения для интерфейсов "Vi*.*". Есть, как я понимаю, единственный способ - Filtering script для правила. Как его писать?

Никогда этого не делал, подходящей документации тоже не нашел. В http://wiki.netxms.org/wiki/UM:NetXMS_Scripting_Language_%28NXSL%29 описан только синтаксис (да и то не описаны, например, строковые функции: как определить вхождение подстроки в строку?). Но нет описания способов запуска скриптов. В http://wiki.netxms.org/wiki/UM:Event_Processing о написании фильтров тоже ни слова.

Покажите, пожалуйста, рабочий пример.
#14
Здравствуйте!

Получить список алармов из БД (PostgreSQL) можно так:


select
    name,
    message,
    timestamp 'epoch' + creation_time * interval '1 second' as begin,
    timestamp 'epoch' + last_change_time * interval '1 second' as last_change   
from alarms inner join object_properties
    on source_object_id = object_id
order by creation_time desc


Однако я не могу найти поле с отметкой о том, когда аларм был закрыт, а также кем и по какой причине.
#15
Здравствуйте!

Регулярно наблюдаю высокие значения в Database writer's request queue (other queries) - см. аттач и:


netxmsd: show queues
Condition poller                 : 0
Configuration poller             : 0
Topology poller                  : 0
Data collector                   : 0
Database writer                  : 4542
Database writer (IData)          : 0
Event processor                  : 0
Network discovery poller         : 0
Node poller                      : 0
Routing table poller             : 0
Status poller                    : 0


Насколько это плохо и с чем связано?
#16
Здравствуйте!

Только что наблюдал следующую ситуацию: в БД накопилось множество записей в таблице interfaces, которые должны были быть удалены еще несколько дней назад - именно тогда их удалили из консоли. После рестарта netxmsd удаленные интерфейсы стали видны в консоли и сейчас снова удаляются без проблем. Что это было и что делать, если воспроизведется?

Да, LogFailedSQLQueries в дефолтном состоянии, т.е. yes
#17
Здравствуйте!

Нашей смене очень интересно, как описаны подсети из дерева объектов на маршрутизаторах. В описаниях упоминаются как минимум номера вланов и при исчезновении какой-то ноды есть о чем жаловаться "начальнику транспортного цеха" - последний предоставляет исключительно L2 и видит только вланы и мак-адреса.

Наверное, стоило бы сделать дополнительную вкладку со списком всех найденных интерфейсов из заданной сети (с описаниями и т.д.) - тем более, что вся необходимая информация в БД NetXMS уже есть. Но я только сейчас это сообразил, после того, как реализовал опрос маршрутизаторов по SNMP для вытягивания интерфейсов и отображения в комментариях к подсетям. Покажу, чтоб не потерялось и в качестве рекламы Groovy для интеграционных задач :)


#!/usr/bin/groovy

import org.apache.commons.net.util.SubnetUtils

import org.netxms.client.NXCSession

import org.snmp4j.CommunityTarget
import org.snmp4j.PDU
import org.snmp4j.Snmp
import org.snmp4j.mp.SnmpConstants
import org.snmp4j.smi.GenericAddress
import org.snmp4j.smi.OID
import org.snmp4j.smi.OctetString
import org.snmp4j.smi.VariableBinding
import org.snmp4j.transport.DefaultUdpTransportMapping
import org.snmp4j.util.DefaultPDUFactory
import org.snmp4j.util.RetrievalEvent
import org.snmp4j.util.TableUtils

def get(Snmp snmp, CommunityTarget target, String oid) {
PDU pdu = new PDU()
pdu.add(new VariableBinding(new OID(oid)))
pdu.type = PDU.GET
snmp.send(pdu, target, null).response.get(0).variable
}

def routers = [
[ "router1", "udp:192.168.1.1/161", "public" ],
[ "router2", "udp:192.168.1.2/161", "private" ]
]

def subnets = []

routers.each { router ->

def target = new CommunityTarget(
community : new OctetString(router[2]),
address : GenericAddress.parse(router[1]),
version : SnmpConstants.version2c
)

def snmp = new Snmp(new DefaultUdpTransportMapping())
snmp.listen()

def table = new TableUtils(snmp, new DefaultPDUFactory())

OID[] oids = [
new OID(".1.3.6.1.2.1.4.20.1.1"),
new OID(".1.3.6.1.2.1.4.20.1.2")
]

table.getTable(target, oids, null, null).each { event ->
if (event.status == RetrievalEvent.STATUS_OK) {
def columns = event.columns;
def address = columns[0].variable
def index = columns[1].variable
def descr = get(snmp, target, ".1.3.6.1.2.1.2.2.1.2.${index}")
def alias = get(snmp, target, ".1.3.6.1.2.1.31.1.1.1.18.${index}")
subnets << [router[0], "${address}", ("${descr} ${alias}").trim()]
}
}

snmp.close()

}

def session = new NXCSession("monitor", "pusher", "pushpwd")
session.connect()

session.syncObjects()
session.getAllObjects().each { object ->
if (object.getObjectClassName() == "Subnet") {
def desc = []
subnets.each { subnet ->
if (new SubnetUtils(object.getObjectName()).info.isInRange(subnet[1]))
desc << "${subnet[0]} - ${subnet[2]}"
}
if (desc)
session.updateObjectComments(object.getObjectId(), "${desc.unique()}")
}
}

session.disconnect()


#18
Расскажите, каков алгоритм распределения нод по подсетям в дереве объектов? У меня наблюдается странная аномалия - хост с интерфейсами из сетей 192.168.199.0/24 и 10.10.12.0/24 попал в подсеть 1.1.1.0/24. Версия сервера - 1.2.2, консоли - 1.2.4 и 1.2.2 тоже.
#19
Здравствуйте!

Как получить список подсетей серез Java API? Ничего умнее я не придумал (синтаксис groovy):


session.getAllObjects().each { object ->
    if (object.getObjectClassName() == "Subnet")
        println "${object.getObjectId()} - ${object.getObjectName()}"
}
#20
Здравствуйте!

Пытаюсь изменить комментарий объекта через Java API (использую Groovy):


NXCSession session = new NXCSession("server", "login", "password")
session.connect()

data = new NXCObjectModificationData(2081)
data.description = "ABC"
session.modifyObject(data)

session.disconnect()


Комментарий не изменяется. Что я делаю неправильно?