Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-07-23 17:59:24

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Mikrotik configuration manager (konfiguracja mikrotikow przez API)

Cześć

Napisałem program do zdalnej konfiguracji mikrotików przez API. Nazywa się [url=https://github.com/luqasz/mcm]mcm[/url] (mikrotik configuration manager). W skrócie jest to podobny zamysłem program do cfengine,chef,puppet,ansible tylko, że do mikrotików. Można za pomocą niego "rozrzucić" np. konfigurację userów,klienta ntp i wiele innych.

Może się komuś przyda.


[img]http://wiblo.pl/wilk/userbars/debian_user_black.png[/img]

Offline

 

#2  2015-08-18 14:03:14

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

Nasza (w sensie mojego ISP) sieć jest oparta na mikrotikach, potestuję i dam znać ile to to je warte ;)

Offline

 

#3  2015-08-18 15:12:02

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

[tt]lis6502@Nexus ~/mcm-master $ python mcm.py
Traceback (most recent call last):
  File "mcm.py", line 6, in <module>
    from librouteros import LoginError, connect, ConnError
  File "/home/lis6502/mcm-master/librouteros/__init__.py", line 17, in <module>
    from tools import ChainMap
  File "/home/lis6502/mcm-master/tools.py", line 10, in <module>
    from collections import UserDict
ImportError: cannot import name UserDict
[/tt]
Jak trza coś zainstalczyć to krzycz- distro Gentoo, amd64.

Offline

 

#4  2015-08-18 15:51:18

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

Na czym to odpalasz? UserDict jest częścią  biblioteki standardowej pythona. Chyba, że korzystasz z python 3, to tam UserDict zostało przeniesione do collections

Ostatnio edytowany przez jurgensen (2015-08-18 15:53:49)

Offline

 

#5  2015-08-18 19:59:09

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

[quote=lis6502][tt]lis6502@Nexus ~/mcm-master $ python mcm.py
Traceback (most recent call last):
  File "mcm.py", line 6, in <module>
    from librouteros import LoginError, connect, ConnError
  File "/home/lis6502/mcm-master/librouteros/__init__.py", line 17, in <module>
    from tools import ChainMap
  File "/home/lis6502/mcm-master/tools.py", line 10, in <module>
    from collections import UserDict
ImportError: cannot import name UserDict
[/tt]
Jak trza coś zainstalczyć to krzycz- distro Gentoo, amd64.[/quote]
[url=https://travis-ci.org/luqasz/mcm]Tutaj[/url] są wyniki testów. Jak na nich widać są odpalane na każdej wersji pythona3.

Sprawdź czy podczas instalacji/komilacji na gentoo czegoś nie zabrakło (jakiejś flagi).

Jeżeli macie jakieś pomysły,propozycje,feature requesty to piszcie proszę mi na prv/mail.

Ostatnio edytowany przez ukasz (2015-08-18 20:01:46)


[img]http://wiblo.pl/wilk/userbars/debian_user_black.png[/img]

Offline

 

#6  2015-08-19 08:45:39

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

I wszystko jasne. W tools.py masz wersję dla Pythona3:

from collections import UserDict

Dlatego nie działa to na python 2.x

@lis6502 spróbuj zmienić na:

import UserDict

Ale skoro jest to pisane pod pythona 3, to pewnie z 2.x wiele rzeczy jeszcze nie będzie działać

Offline

 

#7  2015-08-19 21:39:47

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

Poradziłem sobie z ręki odpalajac przez [tt]python3 mcm.py[/tt]
Tyle że chyba nie rozumiem sensu działania programu. Domaga się jakiegoś konfigu na wejściu, więc jesli misją skryptu jest kopiowanie cfg'u przez MTAPI, to szczerze powiem że z default każdy mikrotik posiada ssh, więc wygodniej wykorzystać narzędzia obecne w kazdym distro niż komplikować sobie życie zewnętrznym softem.

Offline

 

#8  2015-08-19 22:19:43

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

[quote=ukasz]Cześć

Napisałem program do zdalnej konfiguracji mikrotików przez API. Nazywa się [url=https://github.com/luqasz/mcm]mcm[/url] (mikrotik configuration manager). W skrócie jest to podobny zamysłem program do cfengine,chef,puppet,ansible tylko, że do mikrotików. Można za pomocą niego "rozrzucić" np. konfigurację userów,klienta ntp i wiele innych.

Może się komuś przyda.[/quote]
Zaryzykuję stwierdzenie, że gdyby to był moduł do Webmina napisany w Perlu (jak cały Webmin), to miałby  większe szanse na długoletnią karierę.
;-)

Ostatnio edytowany przez Jacekalex (2015-08-19 22:21:38)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2015-08-20 02:57:02

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

@lis:chyba nie rozumiesz istoty działania programu :) chodzi w podobnych aplikacjach o to żeby właśnie działania z SSH ograniczyć do minimum, a wykonywanie zadań przerzucić na automaty, na przykładzie puppeta wygląda to klarowniej

