LINUX.ORG.RU

Избранные сообщения petav

Мониторинг определенной службы в Zabbix

Форум — Admin

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

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

Собственно, вопрос в этом - как настроить отслеживание конкретных служб на нескольких машинах? Потому что настраивать на каждой по отдельности, конечно, можно, но уж очень запарно.

Группы элементов данных на другую машину повесить как-то не получается.

Может ли кто-то подсказать, как быть?

Спасибо заранее.

P.S. Разобралась, как копировать элементы данных. Но можно ли что-то подобное делать с группами?

 ,

Nychary
()

Настройка шаблона Windows в Zabbix

Форум — Admin

Доброго времени суток!

Развернули Zabbix, и почти сразу столкнулись с довольно весомой проблемой. С машин пользователей в логи (и на почту) валится целая куча мусора, которая не является важной или существенной. К примеру: «Problem started at 16:20:06 on 2020.08.04 Problem name: «sppsvc» (Защита программного обеспечения) is not running (startup type automatic delayed)»

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

За сбор информации сервисов винды отвечает шаблон Template OS Windows by Zabbix agent. Пытаюсь отсечь неугодные мне службы следующим образом:

Макрос: {$SERVICE.NAME.MATCHES} Значение: ^.*$

Макрос:{$SERVICE.NAME.NOT_MATCHES} Значение: ^RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel(R) TPM Provisioning Service|dbupdate|DoSvc$ (те самые неважные службы)

Макрос: {$SERVICE.STARTUPNAME.MATCHES}
Значение:^automatic$

Макрос: {$SERVICE.STARTUPNAME.NOT_MATCHES} Значение: ^manual|disabled$

Но как раз это и не срабатывает. Мусор как валился, так и валится.

Подскажите, что сделано не так? В какую сторону еще копать?

Заранее спасибо.

 , ,

Nychary
()

mutt + msmtp + gmail

Форум — General

Проблема такая, настроил msmtp для отправки писем на smtp.gmail.com.
Отпраляю так: mail -s "тема" name@mail.ru - всё отлично, письмо уходит. При попытке отправить с помощью mutt вваливается сообщение "Нет доступных методов аутентификации".
Насколько я понимаю, mutt должен скормить письмо sendmail, а тот уже должен заниматься аутентификацией на smtp сервере. sendmail работает, в чём тогда проблема?

~$ cat .msmtprc 
account default
host smtp.gmail.com
port 587
auth on
tls on
tls_starttls on
tls_certcheck off
from my_name@gmail.com
user my_name@gmail.com
password my_pass

~$ cat .muttrc
ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
hdr_order Date From To Cc

set header_cache=”~/.mutt/cache/headers”
set message_cachedir=”~/.mutt/cache/bodies”
set certificate_file=~/.mutt/certificates

set imap_user = 'my_name@gmail.com'
set imap_pass="my_pass"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = imaps://imap.gmail.com:993/
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"

set smtp_url = "smtp://my_name@smtp.gmail.com:587/"
set smtp_pass = "my_pass"

set move = no

>>>

greenzu
()

Mutt, multiple mailboxes, gmail

Форум — General

Добрый день, уважаемые! Я совсем запутался. Пользовался себе mutt и горя не знал. Был он настроен на один ящик на gmail. На этот ящик перенаправлялись письма со всех остальных моих ящиков. Но возникла потребность добавить еще один почтовый ящик. И вот тут возник затык. Поискал я в гугле как это делается и наткнулся на такой код:

account-hook . 'unset imap_user imap_pass'
account-hook 'imaps://user1@imap.gmail.com/' "\
              set imap_user=user1 imap_pass=$my_pass1 "
account-hook 'imaps://user2@imap.gmail.com/' "\
              set imap_user=user2 imap_pass=$my_pass2 "
# Folders, mailboxes and folder hooks

