Телеграм бот за надгледање Линук сервера, обавештења, управљање

У овом ћемо чланку погледати пример употребе. Телеграм бот на серверу са Линук ЦентОС-ом, показују како да конфигуришете једноставна обавештења у цхат бот-у за надгледање вашег сервера, као и неколико контролних команди.

У доба мобилних гадгета постало је важно да се разни мессенгер користи не само за комуникацију са стварним људима, већ и за употребу разних ботова. На пример, у Телеграм За бот се налази широка функционалност, која се може користити у различите сврхе - клијенту давати информације о поруџбини, информације о пакету од поштанског оператера и, на пример, надгледање сопственог сервера.

Садржај:

  • Креирање робота за ћаскање у Телеграму
  • Слање обавештења Телеграм цхату са сервера
  • Линук управљање сервером у Телеграм цхатботу

Креирање робота за ћаскање у Телеграму

Да бисте створили бот за цхат Телеграм користи бот @БотФатхер. Да бисте створили свог робота, морате да пронађете @БотФатхер у свом Телеграму и идите да разговарате са њим:

Кликните на СТАРТ. Да бисте креирали нови бот, изаберите у менију / невбот, унесите име робота у формат „наме_бот“. Након креирања робота ћете добити АПИ бот токен, који ће бити потребан у даљој конфигурацији.

Сада морате да сазнате усер_ид - Ово је ИД сата са робота на коме ће послати обавештења. Идите са њим у чет и притисните старт и пошаљите било који лик. Након тога, у прегледачу, идите на:

хттпс://апи.телеграм.орг/бот/гетУпдатес - где је АПИ која је издала БотФатхер.

На слици је означен ваш ИД.

Дакле, створили смо робота у Телеграму и добили смо податке о ауторизацији.

Слање обавештења Телеграм цхату са сервера

Користећи претходно створени бот и примљене ИД-ове, можете слати обавештења Телеграм ћаскању са сервера и на тај начин добијати све податке или упозорења која нас занимају.

Да бисте послали поруку у чет, потребно је да користите следећу УРЛ адресу:

хттпс://апи.телеграм.орг/бот/сендМессаге?цхат_ид=&тект=
Где:
- ово је АПИ који је издао @БотФатхер
- ово је ИД вашег ћаскања са ботом.

На пример:

# цурл -с -Кс ПОСТ хттпс://апи.телеграм.орг/бот944496485:ААЕтГаГЦВрК7д26Рц3р_цкКСПИхрКВокх8е4/сендМессаге -д цхат_ид = 336116180 -д текст = "Добро јутро, земља"

Зашто могу да користим таква Телеграм обавештења? На пример, када креирате резервну копију, можете слати обавештења о њеном креирању или послати везу за преузимање копије да бисте разговарали са ботом. Можете сами себи слати обавештења са информацијама о паду система у Телеграму. На круне је могуће додати било какве чекове, а затим их послати Телеграму.

Још један пример употребе оваквих обавештења:

# цурл -с -Кс ПОСТ хттпс://апи.телеграм.орг/бот944496485:ААЕтГаГЦВрК7д26Рц3р_цкКСПИхрКВокх8е4/сендМессаге -д цхат_ид = 336116180 -д текст = "Корисник $ (вхоами) пријављен у $ (име хоста) на (ехо $ ССХ_ЦЛИЕНТ | авк 'принт $ 1') "&> / дев / нулл 2> & 1

Додајте овај код у / етц / профиле и примаће обавештења у Телеграм сваки пут када корисници уђу на сервер:

Желим да вас подсетим да у свим тимовима морате да наведете тачно своје токен (АПИ) и ИД ћаскање.

Линук управљање сервером у Телеграм цхатботу

Постоји сет скрипти који вам омогућава да управљате Линук сервером из Телеграм цхата, слањем различитих команди за чет са ботом. Да бисте то учинили, инсталирајте Питхон, низ алата и пренесите скрипте на сервер.

# вгет хттпс://ввв.питхон.орг/фтп/питхон/3.6.0/Питхон-3.6.0.тар.кз
# иум инсталирајте кз -и
# тар -кпЈф Питхон-3.6.0.тар.кз
# цд Питхон-3.6.0
# иум гроупинсталирајте "Развојне алате" -и
# иум инсталирај злиб-девел бзип2-девел опенссл-девел нцурсес-девел склите-девел -и
# ./конфигурација
# маке
# направи инсталацију

Направите симбол за Питхон:

# лн -с / уср / лоцал / бин / питхон3 / уср / бин / питхон3

И инсталирајте софтвер за самог робота:

# пип3 инсталирајте питхон-телеграм-бот - надоградњу

Сада преузмите и распакујте директоријум вашег сервера роот / админ три датотеке из архиве телеграм_бот.зип:

  • бот.сх
  • цонфиг.пи
  • бот.пи

Размотрите датотеку цонфиг.пи. У њему требамо навести токен (АПИ) и ИД ваше ћаскање са ботом, као и пут до директоријума са резервним копијама и директорија, чија ћете величина даље проверити:

Филе бот.сх не захтева конфигурацију, у њему само назначујемо пут до бот.пи:

А најосновнија датотека која нам заправо омогућава управљање сервером је бот.пи. У њему су описане функције које ће бити доступне у чету са ботом и заправо тамо можемо додати и своју функционалност. На пример, први блок описује доступне наредбе бот-а у цхат-у:

У њему су описане све функције које ће бити доступне након уноса наредбе / хелп.

На пример, описана је сама функција,

# ифцонфиг наредбена функција деф ифцонцонфиг (бот, упдате): поново учитати (цонфиг) усер = стр (упдате.мессаге.фром_усер.ид) ако је корисник у цонфиг.админ: # ако је кориснички ИД на листи администратора, наредба је рун_цомманд ("ифцонфиг" ) бот.сендМессаге (цхат_ид = упдате.мессаге.цхат_ид, тект = тектоутпут)

А ову функцију треба описати као наредбу:

ифцонфиг_хандлер = ЦоммандХандлер ('ифцонфиг', ифцонфиг) диспечер.адд_хандлер (ифцонфиг_хандлер)

То је, као што видимо, ово је извршење стандардне функције провере мрежних подешавања ифцонфиг.

Приликом сусрета са ботом, покушао сам да додам сопствену команду, на пример, да проверим Апацхе:

# статус хттпд статуса

Али само кроз конфигурацију ове датотеке није успело. Колико сам разумео, овде можете извршити само наредбу описану једном речју или знаковима. Проблем сам решио креирањем датотеке апацхе_статус.сх са садржајем:

#! / бин / басх
статус хттпд услуге

И створио је везу на њој:

# лн -с /роот/админ/апацхе_статус.сх / уср / лоцал / сбин / апацхестатус

Сада када позивате команду апацхестатус, Добивам статус веб сервера апацхе:

У датотеци бот.пи Сва три блока напунио сам, према другим функцијама. Да би бот могао да ради, морате да покренете датотеку бот.сх. Ради практичности направићемо посебан сервис за робота Телеграм. Креирамо потребну датотеку и постављамо права:

# тоуцх /етц/системд/систем/телеграм-бот.сервице
# цхмод 664 /етц/системд/систем/телеграм-бот.сервице

Затим идемо на сервисну датотеку:

# нано /етц/системд/систем/телеграм-бот.сервице

И додајте садржај:

[Јединица] Опис = Телеграм бот Афтер = нетворк.таргет [Сервице] ЕкецСтарт = / роот / админ / бот.сх [Инсталација] ВантедБи = мулти -усер.таргет

Сада додајте услугу за аутоматско учитавање и покретање:

# системцтл старт телеграм-бот.сервице
# системцтл омогућују телеграм-бот.сервице
# системцтл статус телеграм-бот.сервице

Сада, ако ћаскате са својим ботом, уђите / хелп, добићете листу доступних команди.

На пример, у тренутку када је веб сервер заустављен на мом серверу Апацхе:

Покрените га на серверу и проверите статус путем Телеграма:

Још неколико примера извршења наредби:

Дакле, можете надгледати ваш Линук сервер или чак делимичну администрацију Телеграм, што ће вам значајно смањити време потребно за извођење типичних акција.

Такође бих хтео да приметим да се ауторизација сервера с бот-ом одвија управо од стране ИД и токен (АПИ) (било која друга особа, која не зна ваше податке, неће се моћи повезати).

У тренутку објављивања, тестни бот је уклоњен.