Masz x vmek, gdy to x to mała liczba a ty jesteś jedynym adminem, żaden problem, masz jakąś choćby szczątkowa dokumentację, możesz sobie pozwolić na do stawianie kolejnych nodeów z łapy, ale gdy jest was techników kilku, jeszcze w innych strefach czasowych, a liczba nodeów niepokojąco rośnie, i musowe jest HA sprawa zaczyna się komplikować. Wtedy z pomocą przychodzą z pomocą takie narzędzia jak właśnie puppet czy chef w których opisujesz jaki chcesz uzyskać efekt w pliku i gdy przychodzi potrzeba dostawienia np 2 nowych nodeów to tylko dostawiasz 2 vmki z jakiegoś szablonu, podłaczasz je do puppet mastera nadajesz im role (np serwer bazy danych klientów) i ... Możesz zająć się czym innym :p puppet dociągnie paczki i skonfiguruje usługi zgodnie z tym co mu zawrzesz w manifescie, jeśli masz to pozenione jeszcze dodatkowo z jakimś gitem zyskujesz wygodne i funkcjonalne narzędzie które przyspiesza twoja prace i eliminuje(lub zmniejsza) czynnik ludzki do minimum i ułatwia prace grupową

Można wszystko co prawda oskryptować z łapy, fakt, tylko wtedy wchodzą w grę błędy które mogły się pojawić w twoich skryptach, dodatkowo wypadaloby mieć jakąś dokumentację, a i tak na końcu jak przyjdzie cos czego nie przewidziales będziesz musiał do nich wracac i albo robić nowe wersje starych albo copy pastę i edycja częściowa

Co prawda bardziej obeznany jestem z puppetem ale to narzędzie wygląda ciekawie, fajnie byłoby jakby @lukasz podał przykładowe zastosowania, podał jakieś szczegóły dotyczące szczegółów przykładowej konfiguracji (np czy manifestty pisze się w czymś na kształt puppet language czy raczej to jakiś jezyk skryptowy ze zmiennymi (nie mam niestety dostępu do żadnego mikrotika a z chęcią bym się dowiedział z czym to się je)


ilin napisał
[i]"DUG to tez moja mała ojczyzna"[/i]

Offline

 

#10  2015-08-20 21:32:13

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

Mozna konfigurować mikrotiki przez ssh. Da się. Jest jednak pewna granica po której zadania to staje się nie do ogarnięcia. Nie bez powodu ktoś wymyślił API. Przez API można bardzo łatwo porównywać dane te które są z tymi które chesz żeby były.

Co do dokumentacji to jest ona na stronie githuba
https://github.com/luqasz/mcm/wiki/Getting-Started


[img]http://wiblo.pl/wilk/userbars/debian_user_black.png[/img]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.014 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00017 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00179 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.135.219.166' WHERE u.id=1
0.00093 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.135.219.166', 1714890749)
0.00069 SELECT * FROM punbb_online WHERE logged<1714890449
0.00082 SELECT topic_id FROM punbb_posts WHERE id=289977
0.00247 SELECT id FROM punbb_posts WHERE topic_id=27588 ORDER BY posted
0.00131 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27588 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00107 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27588 ORDER BY p.id LIMIT 0,25
0.00123 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27588
Total query time: 0.01059 s