[ОТВЕТИТЬ]
26.07.2016 11:34
akonev
 
УТМы - зверьки капризные и за ними полезно присматривать.
Тем более, что живут они у нас на операторских компах.

Чтобы быстро одним взглядом оценить хотя бы, все ли они отзываются - собрал на одну страничку орлов с их страничек. Получилось удобно.
Не так модно, конечно, как админы потом на zabbix'е сделали (проверяют отдельно пинг и ответ web-сервиса. возможность просмотреть график доступности за выходные уже пригодилась).
Зато быстро и наглядно.

Оставил только несколько экземпляров, чтобы всю простыню не вываливать.

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="180">
<title>Сервисы УТМ</title>
<style type="text/css" media="screen">
  body{
    background-color: #f3f3f3;
  }
  img{
    border-color: white;
    border-style: inset;
    border-width: thin;
  }
</style>
</head>
<body bgcolor="#E4E7F5">

<article>
 <b>
  <img src="http://192.168.10.5:8080/img/eagle.png"   width="128" height="128" alt="П00 ТЗ   192.168.10.5"   title="П00 ТЗ"   />
  <img src="http://192.168.1.13:8080/img/eagle.png"   width="128" height="128" alt="П01 Алко 192.168.1.13"   title="П01 Алко" />
  <img src="http://192.168.2.21:8080/img/eagle.png"   width="128" height="128" alt="П02 Алко 192.168.2.21"   title="П02 Алко" />
<!--    Добавить строки по аналогии для каждого экземпляра УТМ -->

 </b>
</article>  
</body>
</html>
18.05.2017 16:07
baggio
 
это.. а не будет большой наглостью спросить скрипт для мониторинга от zabbix...
я ща его развернул... и как то немного себя тупо пока чувствую...
21.05.2017 12:34
winmasta
 
Если речь идет о пинге и доступности порта 8080, то скрипты не нужны, достаточно двух элементов данных с триггерами. Если поставить на целевую машину агента, то можно следить за состоянием служб, а так же за логами. Если надо, могу написать краткую инструкцию.
14.07.2017 13:58
winmasta
 
Столкнулся во второй раз с такой проблемой: УТМ перестает отправлять документы по различным причинам, например "сломался" сертификат RSA, при этом порты доступны, а документы копятся на сервере и через 3 дня перестанет продаваться алкоголь на кассе. На веб страничке УТМ есть информация о дате самого старого не отправленного розничного документа. Накидал три строчки на питоне по изъятию этой информации:

Код:
import requests
from io import StringIO
from lxml import etree
from datetime import datetime
tree = etree.parse(StringIO(requests.get('http://127.0.0.1:8080').text), etree.HTMLParser())
date = tree.xpath('//div[@class = "tab-pane fade in active"]/pre/text()')[3][0:10]
try:
        date = datetime.strptime(date,'%Y-%m-%d')
except ValueError:
        d = None
if isinstance(date, datetime):
        msg = 'WARNING\n'
else:
        msg = 'OK\n'
with open('utm_lastdoc_check.txt', 'w') as output_file:output_file.write(msg.encode('utf-8'))
Скрипт должен запускаться на сервере УТМ под Linux. Нужен Python 2.7 и к нему модуль requests. Парсится веб страница УТМ и, если дата самого старого не отправленного розничного документа есть, а это означает, что документы "задерживаются" в УТМ, то пишем WARNING в файл, если нет - то пишем OK.
Скрипт запускаю по cron раз в час. Дальнейшие дествия уже зависят от Вашей системы мониторинга. Я к примеру делаю остальное через zabbix. Если кому интересно напишу инструкцию и для него.
14.07.2017 20:12
AndreyZh
 
Цитата:
winmasta Столкнулся во второй раз с такой проблемой: УТМ перестает отправлять документы по различным причинам, например "сломался" сертификат RSA, при этом порты доступны, а документы копятся на сервере и через 3 дня перестанет продаваться алкоголь на кассе. На веб страничке УТМ есть информация о дате самого старого не отправленного розничного документа...
Извините, что не в тему, но Вы пользуетесь "УСЕга" и в ней давно есть средства обнаружения фатальных сбоев УТМ, ЕГАИС и оборудования: https://olegon.ru/showpost.php?p=280770&postcount=143

