Сообщество - GNU/Linux

GNU/Linux

1 172 поста 15 636 подписчиков

Популярные теги в сообществе:

29

Ежедневный срез/отчет Zabbix по текщим проблемам к примеру для тимлидов.

Ежедневный срез/отчет Zabbix по текщим проблемам к примеру для тимлидов.

Доброго дня коллеги. Как то я озаботился получением утреннего дайджеста, а именно среза текущих проблем на момент времени. Не добившись от мидов ясности в глах и азарта впальцах я наковырял сие (иногда используя кусочки чужуго кода. Публикую - вдруг кому понравится.

Работает с базой Zabbix-3.4

zabbix-daily-report.sh


#!/bin/bash

#Working with Zabbix 3.4 Database

SENDWITH0=0

URL=http://zabbix.slocal

MAIL="***@*** ***@*** #emails with spaces here#"

MAILFROM=zabbix@zabbix.slocal

SMTP="your.smtp.server"

SMTPUSER="******"

SMTPPASS="******"

SQLHOST=$(sed -e '/^DBHost/!d; s/.*=\(.*\)/\1/' /etc/zabbix/zabbix_server.conf)

SQLUSER=$(sed -e '/^DBUser/!d; s/.*=\(.*\)/\1/' /etc/zabbix/zabbix_server.conf)

SQLPASS=$(sed -e '/^DBPassword/!d; s/.*=\(.*\)/\1/' /etc/zabbix/zabbix_server.conf)

SQL='SELECT host, t.description, FROM_UNIXTIME(e.clock) as time, t.value, IF(e.acknowledged=1,"Yes","No") as acknowledged, IF(e.acknowledged=1,a.message,"") as message

FROM triggers t

INNER JOIN functions f ON ( f.triggerid = t.triggerid )

INNER JOIN items i ON ( i.itemid = f.itemid )

INNER JOIN hosts h ON ( i.hostid = h.hostid )

INNER JOIN events e ON ( e.objectid = t.triggerid )

LEFT JOIN acknowledges a ON ( a.eventid = e.eventid )

WHERE (e.eventid DIV 100000000000000)

IN (0)

AND e.object = 0

AND (t.value=1 OR (t.value =0 AND unix_timestamp(now()) - t.lastchange <60))

AND h.status = 0

AND i.status = 0

AND t.status = 0

AND e.eventid = (SELECT max(eventid)

FROM events e

WHERE (e.eventid DIV 100000000000000)

IN (0)

AND e.object = 0

AND (t.value=1 OR (t.value =0 AND unix_timestamp(now()) - t.lastchange <60))

AND h.status = 0

AND i.status = 0

AND t.status = 0

AND e.objectid = t.triggerid

)

GROUP BY host, f.triggerid

ORDER BY t.lastchange DESC;'

echo ${SQL}|mysql -h ${SQLHOST} -u ${SQLUSER} -p${SQLPASS} zabbix -t | sed 's/$/\\n/g; /acknowledged/d; 1d;' > /dev/shm/$(basename $0)

body="This is an automatically generated fokin mail message sent by a script running on zabbix.slocal."

subject="Zabbix daily report by $(date): We have "

num=0

if [ -s /dev/shm/$(basename $0) ]; then

num=$(( $(cat /dev/shm/$(basename $0)|wc -l) -2))

body="${body}

The following triggers are currently active:


`echo -e $(cat /dev/shm/$(basename $0))`"


else


body="${body}


All quiet chef!"


fi


body="${body}


Log in to Zabbix at ${URL}


Regards,

Zabbix Server"


subject="${subject} $num fokin problems."


if [ ${num} -eq 0 ] && [ ${SENDWITH0} -eq 0 ]; then

exit 0;

else

for i in $MAIL

do

echo -e "${body}" | sendemail -s $SMTP -xu $SMTPUSER -xp $SMTPPASS -f $MAILFROM -t $i -u ${subject} > /dev/null 2>&1

done

fi

Показать полностью
87

Open Source .Net клиент для работы с сервисом DaData

Я тут на днях сгорел от реализации официальных, этого и вот этого ... клиентов... И взял, да и сделал нормальный, полноценный, .Net клиент для работы с API сервиса DaData.ru


Я реализовал все методы для работы с API. Также есть поддержка платформ .Net Core и .Net Standart 1.3+. Пакет есть на Nuget. Подробнее можно почитать тут (там же исходники). Всем бобра.


P.S

На хабр подобное постить думаю будет перебором, как по мне, он достаточно простой. А где подобное обычно постят, я хз  ¯\_(ツ)_/¯ Но вещь нужная, думаю многие в какой-то момент сталкивались с проблемой отсутствия нормального клиента. (На данный момент уже почти 800 загрузок за 2 недели)

для C#.

P.P.S

Я не являюсь сотрудником компании и целью данного поста не является реклама сервиса (хотя он действительно хорош для России). Все под лицензией MIT.

Open Source .Net клиент для работы с сервисом DaData
Показать полностью 1

Скрипт

#!/bin/bash -x

# Скрипт запускается по нажатию горячих клавиш и открывает файл с названием заголовка активного окна из своей директории.




bdir="$HOME/scripts/context_notes"

#notify-send "$(xprop -id $(xdotool getactivewindow)|grep _NET_STARTUP)" -t 9000

cd $bdir


view=""

if [ -z "$1" ]; then

if [ ! "$1" == "view" ]; then

view="view"

fi

wid="$(xdotool getactivewindow)"

else


wid="$1"

echo $wid

fi


#notify-send "$wid" -t 2000


pid="$(xprop -id $wid |grep "_NET_WM_PID(CARDINAL)" |grep -o "[0-9]*")"


#title="$(xwininfo -id $wid |grep xwininfo | grep -o "\".*\"" )"

#title="${title//\"/}" #удалить кавычки

comm="$(ps -q $pid -o comm=)"

args="$(ps -q $pid -o args=)"


#notify-send "$args" -t 9000


#notify-send "$title w:$wid pid:$pid comm:$comm" -t 9000


if [ -e "$comm" ]; then

echo "Ok";

else

mkdir "$comm"

fi

cd $comm


if [ "$comm" = "firefox" ]; then

s="$(xwininfo -id $wid |grep xwininfo | grep xwininfo | grep -o "\".*\*\/;\*")"

title="${s:1:(-4)}"

url="$(xwininfo -id $wid |grep xwininfo | grep -o "\*\/;\*.*\ Mozilla" | cut -d" " -f 2)"

# notify-send $url -t 9000

elif [ "$comm" = "zathura" ]; then

title="$(xwininfo -id $wid |grep xwininfo | sed -e "s/[^\"]*\"\([^[]*\).*/\1/" )"

url="$(xwininfo -id $wid| grep xwininfo | sed -e "s/.*\[\(.*\)\]\"/\1/")"

notify-send "title:$title url:$url" -t 9000


elif [ "$comm" = "viewnior" ]; then

title="$(xwininfo -id $wid |grep xwininfo | sed -e "s/[^\"]*\"\([^\"]*\)\"/\1/" |rev | sed -e "s/%[0-9]*\ -\ [0-9]*\/[0-9]*\ -\ \(.*\)/\1/" |rev )"

url="$(xwininfo -id $wid |grep xwininfo | sed -e "s/[^\"]*\"\([^\"]*\)\"/\1/" |rev | sed -e "s/\(%[0-9]*\ -\ [0-9]*\/[0-9]*\)\ -\ .*/\1/" |rev )"

#notify-send "title:$title url:$url" -t 9000


else

title="$(xwininfo -id $wid |grep xwininfo | grep -o "\".*\"" )"

title="${title//\"/}" #удалить кавычки

url=""

fi


cur="command:\"$args\" url:\"$url\""

#Нужно проверить последнюю запись и если изменений нет, то не добавлять.

last="$(cat "$title" |grep "command")"


if [ "$view" = "view" ]; then


notify-send "$(cat "$title")" -t 10000


else


touch "$title"

if [ "$last" == "$cur" ]; then

notify-send "Равно" -t 9000

echo

else

echo "$cur" >> "$title"

fi

gvim --role context_notes -geometry 58x21+792-90 "$title"


fi


#cur="pid:$pid wid:$wid url:$url"


#notify-send "$(lsof -w -p $pid |grep home)" -t 9000

#notify-send "$(ps -q $pid -o comm=)" -t 9000

#Заголовок, win_id, нужно бы имя файла


#Структура -- pdir / имя приложения / заголовок=имя файла, дописать в файл всю информацию и открыть её в gvim, в плавающем окнежен

# disown


+++++++++++++++++++++++

