27.06.2017 Сервер Статистики aka Автоматизация измерений Эпизод II

Материал из SRNS
Перейти к: навигация, поиск
Строка 81: Строка 81:
 
DISPLAY=:1 /home/CommonFiles/progs/swift_console_v1.0.A_linux/console -t -p $IP:$TcpPort -l -o $DIR --logfilename $FILE
 
DISPLAY=:1 /home/CommonFiles/progs/swift_console_v1.0.A_linux/console -t -p $IP:$TcpPort -l -o $DIR --logfilename $FILE
 
</source>
 
</source>
Сервер Статистики не имеет экрана, но должен запускать GUI приложение, по крайней мере на данный момент так. При запуске GUI приложений выдаются ошибки об отсутствии дисплея и завершении программы, это несколько странно, ведь наш сервер живет и здравствует без экрана, а здесь в качестве выхода из ситуации поднят виртуальный X-сервер, который называется '''Xvfb''', он загружается автоматически при старте системы. Сделано это [https://www.srns.ru/wiki/Blog:Boldenkov/12.05.2017_Headless_Ubuntu так].
+
Сервер Статистики не имеет экрана, но должен запускать GUI приложение, по крайней мере на данный момент так. При запуске GUI приложений выдаются ошибки об отсутствии дисплея и завершении программы, это несколько странно, ведь наш сервер живет и здравствует без экрана, а здесь в качестве выхода из ситуации поднят виртуальный X-сервер, который называется '''Xvfb''', он загружается автоматически при старте системы. Сделано это [https://www.srns.ru/wiki/Blog:Boldenkov/12.05.2017_Headless_Ubuntu так]. Соответственно, при запуске ''swift_console'' принудительно указывается этот виртуальный экран - '''DISPLAY=:1'''.
  
 
Посмотреть на виртуальный экран можно командой:
 
Посмотреть на виртуальный экран можно командой:
Строка 95: Строка 95:
 
</source>
 
</source>
  
Доступные сетевые сервисы Сервера Статистики, в том числе проверить работу ssvnc, можно командой:
+
Доступные сетевые сервисы Сервера Статистики, в том числе проверить работу ''ssvnc'', можно командой:
 
<source lang="bash">
 
<source lang="bash">
 
nmap -O 192.168.0.94
 
nmap -O 192.168.0.94
 
</source>
 
</source>
 +
[[Файл:VNC_StatServer.png]]

Версия 15:09, 27 июня 2017

Данная страница продолжает дело создания Сервера Статистики и написана по мотивам нескольких статей: этой, этой и этой. Написана она для того, чтобы подвести итог и чтобы потом не забыть, как это сделано и работает сейчас.

Пути улучшения, как всегда, есть, но это дело будущего.

Что за Сервер Статистики такой?

Сервер Статистики - отдельно выделенный компьютер, работающий круглосуточно, к которому подключены различные приемники, в свою очередь, решающиеся по одной антенне. На данный момент подключены Javad Lexon GGD, Swift Navigation Piksi и наш Oryx в серой коробке походном исполнении. Далее в статье Oryx фигурирует под мейнстримовым названием MCR. IP сервера 192.168.0.94, кодовое имя Evaluator, пользователь srtt, пароль известен.

На протяжении суток Сервер Статистики пишет логи себе в /tmp, а в начале каждых суток (00:00) решается по ним, строит картинки, делает некоторые статистические (вот почему Сервер Статистики, а не логов) вычисления и шлет это на заданные почтовые адреса типа @gmail.com.

После этого для Javad и Oryx логи копируются в папку /home/CommonFiles/logs, затем стираются. Логи для Piksi, в настоящее время, слишком тяжелы, потому они просто стираются без копирования.

Необходимые скрипты находятся в папке /home/CommonFiles/scripts.

Необходимые программы в папке /home/CommonFiles/progs.

Как заставить приемники делиться логами?

Для этого существуют скрипты.

Javad не имеет ethernet возможностей, потому для него два скрипта.

Первый, настраивает приемник и запускает трансляцию данных в сеть - broadcast_javad:

#!/bin/bash

PORT=/dev/ttyUSB0

stty -F $PORT raw
stty -F $PORT 115200 cs8 -parenb -cstopb -ixon

echo "em,,def:{1,,}" > $PORT
echo "em,,jps/gd"    > $PORT
echo "em,,jps/qd"    > $PORT
echo "em,,jps/WD"    > $PORT

nc -l -p 3500 < $PORT

Второй скрипт пишет логи - start_javad_log:

#!/bin/bash

IP=127.0.0.1
TcpPort=3500

DIR=/tmp/
FILE=javad.log

curl $IP:$TcpPort > $DIR/$FILE


MCR транслирует по сети протокол BINR через порт 3491. Для записи логов - start_mcr_log:

#!/bin/bash

IP=192.168.0.163
TcpPort=3491

DIR=/tmp/
FILE=mcr.log

curl $IP:$TcpPort > $DIR/$FILE


Piksi пишет лог с помощью GUI программы swift_console в формате JSON, скрипт start_piksi_log:

#!/bin/bash

IP=192.168.0.222
TcpPort=55555
DIR=/tmp
FILE=piksi.log

echo /home/CommonFiles/progs/swift_console_v1.0.A_linux/console -t -p $IP:$TcpPort -l -o $DIR --logfilename $FILE
DISPLAY=:1 /home/CommonFiles/progs/swift_console_v1.0.A_linux/console -t -p $IP:$TcpPort -l -o $DIR --logfilename $FILE

Сервер Статистики не имеет экрана, но должен запускать GUI приложение, по крайней мере на данный момент так. При запуске GUI приложений выдаются ошибки об отсутствии дисплея и завершении программы, это несколько странно, ведь наш сервер живет и здравствует без экрана, а здесь в качестве выхода из ситуации поднят виртуальный X-сервер, который называется Xvfb, он загружается автоматически при старте системы. Сделано это так. Соответственно, при запуске swift_console принудительно указывается этот виртуальный экран - DISPLAY=:1.

Посмотреть на виртуальный экран можно командой:

ssvncviewer 192.168.0.94:5900

Ssvnc также запускается автоматически, но иногда умудряется просто прекращать свою работу, тогда необходимо запустить скрипт run_vnc:

#!/bin/bash

x11vnc -display :1 -bg -nopw -listen 192.168.0.94 -xkb

Доступные сетевые сервисы Сервера Статистики, в том числе проверить работу ssvnc, можно командой:

nmap -O 192.168.0.94

VNC StatServer.png

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты