Перейти до

Статус обладнання через смс!!!


Рекомендованные сообщения

Настроїв для себе, може комусь буде цікаво.

В Київстара є така послуга як відправка смс через електрону пошту, краще почитати тут Прием и отправка электронной почты с помощью услуги SMS

 

Зробив все так як там написано + пару скриптів на перлі і все працює.

І якщо якийсь будинок непрацює приходить смс.

Ссылка на сообщение
Поделиться на других сайтах

У меня реализовано с помощью микротика, он сам следит за оборудованием если нет пинга тогда шлет смску, также шлет смску когда все гуд 1 раз в час проверят все участки и шлет смс. Делается все просто пару скриптов и настройка почты на микротике. Тоже самое умеет и Dude у себя ее не юзаю потому что серваки под фрибсд, а Dude под винду.

Ссылка на сообщение
Поделиться на других сайтах
У меня реализовано с помощью микротика, он сам следит за оборудованием если нет пинга тогда шлет смску, также шлет смску когда все гуд 1 раз в час проверят все участки и шлет смс. Делается все просто пару скриптов и настройка почты на микротике. Тоже самое умеет и Dude у себя ее не юзаю потому что серваки под фрибсд, а Dude под винду.

А можеш поделиться скриптиком если не жалко?

Тоже себе хочу настроить

Ссылка на сообщение
Поделиться на других сайтах
Настроїв для себе, може комусь буде цікаво.

В Київстара є така послуга як відправка смс через електрону пошту, краще почитати тут Прием и отправка электронной почты с помощью услуги SMS

 

Зробив все так як там написано + пару скриптів на перлі і все працює.

І якщо якийсь будинок непрацює приходить смс.

А чем mon не устроил?

mon 0.99.2-13 monitor hosts/services/whatever and alert ab

настраиваем в /etc/mon/mon.cfg

хостгруппы в формате "hostgroup группа днс_имя/IP"

hostgroup servers www cs office

далее описываем что мы хотим от мона

watch servers

service fping #проверяем на пинги

description servers

interval 5m

monitor fping.monitor

period wd {Sun-Sat}

alert sms.alert

upalert sms.alert

alert mail.alert support@ххх.ua

upalert mail.alert support@ххх.ua

alertevery 1h

Так же можно проверять smtp/pop3 и другие службы. (в дефолном конфиге есть)

 

sms.alert ложим в cat /usr/lib/mon/alert.d/sms.alert

#!/usr/bin/perl

# mail.alert - Mail alert for mon

# The first line from STDIN is summary information, adequate to send

# to a pager or email subject line.

$RCSID='$Id: mail.alert,v 1.8 1999/08/16 00:24:54 trockij Exp $';

use Getopt::Std;

use Text::Wrap;

 

getopts ("S:s:g:h:t:l:u");

 

$summary=<STDIN>;

chomp $summary;

 

$summary = $opt_S if (defined $opt_S);

 

$mailaddrs = join (',', @ARGV);

 

$ALERT = $opt_u ? "UP" : "AL";

 

$t = localtime($opt_t);

($wday,$mon,$day,$tm) = split (/\s+/, $t);

 

open (MAIL, "| /usr/lib/sendmail -oi -t") ||

die "could not open pipe to mail: $!\n";

print MAIL <<EOF;

From: postmaster\@ххх.ua

To: 38067ххххххх\@sms.kyivstar.net

Cc: +38095ххххххх\@sms.ecotel.com.ua

Subject: $ALERT

MIME-Version: 1.0

Content-Type: text/plain; charset=windows-1251\n

 

EOF

 

#print MAIL wrap ("", "", "Summary output : $summary"), "\n";

 

print MAIL <<EOF;

$summary ($day $tm)

EOF

 

close (MAIL);

 

далее думаю понятно. :)

если что уточняйте.

Ссылка на сообщение
Поделиться на других сайтах

В мене є скріпти які запускаються через крон і пінають свічі (вмоєму випадку).

Була написаний сайт міні для перегляду статусу.

Список свічів:

switch.png

Детальніше:

switch_status.png

 

Скріпти:

Написані страшно (я тільки починаю)

скріпти на php, perl

 

conf.php

 

<?

$dblocation = "адрес";

$dbname = "база";

$dbuser = "логін";

$dbpasswd = "пароль";

mysql_connect($dblocation,$dbuser,$dbpasswd);

mysql_select_db($dbname);

?>

 

ping.php

 

#!/usr/bin/php

<?

 

include "адреса до conf.php";

$sql = "SELECT * FROM db_switch";

$result = mysql_query($sql);

while($themes = mysql_fetch_array($result)){

$id = trim($themes['id']);

$ip = trim($themes['ip']);

$status_switch = trim($themes['up_down']);

exec("ping -c 4 -s 10 -i 2 -w 200 $ip", $output, $status);

$data = date('Y-m-d;H-i-s;');

if ($status=="0"){

if ($status_switch=="down"){

$up_switch = "UPDATE `db_switch` SET

`up_down` = 'up'

WHERE `id` = '".$id."' LIMIT 1";

mysql_query ($up_switch);

$add_stat_up = "INSERT INTO `switch_status`(ip, status, data) VALUES ('$ip', 'up', '$data')";

mysql_query ($add_stat_up);

exec('адреса до mail.pl '.$ip.' ONLINE');

}

}

if ($status=="1"){

if ($status_switch=="up"){

$down_switch = "UPDATE `db_switch` SET

`up_down` = 'down'

WHERE `id` = '".$id."' LIMIT 1";

mysql_query ($down_switch);

$add_stat_down = "INSERT INTO `switch_status`(ip, status, data) VALUES ('$ip', 'down', '$data')";

mysql_query ($add_stat_down);

exec('адреса до mail.pl '.$ip.' OFFLINE');

}

}

}

 

?>

 

mail.pl

 

#!/usr/bin/perl

 

$ip = $ARGV[0];

$status = $ARGV[1];

use Net::SMTP;

my $EMAIL_SENDER='від кого';

my $EMAIL_SMTP='адрес сервера';

my $EMAIL_HELLO='домін;

my $EMAIL_PORT=порт;

my $EMAIL_PASSWORD='пароль';

 

my $mailer = new Net::SMTP

(

$EMAIL_SMTP,

Hello => $EMAIL_HELLO,

Port => $EMAIL_PORT,

User => $EMAIL_SENDER,

Password=> $EMAIL_PASSWORD,

);

$mailer->mail('відкого');

$mailer->to('380номер@sms.kyivstar.net');

$mailer->data;

$mailer->datasend("Subject: $ip\n");

$mailer->datasend("$status");

$mailer->dataend;

$mailer->quit;

 

chmod 777 mail.pl

chmod 777 ping.php

 

В crontab прописуєм!!!

*/5 * * * * root адреса до ping.php

 

Презапускаэм crontab

/etc/init.d/cron restart

 

Создаэм базу В MySql

 

Таблиці

 

CREATE TABLE `db_switch` (

`id` int(10) NOT NULL auto_increment,

`ip` varchar(255) default NULL,

`address` varchar(255) default NULL,

`up_down` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=utf8;

 

CREATE TABLE `switch_status` (

`id` int(200) NOT NULL auto_increment,

`ip` varchar(255) default NULL,

`status` varchar(255) default NULL,

`data` varchar(255) default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=173 DEFAULT CHARSET=utf8;

 

Вносим обладнання в базу

INSERT INTO accounts (ip, address, up_down) VALUES('ip', 'address', 'down');

 

Якщо щось нетак тоді вибачаюсь!!!

 

Скріпт веб сторінки невиложую, а якщо може :) кумусь цікаво то пишіть!

Ссылка на сообщение
Поделиться на других сайтах

через крон имхо неправильно, лучше запустить демоном.

так же более логично и понятней если свитчи прописать в хостах, и отправлять не IP-адрес свитча а его имя (более содержательную информацию, IP свитча можно отправлять когда у Вас 2-3 свитча, когда у Вас оборудования поболее то более логично получить в смске местонахождение девайсины)

так же Ваш скрипт выполняет проверку только по ICMP ответам. А вы говорите про мониторинг оборудования. Вам на сервере ненужно проверять службы http/mysql/etc.?

Советую не изобретать велосипед а использовать тот же nagios, zabbix если это сложно, то более простой вариант - mon. (в дебиане есть готовый пакет, на счет других систем не проверял - apt-get install mon) легкий простой в настройке демон мониторинга (пример конфигов выше).

 

кстати как-то давно поднималась тема про закрытие СМС через МТС - найден способ отправки через екотел - +380ххххххххх\@sms.ecotel.com.ua

проверено работает, но туго задержка смс более минуты :)

Ссылка на сообщение
Поделиться на других сайтах
через крон имхо неправильно, лучше запустить демоном.

так же более логично и понятней если свитчи прописать в хостах, и отправлять не IP-адрес свитча а его имя (более содержательную информацию, IP свитча можно отправлять когда у Вас 2-3 свитча, когда у Вас оборудования поболее то более логично получить в смске местонахождение девайсины)

так же Ваш скрипт выполняет проверку только по ICMP ответам. А вы говорите про мониторинг оборудования. Вам на сервере ненужно проверять службы http/mysql/etc.?

Советую не изобретать велосипед а использовать тот же nagios, zabbix если это сложно, то более простой вариант - mon. (в дебиане есть готовый пакет, на счет других систем не проверял - apt-get install mon) легкий простой в настройке демон мониторинга (пример конфигов выше).

 

кстати как-то давно поднималась тема про закрытие СМС через МТС - найден способ отправки через екотел - +380ххххххххх\@sms.ecotel.com.ua

проверено работает, но туго задержка смс более минуты :)

 

я написав прочто чисто для себе на пару комутаторів, якщо буде більша кількість тоді можна і адрес, і щось покраще.

А так як я тільки учусь то мені хватає.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...