Size: a a a

SCOM + SCorch + DPM

2018 April 20

AM

Anton Masyan in SCOM + SCorch + DPM
у меня в докере запущен
источник

AM

Anton Masyan in SCOM + SCorch + DPM
и ходит он в базу
источник

AL

Andrey Leontyev in SCOM + SCorch + DPM
у нас на powerShell
источник

AM

Anton Masyan in SCOM + SCorch + DPM
а в клиентских подсетях тоже прокся?
источник

AL

Andrey Leontyev in SCOM + SCorch + DPM
конечно
источник

AM

Anton Masyan in SCOM + SCorch + DPM
да, проблемка )
источник

AL

Andrey Leontyev in SCOM + SCorch + DPM
🤷‍♂️
источник

AM

Anton Masyan in SCOM + SCorch + DPM
тогда только ковырять дырку
источник

AL

Andrey Leontyev in SCOM + SCorch + DPM
будем пробовать 😺😺
источник
2018 April 21

АИ

Андрей Игнатьев in SCOM + SCorch + DPM
у меня так и не получилось заставить пош бота ходить через СОКС проксю, пришлось http и ту без авторизации, пока курю в сторону сокс Chilkat с авторизацией...
источник
2018 April 22

AM

Anton Masyan in SCOM + SCorch + DPM
import pymssql
from datetime import datetime, timedelta
import configparser
from telegram.ext import Updater, CommandHandler
import time

config = configparser.ConfigParser()
config.read("config.ini")


# SCOM connection
scom_server = config["scom"]["server"]
scom_user = config["scom"]["user"]
scom_password = config["scom"]["password"]


def get_alerts():

   conn = pymssql.connect(scom_server, scom_user, scom_password, 'OperationsManager')
   cursor = conn.cursor(as_dict=True)
   cursor.execute("""
   
   
select distinct
MonitoringObjectDisplayName,
Category,
dateadd(hour, 3, TimeAdded) as 'Time',
AlertStringName
-- AlertParams
from AlertView
where Severity = 2
and dateadd(hour, 3, TimeAdded) > DATEADD(MINUTE, -10, GETDATE())
and ResolutionState <> 255
   
   
   """)
   row = cursor.fetchall()

   result = []

   if len(row) != 0:
       for item in row:
           # age = (item['TimeAdded'] + timedelta(hours=3))
           item = 'Host: {0} \nCategory: {1} \nTime: *{2}* \n{3}'.format(item['MonitoringObjectDisplayName'], item['Category'], item['Time'].strftime('%H:%M %d-%m-%Y'), item['AlertStringName'])
           result.append(item)
       # print(result)
       return result
   conn.close()


def callback_minute(bot, job):
   # print('\n'.join(str(p) for p in get_alerts()))
   if get_alerts() is not None:
       bot.send_message(chat_id='@itproru', text='\n'.join(str(p) for p in get_alerts()), parse_mode="markdown", disable_web_page_preview=True)
   else:
       pass
       # bot.send_message(chat_id='@itproru', text='empty')


def start(bot, update):
   bot.send_message(chat_id=update.message.chat_id, text='I am a Bot!')


def main():
   """Run bot."""
   updater = Updater("TOKEN")
   updater.start_polling()
   j = updater.job_queue
   jb = j.run_repeating(callback_minute, interval=60, first=0)

if __name__ == '__main__':
   main()
источник

AM

Anton Masyan in SCOM + SCorch + DPM
так, это сам бот
источник

AM

Anton Masyan in SCOM + SCorch + DPM
еще нужен config.ini
источник

AM

Anton Masyan in SCOM + SCorch + DPM
[scom]
server = srv-scom-sql
user = python
password =

sql должен быть в mixed
источник

AM

Anton Masyan in SCOM + SCorch + DPM
он в базу ходит
источник

AM

Anton Masyan in SCOM + SCorch + DPM
ща докер файл найду
источник

AM

Anton Masyan in SCOM + SCorch + DPM
FROM pymssql/pymssql

RUN apt-get update && apt-get install -y \
   python3-pip

WORKDIR /app

COPY requirements.txt /app/
RUN pip3 install -r requirements.txt

COPY . /app/

CMD [ "python3", "scom_bot.py"]
источник

AM

Anton Masyan in SCOM + SCorch + DPM
это requirements.txt
источник

AM

Anton Masyan in SCOM + SCorch + DPM
python-telegram-bot
configparser
pymssql
источник

AM

Anton Masyan in SCOM + SCorch + DPM
складываешь все в одну папку
cd scom-bot
docker build -t scom-bot .
источник