Как я могу использовать Conky для наблюдения за моим мифологическим бэкэндом?

Я хотел бы использовать Conky для мониторинга бэкэнда mythtv, как я могу настроить это?

0
задан 3 November 2011 в 05:10

3 ответа

Из сообщения на форуме (Отредактировано для контента и грамматики):

Недавно я обнаружил это, поскольку мне было нужно что-то еще, но я подумал, что было бы неплохо проверить статус удаленных и локальных интерфейсов , http://www.mythtv.org/wiki/Telnet_socket

Недавно я обнаружил это, поскольку мне было нужно что-то еще, но я подумал, что было бы неплохо проверьте состояние удаленных и локальных интерфейсов.

Инструкции по использованию содержатся в комментариях к файлу, и эта ссылка должна сообщить вам о worldtv telnet и о том, как включить его.

Я написал сценарий, который отображает локальный и удаленный статус frontends в conky, и я хотел бы поделиться им с вами. Я просто изучаю скрипты, и это моя первая попытка переменных. Я в основном просто помещаю вещи в то, что я могу набирать тип из оболочки без каких-либо переменных или исправления ошибок, поэтому я немного научился этому.

[ ! d11]

Инструкции по использованию содержатся в комментариях к файлу, и эта ссылка должна сообщить вам о worldtv telnet и о том, как включить его.

[ ! d17]
#!/bin/bash
#Made By Kemble Wagner
#To use this Script you need to Enable Network Remote Control Interface on Mythfrontend
#Thanks to wagnerrp from mythtv-users on freenode for his contributions and tips
#the output files are meant to be used with conky
#e.g .conkyrc
#${color #8844ee}Local Frontend Status:
#${color #8844ee} ${execi 30 mythnc.sh > /dev/null && cat /var/tmp/local.myth}
#${color #8844ee}Remote Frontend Status:
#${color #8844ee} ${execi 30 mythnc.sh > /dev/null && cat /var/tmp/remote.myth}
#Version 0.2 14/04/09  
#Version 0.3 "       " fixed sed to make it parse long file names and unusual characters with spaces and no spaces when outputting Video Playback
#Version 0.4 "       " added more events to output in human friendly terms changes it so only one instance of nc is used to prevent hammering of ports
#Version 0.5 17/04/09 add some fixes to playback status and added a check status in the even the frontend not running but the host is up



#change the host names to suit add more if needed
LOCALHOST=box
#path to text file leave as default is ok 
OUTPUTFILE1=/var/tmp/local.myth
OUTPUTFILETMP1=/var/tmp/local.myth.tmp
FETEST1=/var/tmp/local.fetest
FILENAME1=`cat $OUTPUTFILETMP1 | grep 'Playback Video' |sed  -e 's/[[ \t]]*/_/g' | sed 's/\(.*\)\..*/\1/' |  sed  's/  *//g' | sed -e 's/^.*\///;s/ .*$//'`
RECFILE1=`cat $OUTPUTFILETMP1 | grep 'Playback Recorded' |sed  -e 's/[[ \t]]*/_/g' | sed 's/\(.*\)\..*/\1/' |  sed  's/  *//g' | sed -e 's/^.*\///;s/ .*$//'`
#remote host variables


#the stuff below is an attempt to convert telnet status info into human friendly readable info

#below are localhost checks

nc -c exit  $LOCALHOST 6546 && echo opened >  $FETEST1|| echo closed > $FETEST1


#Checking if MythFrontend is running 


if (cat $FETEST1 | grep closed ); then
  echo "$LOCALHOST is up but MythFrontend doesn't seem to be running" > $OUTPUTFILE1 

else
echo -e "query location\nexit" | nc $LOCALHOST 6546 > $OUTPUTFILETMP1
fi

#Checking for TV recording Menu
if (cat $OUTPUTFILETMP1 | grep PlaybackBox ); then
  echo "$LOCALHOST is Idle in TV Recordings Menu" > $OUTPUTFILE1

else 

#Checking for Program Guide
if (cat $OUTPUTFILETMP1 | grep GuideGrid ); then
  echo " $LOCALHOST is in TV Guide" > $OUTPUTFILE1
else 

#Checking for MythVideo Gallery
if (cat $OUTPUTFILETMP1 | grep videogallery ); then
  echo "MythVideo Menu On $LOCALHOST is Idle" > $OUTPUTFILE1
else 

#Checking for MythVideo Listings
if (cat $OUTPUTFILETMP1 | grep videolistings); then
  echo "MythVideo Menu On $LOCALHOST is Idle" > $OUTPUTFILE1
else 

#Checking for MythVideo Browser
if (cat $OUTPUTFILETMP1 | grep videobrowser); then
  echo "MythVideo Menu On $LOCALHOST is Idle" > $OUTPUTFILE1
else 
#Checking for MythMusics
if (cat $OUTPUTFILETMP1 | grep playmusic ); then
  echo "Playing Music Cant you Hear?" > $OUTPUTFILE1
else 

#Checking for MainMenu
if (cat $OUTPUTFILETMP1 | grep MainMenu ); then
  echo "$LOCALHOST is in The Main Menu" > $OUTPUTFILE1

else 

#Checking for Live TV
if (cat $OUTPUTFILETMP1 | grep "Playback LiveTV" ); then
  echo "$LOCALHOST is Watching Live TV" > $OUTPUTFILE1
else 

#Checking for MythVideo Playback
if (cat $OUTPUTFILETMP1 | grep "Playback Video" ); then
  echo "MythVideo is playing $FILENAME1" > $OUTPUTFILE1
else 

if (cat $OUTPUTFILETMP1 | grep  "Playback Recorded" ); then
    echo "MythTV is playing recording $RECFILE1" > $OUTPUTFILE1
else





#if none of the above simply display then query status output
if (cat $OUTPUTFILETMP1 | grep "#"); then 
cat   $OUTPUTFILETMP1 | grep "#" > $OUTPUTFILE1 


fi 
  fi 
     fi 
        fi   
           fi
              fi 
                fi
                  fi
                     fi
                        fi
                          fi




#setting remote host variables you can reproduce this for as many hosts as you want
REMOTE=frontend
OUTPUTFILE2=/var/tmp/remote.myth
OUTPUTFILETMP2=/var/tmp/remote.myth.tmp
# script gets slow if the host is not up when continueing to set remote host variables so check its up first
#checking remote frontend is up first
if ! `/bin/ping -W1 -c1 $REMOTE >/dev/null 2>&1` ; then
echo "$REMOTE Seems Offline" > $OUTPUTFILE2 && exit 0
else

#contine setting remote host variables 

FILENAME2=`cat $OUTPUTFILETMP2 | grep 'Playback Video' |sed  -e 's/[[ \t]]*/_/g' | sed 's/\(.*\)\..*/\1/' |  sed  's/  *//g' | sed -e 's/^.*\///;s/ .*$//'`
RECFILE2=`cat $OUTPUTFILETMP2 | grep 'Playback Recorded' | sed -e 's/^.*\///;s/ .*$//' | sed 's/\(.*\)\..*/\1/'`
FETEST2=/var/tmp/remote.fetest


#below are remote host checks

nc -c exit $REMOTE 6546 && echo opened >  $FETEST2|| echo closed > $FETEST2

#Checking if MythFrontend is running 

if (cat $FETEST2 | grep closed ); then
  echo "$REMOTE is up but MythFrontend doesn't seem to be running" > $OUTPUTFILE2 

else

echo -e "query location\nexit" | nc $REMOTE 6546 > $OUTPUTFILETMP2
fi


#Checking for TV recording Menu
if (cat $OUTPUTFILETMP2 | grep PlaybackBox ); then
  echo "$REMOTE is Idle in TV Recordings Menu" > $OUTPUTFILE2 
else 

#Checking for Program Guide
if (cat $OUTPUTFILETMP2 | grep GuideGrid ); then
  echo "$REMOTE is in TV Guide" > $OUTPUTFILE2
else 

#Checking for MythVideo Gallery
if (cat $OUTPUTFILETMP2 | grep videogallery ); then
  echo "MythVideo Menu On $REMOTE is Idle" > $OUTPUTFILE2
else 

#Checking for MythVideo Listings
if (cat $OUTPUTFILETMP2 | grep videolistings); then
  echo "MythVideo Menu On $REMOTE is Idle" > $OUTPUTFILE2
else 

