mirror of
https://github.com/KevinMidboe/mktxp-no-cli.git
synced 2025-10-29 17:50:23 +00:00
Update README.md
This commit is contained in:
committed by
GitHub
parent
fdf369a87c
commit
a4b545f761
53
README.md
53
README.md
@@ -7,9 +7,10 @@
|
|||||||
|
|
||||||
## Description
|
## Description
|
||||||
MKTXP is a Prometheus Exporter for Mikrotik RouterOS devices.\
|
MKTXP is a Prometheus Exporter for Mikrotik RouterOS devices.\
|
||||||
It enables gathering metrics across multiple routers, all easily configurable via built-in CLI interface.
|
It gathers rich set of metrics across multiple routers, all easily configurable via built-in CLI interface.
|
||||||
|
Apart from it's main functionality, MKTXP can also print some of the metrics directly on the command line (see a WiFi Clients example below).
|
||||||
|
|
||||||
MKTXP comes with a dedicated [Grafana dashboard](https://grafana.com/grafana/dashboards/13679)
|
For effortless visualisation of the RouterOS metrics exported to Prometheus, MKTXP comes with a dedicated [Grafana dashboard](https://grafana.com/grafana/dashboards/13679)
|
||||||
|
|
||||||
<img src="https://akpw-s3.s3.eu-central-1.amazonaws.com/mktxp_black.png" width="530" height="620">
|
<img src="https://akpw-s3.s3.eu-central-1.amazonaws.com/mktxp_black.png" width="530" height="620">
|
||||||
|
|
||||||
@@ -34,14 +35,15 @@ MKTXP comes with a dedicated [Grafana dashboard](https://grafana.com/grafana/das
|
|||||||
|
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
After installing MKTXP, you need to edit its main configuration file. The easiest way to do it is via:
|
After installing MKTXP, you need to edit its main configuration file. The easiest way to do it is via running:
|
||||||
```
|
```
|
||||||
mktxp edit
|
mktxp edit
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
This opens the file in your default system editor. \
|
This opens the file in your default system editor. \
|
||||||
In case you prefer a different editor, just run the ```edit``` command with its optional `-ed` parameter e.g.:
|
In case you prefer a different editor, just run the ```edit``` command with its optional `-ed` parameter. \
|
||||||
|
For example, to explicitly open the MKTXP config in nano:
|
||||||
```
|
```
|
||||||
mktxp edit -ed nano
|
mktxp edit -ed nano
|
||||||
|
|
||||||
@@ -67,7 +69,7 @@ The configuration file comes with a sample configuration, making it easy to copy
|
|||||||
dhcp_lease = True # DHCP lease metrics
|
dhcp_lease = True # DHCP lease metrics
|
||||||
pool = True # Pool metrics
|
pool = True # Pool metrics
|
||||||
interface = True # Interfaces traffic metrics
|
interface = True # Interfaces traffic metrics
|
||||||
firewall = True # Firewall rules traffic metrics
|
firewall = True # Firewall rules matching traffic metrics
|
||||||
monitor = True # Interface monitor metrics
|
monitor = True # Interface monitor metrics
|
||||||
route = True # Routes metrics
|
route = True # Routes metrics
|
||||||
wireless = True # WLAN general metrics
|
wireless = True # WLAN general metrics
|
||||||
@@ -79,15 +81,15 @@ The configuration file comes with a sample configuration, making it easy to copy
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Mikrotik Device Config
|
## Mikrotik Device Config
|
||||||
For the purpose of device monitoring, it's best to create a dedicated RouterOS device user with minimal required permissions. \
|
For the purpose of RouterOS device monitoring, it's best to create a dedicated user with minimal required permissions. \
|
||||||
MKTXP only needs ```API``` and ```Read```, so at that point you can go to your router and type:
|
MKTXP only needs ```API``` and ```Read```, so at that point you can go to your router's terminal and type:
|
||||||
```
|
```
|
||||||
/user group add name=mktxp_group policy=api,read
|
/user group add name=mktxp_group policy=api,read
|
||||||
/user add name=mktxp_user group=mktxp_group password=mktxp_user_password
|
/user add name=mktxp_user group=mktxp_group password=mktxp_user_password
|
||||||
```
|
```
|
||||||
That's all it takes! \
|
|
||||||
Now put these user credentials in the above configurtation file, and at that point should already be able to check your success. \
|
Now put these user credentials in the above configurtation file, and at that point should already be able to check your success. \
|
||||||
Since MKTXP can print selected metrics directly on the command line, in this example let's check on some of my smarthome CAPsMAN clients:
|
Since MKTXP can print selected metrics directly on the command line, we can check on things even without connection to Prometheus or Grafana. \
|
||||||
|
For example, let's go check on some of my smart home WiFi appliances:
|
||||||
```
|
```
|
||||||
~> mktxp print -en MKT-GT -cc
|
~> mktxp print -en MKT-GT -cc
|
||||||
Connecting to router MKT-GT@10.70.0.1
|
Connecting to router MKT-GT@10.70.0.1
|
||||||
@@ -116,12 +118,12 @@ Connecting to router MKT-GT@10.70.0.1
|
|||||||
Connected Wifi Devices: 15
|
Connected Wifi Devices: 15
|
||||||
----------------------- --
|
----------------------- --
|
||||||
```
|
```
|
||||||
Hmmm, that toaster looks like it'd use a better signal.. \
|
Hmmm, that toaster could probably use a better signal... \
|
||||||
But before going to fixing that one, let's get back on track and proceed to exporting metrics to Prometheus.
|
But let's get back on track and proceed to the business of exporting metrics to Prometheus.
|
||||||
|
|
||||||
|
|
||||||
## Exporting to Prometheus
|
## Exporting to Prometheus
|
||||||
For exporting your routers' metrics to an existing Prometheus installation, you basically just need to connect MKTXP to it. \
|
For getting your routers' metrics into an existing Prometheus installation, we first need to connect MKTXP to it. \
|
||||||
To do that, let's edit Prometheus config file:
|
To do that, let's edit Prometheus config file:
|
||||||
```
|
```
|
||||||
nano /etc/prometheus/prometheus.yml
|
nano /etc/prometheus/prometheus.yml
|
||||||
@@ -136,14 +138,16 @@ and simply add:
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
At that point, we should be are ready for the `mktxp export` command that will get all router(s) metrics as configured above and serve them via a http server on default port 49090. In case prefer to use a different port, you can change it (along with other internal mktxp parameters) via ```mktxp edit -i```.
|
At that point, we should be are ready for the main `mktxp export` command that will get all router(s) metrics as configured above and serve them to Prometheus via a http server on the default MKTXP port 49090. \
|
||||||
|
In case a different port is preffered, it can be changed via the ```mktxp edit -i``` command.
|
||||||
|
|
||||||
## Grafana dashboard
|
## Grafana dashboard
|
||||||
Now with all of your devices metrics safely in Prometheus, it's easy to visualise them with this [Grafana dashboard](https://grafana.com/grafana/dashboards/13679)
|
Now with your RouterOS devices configured metrics being exported to Prometheus, it's easy to visualise them with this [Grafana dashboard](https://grafana.com/grafana/dashboards/13679)
|
||||||
|
|
||||||
|
|
||||||
## Setting up MKTXP to run as a Linux Service
|
## Setting up MKTXP to run as a Linux Service
|
||||||
If you've installed MKTXP on a Linux system, you can run it with system boot via adding a service:
|
If you've installed MKTXP on a Linux system, you can run it with system boot via adding a service.
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
nano /etc/systemd/system/mktxp.service
|
nano /etc/systemd/system/mktxp.service
|
||||||
@@ -165,7 +169,7 @@ WantedBy=default.target
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Let's start the service and check its' status:
|
Let's start the service and check on its' status:
|
||||||
```
|
```
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
sudo systemctl start mktxp
|
sudo systemctl start mktxp
|
||||||
@@ -179,23 +183,18 @@ systemctl status mktxp
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Full description of CLI Commands
|
## Description of CLI Commands
|
||||||
### mktxp
|
### mktxp
|
||||||
. action commands:
|
Usage: $ mktxp [-h]
|
||||||
|
. action commands:
|
||||||
.. info Shows base MKTXP info
|
.. info Shows base MKTXP info
|
||||||
.. edit Open MKTXP configuration file in your editor of choice
|
.. edit Open MKTXP configuration file in your editor of choice
|
||||||
.. export Starts collecting metrics for all enabled RouterOS configuration entries
|
|
||||||
.. print Displays seleted metrics on the command line
|
.. print Displays seleted metrics on the command line
|
||||||
|
.. export Starts collecting metrics for all enabled RouterOS configuration entries
|
||||||
.. show Shows MKTXP configuration entries on the command line
|
.. show Shows MKTXP configuration entries on the command line
|
||||||
|
|
||||||
|
Commands: {info, edit, export, print, show }
|
||||||
Usage: $ mktxp [-h]
|
$ mktxp {command} -h #run this for detailed help on individual commands
|
||||||
{info, edit, export, print, show }
|
|
||||||
Commands:
|
|
||||||
{info, edit, export, print, show }
|
|
||||||
|
|
||||||
$ mktxp {command} -h #run this for detailed help on individual commands
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Installing Development version
|
## Installing Development version
|
||||||
|
|||||||
Reference in New Issue
Block a user