Хотя конечно... на каждый вид ошибок можно писать скрипты, но может быть Вы не обращали внимания на эту возможность?
14.07.2017 23:08
baggio
 
У вас есть предупреждение что rsa кончится через скажем 3 дня?
15.07.2017 06:22
winmasta
 
В том то и дело, что усега стоит на клиентской машине под виндой, а УТМ на сервере под линуксом, если есть возможность настройки автоматического обнаружения ошибок УТМ (опять же надо расшаривать логи скорее всего) и оповещения - дайте ссылку на документы, с удовольствием настрою

Просто привык всё интегрировать в существующую систему мониторинга, так и иду по накатанной
15.07.2017 07:56
AndreyZh
 
Цитата:
baggio У вас есть предупреждение что rsa кончится через скажем 3 дня?
Не знаю к кому вопрос? Что по "УСЕга": файл лога транспорта открывается только на чтение и сканируется каждая строка на вхождение ключевых фраз из best practic форума ФСРАР, т.е. простой эквивалент рекомендованного просмотра глазками ошибок из данного приложенного к сообщению файла
Вложения
Тип файла: xls ошибки.xls (36.5 Кб, 14 просмотров)
15.07.2017 07:57
AndreyZh
 
Цитата:
winmasta В том то и дело, что усега стоит на клиентской машине под виндой, а УТМ на сервере под линуксом, если есть возможность настройки автоматического обнаружения ошибок УТМ (опять же надо расшаривать логи скорее всего) и оповещения - дайте ссылку на документы, с удовольствием настрою

Просто привык всё интегрировать в существующую систему мониторинга, так и иду по накатанной
Не знаю! Просто указывается путь к файлу лога транспорта... а откроет ли его в Linux или поймет кодировку - не знаю?
15.07.2017 09:59
baggio
 
Цитата:
AndreyZh Не знаю к кому вопрос? Что по "УСЕга": файл лога транспорта открывается только на чтение и сканируется каждая строка на вхождение ключевых фраз из best practic форума ФСРАР, т.е. простой эквивалент рекомендованного просмотра глазками ошибок из данного приложенного к сообщению файла
Т.е. по факту вы смотрите лог и видите только уже ошибки... Но не прогнозирует их.... А могли бы ))))
16.07.2017 07:09
winmasta
 
Цитата:
AndreyZh Не знаю к кому вопрос? Что по "УСЕга": файл лога транспорта открывается только на чтение и сканируется каждая строка на вхождение ключевых фраз из best practic форума ФСРАР, т.е. простой эквивалент рекомендованного просмотра глазками ошибок из данного приложенного к сообщению файла
Почитал, насколько я понял запуск анализатора лога нужно делать руками, а ручной запуск по мне не есть мониторинг в принципе.
16.07.2017 07:58
AndreyZh
 
Вчера удачно набрали ведро земляники, а "бедная" супруга до 2 часов ночи её обрабатывала... Жалко её будить, а посему чуток "поговорю"?

Цитата:
winmasta Почитал, насколько я понял запуск анализатора лога нужно делать руками, а ручной запуск по мне не есть мониторинг в принципе.
Приделать к этой возможности автомат - задача из разряда "как два пальца об асфальт"... Путь к логам назначается в настройке и юзер только нажимает Enter. Что по этой задаче, то просто "худею"... На форуме ФСРАР и ЦИ 10% вопросов и недоумений - сбои УТМ и ЕГАИС, которые определяются в данной задаче и где даются рекомендации по их исправлению. В принципе эти вопросы решаются: вызывается специалист, который несколько часов глазками изучает логи и выносит вердикт и ему с удовольствием башляют... Рад, что кто-то зарабатывает на бедах ЕГАИС

Что по автоматам - как показало моё изучения интереса к ним... Пользуются 6 человек из интернета, да два магазина в реале - запрос остатков, продажа пива и уборка минусов. В тоже время программой пользуются в десятки раз больше. Так, что тема автоматов временно убрана из моих интересов!
16.07.2017 13:26
baggio
 
И правильно что убрана т.к. сам по себе мониторинг утма нужно делать там где можно
Перезапустить утм
Передёрнуть единый клиент и т.д.
Я склоняюсь к забикс...
18.07.2017 12:30
winmasta
 
Дописал скрипт, теперь следим еще и за сроками действия PKI и ГОСТ. Если заканчивается менее чем через 30 дней, пишем WARNING в файл.

Код:
import requests
from io import StringIO
from lxml import etree
from datetime import datetime, timedelta
tree = etree.parse(StringIO(requests.get('http://127.0.0.1:8080').text), etree.HTMLParser())
date = tree.xpath('//div[@class = "tab-pane fade in active"]/pre/text()')[4][0:10]
cert_date = tree.xpath('//div[@class = "tab-pane fade in active"]/pre/text()')[6][68:78]
pki_date = tree.xpath('//div[@class = "tab-pane fade in active"]/pre/text()')[5][45:55]
cert_date = datetime.strptime(cert_date,'%Y-%m-%d')
pki_date = datetime.strptime(cert_date,'%Y-%m-%d')
dd = datetime.today() + timedelta(days=30)
try:
        date = datetime.strptime(date,'%Y-%m-%d')
except ValueError:
        d = None
if isinstance(date, datetime):
        msg = 'WARNING\n'
else:
        if cert_date > dd or pki_date > dd:
                msg = 'WARNING\n'
        msg = 'OK\n'
with open('utm_lastdoc_check.txt', 'w') as output_file:output_file.write(msg.encode('utf-8'))
20.12.2017 08:48
winmasta
 
В версии УТМ 2.1.6 естественно поменяли код главной страницы в связи с чем пришлось перепилить скрипт мониторинга

Код:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
from io import StringIO
from lxml import etree
from datetime import datetime, timedelta


debug = 0

tree = etree.parse(StringIO(requests.get("http://127.0.0.1:8080").text), etree.HTMLParser())

date = etree.tostring(tree.xpath("//div[@class = \"tab-pane fade in active\"]")[0][5][1])[40:50]

try:
        date = datetime.strptime(date,"%Y-%m-%d")
except ValueError:
        date = ""

if debug:
        print "Дата последнего не отправленного документа:", date

cert_date = etree.tostring(tree.xpath("//div[@class = \"tab-pane fade in active\"]")[0][7][1])[174:184]
cert_date = datetime.strptime(cert_date,"%Y-%m-%d")

if debug:
        print "Дата сертификата FSRAR:", cert_date

pki_date = etree.tostring(tree.xpath("//div[@class = \"tab-pane fade in active\"]")[0][6][1])[174:184]
pki_date = datetime.strptime(pki_date,"%Y-%m-%d")

if debug:
        print "Дата сертификата ГОСТ:", pki_date

dd = datetime.today() - timedelta(days=30)

if debug:
        print "Текущая дата:", dd

if isinstance(date, datetime):
        if debug:
                print("WARNING: есть не отправленные документы")
        msg = "WARNING\n"
else:
        if cert_date < dd or pki_date < dd:
                if debug:
                        print("WARNING: истекает срок действия одного из сертификатов")
                msg = "WARNING\n"
        else:
                if debug:
                        print("OK")
                msg = "OK\n"
with open("utm_lastdoc_check.txt", "w") as output_file:output_file.write(msg.encode("utf-8"))
25.04.2018 13:44
winmasta
 
Освежил мониторинг с удовольствием послушаю критику, пожелания, отвечу на issues.
29.05.2018 09:16
Igor_and_35
 
Здравствуйте.
Это скрипт под zabbix?
нет ли под винду?
Опции темы


Часовой пояс GMT +3, время: 16:14.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.