#Checking for MythVideo Browser
if (cat $OUTPUTFILETMP2 | grep videobrowser); then
  echo "MythVideo Menu On $REMOTE is Idle" > $OUTPUTFILE2
else 

#Checking for MythMusics
if (cat $OUTPUTFILETMP2 | grep playmusic ); then
  echo "Playing Music Cant you Hear?" > $OUTPUTFILE2
else 

#Checking for MainMenu
if (cat $OUTPUTFILETMP2 | grep MainMenu ); then
  echo "$REMOTE is in The Main Menu" > $OUTPUTFILE2
else 

#Checking for Live TV
if (cat $OUTPUTFILETMP2 | grep "Playback LiveTV" ); then
  echo "$REMOTE is Watching Live TV" > $OUTPUTFILE2
else 

#Checking for MythVideo Playback
if (cat $OUTPUTFILETMP2 | grep "Playback Video" ); then
  echo "MythVideo On $REMOTE is playing $FILENAME2" > $OUTPUTFILE2
else 

if (cat $OUTPUTFILETMP2 | grep  "Playback Recorded" ); then
    echo "MythTV On $REMOTE is playing recording $RECFILE2" > $OUTPUTFILE2
else



#if none of the above simply display then query status output
if (cat $OUTPUTFILETMP2 | grep "#"); then 
cat   $OUTPUTFILETMP2 | grep "#" > $OUTPUTFILE2 



fi 
  fi 
     fi 
        fi   
           fi
              fi 
                fi 
                   fi
                      fi
                        fi
                          fi
                            fi 
                               fi
Я думаю, что это довольно тонко, учитывая, сколько мне пришлось писать, чтобы включить несколько строк в conky. Во всяком случае, это было весело для меня, я надеюсь, что люди попробуют это и дайте мне знать, как это происходит, если вам нужна помощь, я был бы рад помочь, если у вас возникнут проблемы с настройкой.

Ссылки

http://www.mythtv.org/wiki/Telnet_socket
0
ответ дан 25 May 2018 в 17:16

Просто быстрый комментарий к параметру статуса mythtv, вы можете установить параметр хоста в /etc/default/mythtv-status, и в этом случае он будет помнить, обновляется или переустанавливается статус mythtv.

Вы также можете установите другие параметры, такие как включение цветового вывода и добавление другой информации на выход.

1
ответ дан 25 May 2018 в 17:16
Это How-To для использования conky в любом ящике ubuntu для просмотра информации о записи на вашем сервере. Это достигается установкой mythtv-status в поле ubuntu, которое использует conky. Я немного изменил статус мифа. Скопируйте свой /home/username/.mythtv/config.xml из своего поля mythbuntu на свой локальный рабочий стол ubuntu /home/username/.mythtv/config.xml Отредактируйте файл config.xml, чтобы отразить IP-адрес вашего бэкэнд
gedit ~/.mythtv/config.xml
Отредактируйте эту строку. Измените localhost на ip-адрес вашего бэкэнд. В моем случае
<DBHostName>localhost</DBHostName>
Изменено:
<DBHostName>192.168.15.3</DBHostName>
Ссылка config.xml на /root/.mythtv/config.xml
sudo mkdir /root/.mythtv
sudo ln -s ~/.mythtv/config.xml /root/.mythtv/config.xml
Это исправление предупреждения perl api в статусе мифа. Установите mythtv-status sudo apt-get update sudo apt-get install mythtv-status Отредактируйте mythtv-статус, чтобы отразить мои изменения.
sudo gedit /usr/bin/mythtv-status
Вокруг строки 21. Изменение localhost на ip-адрес бэкэнд
my $host = "localhost";
В моем случае он изменяется.
my $host = "192.168.15.3";
Изменить файл .conkyrc для добавления вывода.
gedit ~.conkyrc
В верхней части добавить:
text_buffer_size 1024
В нижней части добавить
${color #0077ff} ${execi 300 perl /usr/bin/mythtv-status KISP}

Измените цвета, соответствующие текущей конфигурации .conkyrc.

Запустите conky для проверки.

Ссылки

Оригинальный форум Сообщение от DemonBob
0
ответ дан 25 May 2018 в 17:16

Другие вопросы по тегам:

Похожие вопросы: