Monitoring Mikrotik with MKTXP
Monitoring Mikrotik with MKTXP
*Vài lưu ý trước khi vào nội dung chính mình cần chia sẽ:
- Bài viết này mang tính chất dành cho cá nhân để lưu trữ kiến thức cũng như kinh nghiệm bản thân đã trải qua.
- Bài viết chia sẻ phi lợi nhuận
- Bài viết có thể làm vài bạn biểu môi: "xời xời, đơn giản thế này ai chẳng biết, post lên làm gì" ==> thì xem lại mục "1" nhé.
- Bài viết có lấy thể lấy hình ảnh và 1 vài nội dung trên Internet, nên nếu có gì vi phạm bản quyền, cảm phiền các bạn báo lại giúp mình
Giới thiệu:
MKTXP là Prometheus Exporter cho thiết bị Mikrotik.
Nó thu thập và export metrics trên nhiều thiết bị đồng
thời, ngoài việc export metrics ra cho Prometheus, MKTXP còn có thể
print 1 số metrics trực tiếp trên CLI.
Yêu cầu:
- Python 3.6.x trở lên.
- Supported OS:
- Linux
- Mac OSX
- Mikrotik Router device(s)
- Không bắt buộc:
- Prometheus
- Grafana
Cài đặt:
- Tải về từ python (pip or pip3):
- pip install mktxp
- pip3 install mktxp
- pip install git+https://github.com/akpw/mktxp
Bắt đầu:
Sau khi cài đặt MKTXP, chúng ta cần edit file config. Mình
thích sử dụng trình soạn thảo "vim" nên mình dùng code sau:
mktxp edit -ed vim
Trong file cấu hình có sẵn cấu hình mẫu kèm chú thích, nó giúp ta dễ
dàng copy/edit các thông số cần thiết:
[Sample-Router]enabled = False # turns metrics collection for this RouterOS device on / offhostname = localhost # RouterOS IP addressport = 8728 # RouterOS IP Portusername = username # RouterOS user, needs to have 'read' and 'api' permissionspassword = passworduse_ssl = False # enables connection via API-SSL servisno_ssl_certificate = False # enables API_SSL connect without router SSL certificatessl_certificate_verify = False # turns SSL certificate verification on / offdhcp = True # DHCP general metricsdhcp_lease = True # DHCP lease metricspool = True # Pool metricsinterface = True # Interfaces traffic metricsfirewall = True # Firewall rules matching traffic metricsmonitor = True # Interface monitor metricsroute = True # Routes metricswireless = True # WLAN general metricswireless_clients = True # WLAN clients metricscapsman = True # CAPsMAN general metricscapsman_clients = True # CAPsMAN clients metricsuse_comments_over_names = False # when available, forces using comments over the interfaces names
Cấu hình Mikrotik:
Với mục đích giám sát thiết bị RouterOS, bạn tên
tạo 1 account với các phân quyền cần thiết:
/user group add name=mktxp_group policy=api,read/user add name=mktxp_user group=mktxp_group password=mktxp_user_password
Kiểm tra:
Sau khi định cấu hình thiết bị Mikrotik vào
file config, ta tiến hành kiểm tra hoạt động của MKTXP trên
CLI, và bên dưới là ví dụ tôi xem thông tin capsman:
[root@localhost ~]# mktxp print -en DHT23 -ccConnecting to router DHT23@************.sn.mynetname.net2021-06-04 17:07:49 Connection to router DHT23@************.sn.mynetname.net has been established+-------------------+----------------+------------------+-----------+-----------------+---------------+----------+----------+----------+| dhcp_name | dhcp_address | mac_address | rx_signal | interface | ssid | tx_rate | rx_rate | uptime |+===================+================+==================+===========+=================+===============+==========+==========+==========+| ketoan | 192.168.7.209 | 80:********C | -54 | 2.4Ghz--hAPac-1 | URANUS_2.4Ghz | 150 Mbps | 150 Mbps | 4 hours || | | 1 | | | | | | || Camera | 192.168.7.245 | 00:********6 | -52 | 2.4Ghz--hAPac-1 | URANUS_2.4Ghz | 150 Mbps | 150 Mbps | 12 days || | | 2 | | | | | | || Printer | 192.168.7.234 | FC:********0 | -52 | 2.4Ghz--hAPac-1 | URANUS_2.4Ghz | 144 Mbps | 130 Mbps | 7 days || | | 7 | | | | | | || B8:********3D | No DHCP Record | B8:********3 | -45 | 2.4Ghz--hAPac-1 | URANUS_2.4Ghz | 300 Mbps | 270 Mbps | 12 days || | | D | | | | | | || | | | | | | | | || JaneMaisiPhone | 192.168.7.195 | 62:********C | -47 | 5Ghz--hAPac-1 | URANUS_5Ghz | 18 Mbps | 780 Mbps | a minute || | | A | | | | | | || DESKTOP-Q7R2DBC | 192.168.7.191 | 38:********6 | -45 | 5Ghz--hAPac-1 | URANUS_5Ghz | 866 Mbps | 866 Mbps | 9 hours || | | 6 | | | | | | |+-------------------+----------------+------------------+-----------+-----------------+---------------+----------+----------+----------+2.4Ghz--hAPac-1 clients: 45Ghz--hAPac-1 clients: 2Total connected CAPsMAN clients: 6
Export to Prometheus:
Để Prometheus lấy thông tin từ MKTXP ta
cần liên kết MKTXP với Prometheus. Làm điều đó bằng cách
edit file config Prometheus :
vim /usr/local/prometheus/prometheus.yml
Và chỉ cần thêm:
- job_name: 'mktxp'static_configs:- targets: ['mktxp_machine_IP:49090']
Granfana Dashboard:
Bây giờ với các thông số mà Prometheus
nhận được từ MKTXP, chúng sẽ được hiển thị sinh động hơn
qua giao diện Grafana Dashboard.
Setting MKTXP chạy như 1 service trên
Linux:
Nếu bạn muốn MKTXP chạy như 1 dịch vụ trên Linux, bạn
có thể cho nó khởi động cùng với server:
vim /etc/systemd/system/mktxp.service
Bây giờ copy/paste đoạn code bên dưới vào:
[Unit]Description=MKTXP Exporter[Service]User=user # the user under which mktxp was installedExecStart=mktxp export # if mktxp is not at your $PATH, you might need to provide a full path[Install]WantedBy=default.target
Thế là xong rồi đấy, chúc các bạn thành công!
Đặt quảng cáo của bạn ở đây
Nhận xét
Đăng nhận xét