# Setup for user1:
set folder="imaps://user1@imap.gmail.com/"
mailboxes =INBOX =[Gmail]/Drafts =[Gmail]/'Sent Mail' =[Gmail]/Spam
folder-hook 'imaps://user1@imap.gmail.com' " \
        set     folder=imaps://user1@imap.gmail.com/ \
                postponed=+[Gmail]/Drafts \
                record=+[Gmail]/'Sent Mail' \
                smtp_url=smtps://user1@smtp.gmail.com \
                smtp_pass=$my_pass1 \
                signature=~/.mutt/user1.sig \
                from='User One <user1@gmail.com> ' \
                realname='User One' "
#
# Setup for user2:
set folder="imaps://user2@imap.gmail.com/"
mailboxes =INBOX =[Gmail]/Drafts =[Gmail]/'Sent Mail' =[Gmail]/Spam
folder-hook 'imaps://user2@imap.gmail.com' " \
        set     folder=imaps://user2@imap.gmail.com/ \
                postponed=+[Gmail]/Drafts \
                record=+[Gmail]/'Sent Mail' \
                smtp_url=smtps://user2@smtp.gmail.com \
                smtp_pass=$my_pass2 \
                signature=~/.mutt/user2.sig \
                from='User Two <user2@gmail.com> ' \
                realname='User Two' "

Сделал так как описано, запускаю mutt и получаю вот что:

Регистация не удалась

Смотрю лог mutt и вижу там следующее:

Connected to imap.gmail.com:993 on fd=6
6< * OK Gimap ready for requests from XX.XX.XX.XX 11if1223070eed.13
6> a0000 CAPABILITY
6< * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA XLIST CHILDREN XYZZY SASL-IR AUTH=XOAUTH
6< a0000 OK Thats all she wrote! 11if1223070eed.13
imap_authenticate: Using any available method.
SASL local ip: XX.XX.XX.XX;41906, remote ip:74.125.77.109;993
External SSF: 128
External authentication name: MYNAME_HERE
SASL: No worthy mechs found
imap_auth_sasl: IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA XLIST CHILDREN XYZZY SASL-IR AUTH=XOAUTH unavailable
Sending LOGIN command for MYNAME_HERE...
6< a0001 NO [ALERT] Invalid credentials (Failure)
Регистрация не удалась.
6> a0002 LOGOUT
6< * BYE Logout Requested 11if1223070eed.13
Handling BYE
6< a0002 OK Quoth the raven, nevermore... 11if1223070eed.13

Эта ошибка возникает если я пытаюсь попасть ТОЛЬКО в один из ящиков. Что самое интересное с моим старым конфигом mutt прекрасно заходит в этот почтовый ящик. Вот что я мог такого напортачить? Начинаю перебирать ящики - только для одного «регистрация не удалась»

Может кто кинет своим рабочим конфигом для «multiple imap mailboxes»....

swarnk
()

neomutt и несколько ящиков по умолчанию по IMAP

Форум — General

Есть neomutt и несколько ящиков на разных доменах. Как сделать, чтоб не надо было постоянно переключаться на каждый отдельный ящик, а чтоб было все и вместе? по типу структуры thunderbird'а. То есть интересует чтоб было разделение входящих папок в sidebar'е, и одновременная работа с ними без переключений, все работает по imap'у. Может это как то можно реализовать с помощью mailboxes? Второй день пытаюсь курить маны и не понимаю

 ,

CPdev
()

Mail Notifier — уведомлялка о непрочтенных письмах для системного трея

Новости — Linux General
Группа Linux General

Позвольте представить вам мою первую программу: Mail Notifier. Она находится в системном трее, периодически проверяет почту и уведомляет о непрочтенных письмах. Когда приходит новое письмо, иконка меняет свой цвет (со значка белого конверта на красный) и еще приходит уведомление через mail-notify (эту опцию при желании можно отключить в настройках). Для проверки почты программа использует протокол IMAP4.

( читать дальше... )

Скриншот 1

Скриншот 2

Скриншот 3

>>> Исходный код

 , , , ,

Rinaldus
()

Мониторинг логов через Zabbix

Форум — Admin

Всем доброго дня!

Наткнулся на интересную «проблему», если ее так можно назвать.

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

( Zabbix version )

( Пример настройки элемента и триггера )

 

vadim_p
()

Мониторинг видеотрансляции

Форум — Admin

Есть ли какие-то утилиты для мониторинга видеострима? Нужно автоматически мониторить на проблемы типа подвисшей картинки, черного экрана вместо изображения, слишком высокого или слишком низкого уровня громкости, буферизации и высылать алерт. Видео стримится через ютуб, в наличии имеется zabbix.

Есть идея как сделать самописное с помощью youtube-dl ffmpeg и zabbix, но вдруг есть готовое.

 , , , ,

goingUp
()

Ищу работу

Форум — Job

Приветствую , решил пойти в фриланс , создаю лого , ретушь фотографий , и прочее. Совсем новичок. Очень стараюсь учится и прочее. Готов работать за копейки , пока что. Если кому то интересно могу скинуть свои работы. Очень стараюсь но среди профи меня совсем не замечают , что делать? Если что вот моя почта pleshakov0702@gmail.com и вк idkonoplia

 , ,

ItzRevers
()

Systemd и hostname основанный на MAC

Форум — General

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

Занимаюсь сборкой ОС на базе Debian для бездисковых рабочих станций и загрузкой по сети без корня по NFS.

Есть идея назначать уникальное имя для хостов основанное на mac-адресе. Зачем? Опять же в планах управлять этими хостами через puppet.

Проблема возникает с systemd. В интернете нашел пример:

[Unit]
Description=Start Debian with a different hostname each boot
Wants=network-pre.target
Before=network-pre.target
[Service]
ExecStart=/usr/bin/newhostname
Type=oneshot
[Install]
WantedBy=multi-user.target
#!/usr/bin/env bash
# Description: Generate and set a random hostname on Linux
# Requires: sed, awk
# Usage: set-random-hostname
__set_random_hostname() {
  local new_hostname=$(head -n1 < <(fold -w8 < <(tr -cd 'a-z0-9' < /dev/urandom)))
  # set new hostname
  hostnamectl set-hostname "$new_hostname"
  # set new hostname in /etc/hosts
  sed -i "2 s/^.*$/127.0.1.1       $new_hostname/g" /etc/hosts
}
__set_random_hostname

Все работает отлично и каждый раз у хоста новое динамическое имя. Попытался вставить

cat /sys/class/net/*/address | sed ':a;N;$!ba;s/\(\n\|:\)//g' 

не работает. Подставляет, только localhost.

Запускаю с выводом в файл:

cat /sys/class/net/*/address | sed ':a;N;$!ba;s/\(\n\|:\)//g' > /tmp/firstboot
  ip a >> /tmp/firstboot

В /tmp/firstboot только localhost. Что я только не делал, менял target в Юните результат один.

Подскажите что можно сделать, нужно чтобы сетевые устройства уже были инициализированы, но не подняты.

 

mcshel
()

Увидел свет LanguageTool 4.5 и 4.5.1!

Новости — Java
Группа Java

LanguageTool — это свободная система для проверки грамматики, стиля, пунктуации и орфографии с открытым исходным кодом. Основное ядро LanguageTool можно использовать как расширение LibreOffice/Apache OpenOffice и как Java-приложение. На сайте системы http://www.languagetool.org/ru работает online-форма проверки текста. Для мобильных устройств на Android доступно отдельное приложение LanguageTool proofreader.

( читать дальше... )

>>> Подробности

 , , , ,

Yakov
()

Сервер видеонаблюдения Bluecherry полностью открыт под GPL 2.0

Новости — Open Source
Группа Open Source

Bluecherry — комплекс DVR (Digital Video Recorder) для видеонаблюдения, состоящий из сервера, работающего на GNU/Linux, и клиента — приложения, работающего на GNU/Linux, MacOS и Windows, а также через сторонние мобильные приложения для Android и iOS.

( читать дальше... )

>>> Подробности

 , ,

anonymous
()

Lutris 0.5.0

Новости — Игры
Lutris 0.5.0
Группа Игры

Состоялся значительный релиз Lutris — игровой платформы для Linux, которая позволяет устанавливать и запускать игры без лишних хлопот, в том числе из GOG, Steam, Battle.net, Origin, Uplay с помощью специально подготовленных сценариев.

( читать дальше... )

>>> Подробности

 , , , ,

Turbid
()

покритикуйте bash крипт для бэкапа

Форум — Development

backup:/s0/backup# cat backup.sh
#!/bin/bash


TIMESTAMP=`date +%F_%R_%s | sed s/:/=/`
ARCH="-j"  					# bz2 or gz
VERB=""

help_usage ()
{
echo -e "Usage: $0 [jzblixvh]  
	-j - Use bzip2 for archive backup [default] 
	-z - Use gzip for archive backup 
	-t <TYPE_OF_BACKUP> - Define type of backup inc - incremental or full - for full backup
	-f <CONFIG_FILE> - Define file which contains configuration
	-b <BACKUP NAME> - name backup (use \"default\" for $BACKUP_NAME)
	-v - verbose [non default]
	-h - print this help"
}

if [[ $# -eq 0 ]]
then
	help_usage
	exit 0
fi

while getopts ":jzb:vhd:x:l:f:t:" Option
do
  case $Option in
	j )
	     ARCH="-j"
	     ;;
	z )
	     ARCH="-z"
	     ;;
	d )
	     INSTALL_DIR="${OPTARG}"
	     ;;
	t )
	     TYPE_OF_BACKUP="${OPTARG}"
	     if [[ ${TYPE_OF_BACKUP} = "inc" || ${TYPE_OF_BACKUP} = "full" ]]
	     then :
	     else
	     	echo "Use -t only for \"full\" or \"inc\" type of backup"
		exit 0
	     fi
	     ;;
	b )
		 if [[ $OPTARG != "default" ]]
		 then
	     	BACKUP_NAME="${OPTARG}" 
		 fi
	     ;;
	l )
	     BACKUP_LIST="${OPTARG}"
	     ;;
	x )
	     EXCLUDE_LIST="${OPTARG}"
	     ;;
	f )
		 CONF_FILE="${OPTARG}"
		 if [[ -e "${CONF_FILE}" ]]
		 then 	
		 	. "${CONF_FILE}"	
		 else
		 	echo "Can't find ${CONF_FILE}. Used valid"
		 fi
		 ;;
	v )
	     VERB="-v"
	     ;;
	h )
	 	 help_usage
	     exit 0
	     ;;
	* )
		 help_usage
		 exit 0
		;;
  esac
done
shift $(($OPTIND - 1))

if [[ ! -e ${BACKUP_LIST} ]]
then
	echo "Edit conf file to to define list of backup files"
	exit 0;
fi

if [[ ! -e ${EXCLUDE_LIST} ]]
then
	echo "Edit conf file to to define list of exclude files"
	exit 0;
fi

remote_hostname=$(ssh $SSH_CONN_OPT $REMOTE_USER@$REMOTE_HOST hostname)
if [[ "$TYPE_OF_BACKUP" == "inc" ]]
then
	DATE_TIME=$(ls -1 -t ${LOCAL_DIR}/backup* | head -n 1 | grep -E -o "[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}=[0-9]{2}")
	INC_TIME=$(echo ${DATE_TIME} | grep -E -o "[0-9]{4}-[0-9]{2}-[0-9]{2}")
	INC_TIME="${INC_TIME} $(echo ${DATE_TIME} | grep -E -o '[0-9]{2}=[0-9]{2}' | sed s/\=/:/)"
	BACKUP_NAME="backup_${remote_hostname}_${TYPE_OF_BACKUP}_${TIMESTAMP}"
;
	ADV_OPT="--newer-mtime '${INC_TIME}'"
else
	BACKUP_NAME="backup_${remote_hostname}_${TYPE_OF_BACKUP}_${TIMESTAMP}"
;
fi

if [[ "${ARCH}" == "-j" ]]
then
	BACKUP_NAME="${BACKUP_NAME}.tar.bz2"
else
	BACKUP_NAME="${BACKUP_NAME}.tar.gz"
fi

COMM="tar --create --ignore-failed-read ${ARCH} \
	    ${VERB} --file="${REMOTE_DIR}/${BACKUP_NAME}" `cat ${BACKUP_LIST}` \
	    $(for entity in `cat ${EXCLUDE_LIST}`; do echo '--exclude' ${entity}; done) \
	    --exclude ${REMOTE_DIR} ${ADV_OPT}" 

echo "Start make ${TYPE_OF_BACKUP} backup to ${BACKUP_NAME}"

echo "use ${ARCH} to archive"
ssh ${SSH_CONN_OPT} ${REMOTE_USER}@${REMOTE_HOST} ${COMM}
echo "End backup"

echo "Start copy backup to local machine"
scp ${SCP_CONN_OPT} ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/${BACKUP_NAME} ${LOCAL_DIR}
echo "End copy"

echo "Begin delete remote copy"
COMM="rm -f ${REMOTE_DIR}/${BACKUP_NAME}"
ssh ${SSH_CONN_OPT} ${REMOTE_USER}@${REMOTE_HOST} ${COMM}
echo "End delete"

echo "Delete obsolete"
find $LOCAL_DIR -mtime "+$EXPIRE_TIME" -name "backup.*.tar.*" -exec rm -f {} \;
echo "End delete"

backup:/s0/backup# cat serv/serv.conf 
#
# Config file for backup serv server
#

REMOTE_HOST="192.168.0.1"
REMOTE_USER="root"
BACKUP_LIST="/s0/backup/serv/list.backup"
EXCLUDE_LIST="/s0/backup/serv/list.exclude"
REMOTE_DIR="/bk"
LOCAL_DIR="/s0/backup/serv"
EXPIRE_TIME="7" 	#in days
TYPE_OF_BACKUP="full"

SSH_CONN_OPT="-p 22"
SCP_CONN_OPT="-P 22"


tugrik
()

GrafX2 2.6 — свободный 256-цветный редактор пиксельной графики

Новости — Мультимедиа
GrafX2 2.6 — свободный 256-цветный редактор пиксельной графики
Группа Мультимедиа

GrafX2 — растровый графический редактор для создания и редактирования пиксельных изображений в стиле «pixel art» (с глубиной цвета до 8-бит). Код программы написан на языке C с использованием тулкита SDL (благодаря чему легко портируется на большинство известных платформ), а дополнения для программы можно писать в виде Lua-скриптов.

11 января 2019 года, спустя 8 месяцев с момента предыдущего релиза, Пулко Мэнди (Pulko Mandy, aka ‘pulkomandy’), главный разработчик проекта, объявил о релизе GrafX2 2.6 в своём аккаунте в Twitter:

GrafX2 2.6 just released (just in time for inclusion in Debian), with support for copy/paste, drawing for various 8 bit systems with constraints, and a lot of improvements! Thanks @tbernard1979 and all contributors! Also the 23rd birthday of the first public release today! 🎁

( читать дальше... )

>>> Подробности

 , , , ,

atsym
()

Зачем нужен Puppet/Ansible, если есть git по крону и bash?

Форум — Admin

По мотивам моего скриншота, мне посоветовали перейти на автоматизацию, в чём я согласен, ибо 95% тачек однотипные, заменяют друг друга создавая собой по-сути кластер. Надавали советов перейти на Puppet, но одного я не пойму — зачем делают такой софт, который заменяется однострочником на bash?

https://ru.wikipedia.org/wiki/Puppet

Узлы сети, управляемые с помощью Puppet, периодически опрашивают сервер, получают и применяют внесённые администратором изменения в конфигурацию.

Всё! Этого достаточно! Вся программа в одном русским языком предложении.

Теперь мы просто на каждую машину в crontab -e подсунем * * * * * cd / && $(which git) clone ssh://server/config_$(hostname).git && ./reconfigure.sh и всё!

Чего же ради создавать все эти > Конфигурация описывается на специальном декларативном предметно-ориентированном языке.

плодить сущности и т.д., если такие вещи безотказно костылятся уже имеющимися инструментами.

Может я что-то недоПОНИмаю...

 ,

Spoofing
()

Чем плохи бездисковые кластеры?

Форум — Admin

Прорвало что-то, но в общем, вытекая из предыдущего вопроса про удалённое конфигурирование, возник вопрос, почему бы тогда и вовсе не создавать бездисковые ноды.

Архитектура такая. Пусть вся сеть состоит из одного единственного ПК. На ПК установлена система с bind + dhcp, вторая сетевая карточка с выходом на свитч, таким образом подключаясь к свичу ноды становятся частью сети. Это понятно.

Дальше мы хотим расширить сеть, создать кластер, подключить ноды. Собираем новый ПК, подключаем по Ethernet к свичу и всё. Больше его не трогаем, ибо:

* Пакетом Wake-On-Lan включаем ПК удалённо.

* При включении, когда нету дисков, на материнских платах задействуется загрузка по сети, таким образом с настроенным DHCP + TFTP + NFS мы загружаем систему по сети со всей необходимой конфигурацией и софтом.

* Обновляем конфигурацию софта по мере надобности, на выходе имеем неограниченное количество нод под любые задачи, упираясь только в бюджет мамкиного админа локалхоста, уж простите.

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

 ,

Spoofing
()

Какие процессы удобно отдавать на аутсорсинг?

Форум — Admin

Добрый день, уютный ЛОРчик.

Если ошибся разделом, то переместите в Толксы, что ли.

А вопрос такой: сисадмины, вы сталкивались с аутсорсингом тех или иных процессов в работе? Ну, например, обслуживание сети в офисе, или, скажем, замена картриджей в принтерах. Какие процессы у вас, при вас или из-за вас отдавали в субподряд? Какие были результаты, была какая-то выгода или оказалось бессмысленным? Какие были предпосылки?

 , , , ,

djambeyshik
()

Нужна платформа для блога без базы данных

Форум — Admin

Чтобы умела:

1. Работать без базы данных. Например просто хранит каждый пост в markdown-файлах в директориях по дате: db/2018/11/11

2. Посты писать чезер wysiwyg через вебморду

Бывает такое?

 

buggycoder
()

Настройка геокластера HA с pacemaker и stonith

Форум — Admin

Доброго дня суток!
Имеется следующая ситуация: необходимо с помощью pacemaker/stonith (RedHat7.5) построить High Availability геокластер, а именно имеются две виртуальные машины:
node1 находится в Vcenter1 в городе city1
node2 находится в Vcenter2 в городе city2
на обоих нодах крутится БД, в режиме Master/Slave соответственно, т.е. весьма критично не допустить Split-brain'a.

При падении node1 pacemaker поднимает node2 в режим Master и присваивает ему нужный виртуальный IP, при этом Stonith должен потушить node1 (чтобы если вдруг он сам поднимется\включится\станет доступным не произошел Split-brain).

Stonith делает это так - с node2 с помощью политики fence_vmware_soap подключается к Vcenter1 и тушит необходимую vm'ку (в нашем случае node1).

Все вроде бы логично. Но вот ЧТО ЕСЛИ теряется связь\канал до Vcenter1 и Stonith соответственно не может подать команду на тушение node1? отработает ли в этом случае pacemaker?(а именно поменяет роль с Slave на Master).
Подскажите как выкрутиться в этом случае?
Возможно есть какие-то обкатанные варианты? Заранее благодарю.

 ,

Sappper
()