Если прилепить поиск grep+dmenu будет совсем кошаладно
на фарефокс нужен плагин, шоб url в title /выводил
разделитель */;* или типа того. zathura eтоже и страницы правится в config/

Показать полностью
15

Нужна помощь в настройке Asterisk.

Господа, нужна помощь в настройке сабжа. Сам asterisk уже настроен (не мной)  и работает, телефоны подключены. Все это добро крутится на FreeBPX. С теорией я более менее разобрался, нужна помощь в практике - подключить еще один телефон. Телефон либо аналоговый через voip адаптер, либо sip. Готов оплатить потраченное Вами время. Территориально Челябинск.

16

Citrix XenServer 7.2 нужна помощь

Профи, нужна помощь с настройкой проброса usb устройств в виртуальную машину win 10x64 на Citrix XenServer 7.2. Видеокарту пробросил, все отлично работает, юзаю мышку через консоль Citrix XenCenter и в винде все гуд. НО... никак не получается пробросить контроллер или устройство usb в гостевую ось. Перечитал кучу манов, но они, либо пустые совсем, либо для xen 6.5... Ткните носом в мануал или помогите по удаленке. Настраиваю для себя, не потому что взял заказ и сам не могу. Так сложилось, что есть сервер с ксеном, на нем есть свободные ресурсы, мне дали доступ и сказали, что можно эксперементировать... Подскажите или объясните пожалуйста.


Такая штука не работает. Ошибок не выдает, но и ни к чем не приводит

XE vm-param-set ????????????-config: pci = 0/0000:<B:D.f> uuid = <uuid ?????????????????????? ????????????> 

Linux большая головная боль Microsoft

Здесь много споров о том, что лучше Windows или Linux!! Сколько людей, столько мнений, я хочу высказать свое личное мнение по этому поводу. Я давно вышел из того возраста, когда тянет на разного рода авантюры да и переучиваться трудновато, Windows я использовал ещё с 3.1, очень долго не мог перейти на семерку с её конфетно-карамельный дизайном, Vista мне нравилась гораздо больше. ВИСТУ не обсерал по моему только ленивый, но никто не подумал, что она просто на много шагов опередила своё время и те дятлы, которые пытались запускать её на своих сраных пеньках с двумя гигами оперативы потом раздували щеки и хаяли на чем свет стоит очень достойную, современную и невероятно красивую систему. Первый попытку использования Linux я предпринял с Ubuntu 8.04 и как не странно мне понравилось!! Да, по первости сложновато, несметное количество установок-переустановок, консоль, краши, кривые драйвера, и т. д и т. п, кто в теме тот поймёт!! Но ребята, с тех пор утекло столько воды, Linux настолько изменился, что всё это в далёком прошлом!! Ubuntu я юзал до тех пор, пока говнюк Шаттлворд, не запихнул в хороший дистрибутив сраных Unity!! После некоторых поисков я сделал выбор в пользу Cinnamon и нисколько об этом не жалею!! Так к чему я это всё??! О достоинствах и недостатках как Windows, так Linux сказано и написано много, копий сломано не мало, но я скажу за себя!! Никогда я не вернусь на Windows, даже не хваленую десятку!! Windows - это система для тупых, закостенелых, не желающих включить башку домохозяек, ну и очкариков игроманов!! Спиздил с торента игрушку и топчи мышь др посинения, а подойти творчески, слепить систему под себя, а не то, что предложил тебе дядя Бил Гейтс, мозгов не хватает!!

В Microsoft тоже ребята не лаптем щи хлебают и прекрасно понимают, что растущая популярность Linux - это прямая угроза их доселе весьма прибыльному бизнесу, а легковесность и гибкость ядра Linux совсем не в их пользу!! Многие знают о том, что треть ядра Windows 10 содержит код Linux, что многие "новые" технологии, который мелкомягкие выдают за свои ноу-хау, откровенно спизжены у господина Торвальда и давно обкатаны в дистрибутива Linux, что новая функция Windows 10 позволяет безболезненно запускать Linux приложения!! Вы думаете это просто так, ради забавы!!! Нет, в Windows работают далеко не дураки и они прекрасно понимают, что ещё немного и их монополии придёт пиздец и первый гвоздь в гроб уже забит!!!

Ну извините, если обидел кого, это моё личное мнение!!

Показать полностью
Отличная работа, все прочитано!