Giter Site home page Giter Site logo

argeniss-software / rolaguard Goto Github PK

View Code? Open in Web Editor NEW
16.0 7.0 6.0 1.85 MB

RoLaGuard (Community Edition): a LoRaWAN Operations, Cybersecurity & Compliance Management Platform.

Home Page: https://rolaguard.com/

License: Apache License 2.0

Makefile 100.00%
lorawan chirpstack ttn security lorawan-networks rolaguard

rolaguard's Issues

Failed to start docker images or failed to login with default username and password

Describe the bug
On Fedora Workstation 33, when I try to start rolaguard, I see errors that the packet-writer and backend aren't able to connect to the postgresql server on port 5432. When I open http://localhost:30000/ and try to login, I get an error that the username or password are incorrect.

To Reproduce
Steps to reproduce the behavior:

  1. clone the rolaguard repository (master branch)
  2. docker-composer up
  3. See errors in the terminal
  4. optionally, visit http://localhost:30000 and try to login with admin admin
  5. see the error

Expected behavior
The docker images start up without errors, and the login succeeds with the default username and password.

Screenshots

image
image

Desktop (please complete the following information):

  • OS: Fedora Workstation 33
  • Any

Additional context
Add any other context about the problem here.

Cannot access Rolaguard from other PC

Describe the bug
A browser on a PC on the same network as the PC with Rolaguard cannot login at Rolaguard while accessing from localhost is no problem. The progress circle keeps circling

To Reproduce
Steps to reproduce the behavior:

  1. Start browser on other PC
  2. go to :30000
  3. login with admin credentials
  4. See error

Expected behavior
Successfull login.

Screenshots
If applicable, add screenshots to help explain your problem.
afbeelding

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Firefox
  • Version 85.0

Cannot remove gateway entries from test network

Describe the bug
After setting up the system, the default collector is removed.
The gateways that have been "heard" by the system cannot be removed and keep cluttering mij system.

Expected behavior
A way to remove unwanted or faulty data.

Unregistered Devices Appearing in Inventory

Describe the bug
User reports that devices that are not registered or do not belong to the user's Chirpstack instance are appearing in the Inventory section.

To Reproduce

  1. Go to the Inventory section.
  2. Observe the list of devices.
  3. Identify devices that are not registered or should not belong to the user's Chirpstack instance.

Assign Gateways to Specific Users

Implement a feature that allows the assignment of gateways to specific users. This will enable users to monitor and manage alarms and notifications for their assigned gateways only.

Documentation required on how to run without the built-in chirpstack server

Describe the bug

First of all, this is an amazing project, thank you so much for releasing it!

It would be great to know exactly which of the docker containers are needed for a "production" deployment of the tool, i.e. one without the built-in chirpstack.

For example, are RabbitMQ and Postgresql part of rolaguard, or are they only required for Chirpstack?

I'm happy to help write this up if you can point me in the right direction!

To Reproduce

N/A

Expected behavior

Documentation exists to help deploy this somewhere other than docker-compose with Chirpstack.

Screenshots

N/A

Add tls authentication and hostname support for chirpstack/mqtt

Is your feature request related to a problem? Please describe.
Currently, when I add a chirsptack server as datasource, I can't use a hostname for the MQTT server, only an IP address, and I can't specify tls authentication using a certificate and private key. This makes the MQTT server connection impossible for my chirpstack setup.

Describe the solution you'd like
I would like fields added where I can upload the tls certificates for my mqtt client connection (certificate, private key and ca cert), and change the server ip address, to also allow hostnames.

Additional context
Our MQTT server is an AWS-IOT server, and we are running chirsptack servers in EC2 instances. We won't be able to use RolaGuard without this.

supported network servers?

Hello

Which network servers are currently supported?

Is the things stack v3 ?
Chirpstack?

Very promising project

Failed message parsing

Describe the bug
The data-collector cannot parse the message from the gateway.

Log

--- Logging error ---
2021-05-17T13:25:01.857048206Z  Traceback (most recent call last):
2021-05-17T13:25:01.857050267Z    File "/root/app/auditing/datacollectors/LoraServerIOCollector.py", line 305, in on_message
2021-05-17T13:25:01.857052381Z      standard_packet['modu'] = data_rate.get('modulation')
2021-05-17T13:25:01.857054493Z  AttributeError: 'NoneType' object has no attribute 'get'
2021-05-17T13:25:01.857056511Z  
2021-05-17T13:25:01.857058665Z  During handling of the above exception, another exception occurred:
2021-05-17T13:25:01.857060818Z  
2021-05-17T13:25:01.857073146Z  Traceback (most recent call last):
2021-05-17T13:25:01.857075270Z    File "/usr/lib/python3.7/logging/__init__.py", line 1034, in emit
2021-05-17T13:25:01.857079975Z      msg = self.format(record)
2021-05-17T13:25:01.857082044Z    File "/usr/lib/python3.7/logging/__init__.py", line 880, in format
2021-05-17T13:25:01.857084244Z      return fmt.format(record)
2021-05-17T13:25:01.857086378Z    File "/usr/lib/python3.7/logging/__init__.py", line 619, in format
2021-05-17T13:25:01.857088692Z      record.message = record.getMessage()
2021-05-17T13:25:01.857090797Z    File "/usr/lib/python3.7/logging/__init__.py", line 380, in getMessage
2021-05-17T13:25:01.857096189Z      msg = msg % self.args
2021-05-17T13:25:01.857098317Z  TypeError: not all arguments converted during string formatting
2021-05-17T13:25:01.857100489Z  Call stack:
2021-05-17T13:25:01.857102545Z    File "/usr/lib/python3.7/threading.py", line 885, in _bootstrap
2021-05-17T13:25:01.857104659Z      self._bootstrap_inner()
2021-05-17T13:25:01.857106694Z    File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
2021-05-17T13:25:01.857108781Z      self.run()
2021-05-17T13:25:01.857110758Z    File "/usr/lib/python3.7/threading.py", line 865, in run
2021-05-17T13:25:01.857113060Z      self._target(*self._args, **self._kwargs)
2021-05-17T13:25:01.857115287Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3452, in _thread_main
2021-05-17T13:25:01.857117467Z      self.loop_forever(retry_first_connection=True)
2021-05-17T13:25:01.857119585Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1779, in loop_forever
2021-05-17T13:25:01.857121716Z      rc = self.loop(timeout, max_packets)
2021-05-17T13:25:01.857123767Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1181, in loop
2021-05-17T13:25:01.857125821Z      rc = self.loop_read(max_packets)
2021-05-17T13:25:01.857127844Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1572, in loop_read
2021-05-17T13:25:01.857130090Z      rc = self._packet_read()
2021-05-17T13:25:01.857132189Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 2310, in _packet_read
2021-05-17T13:25:01.857134383Z      rc = self._packet_handle()
2021-05-17T13:25:01.857136499Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 2936, in _packet_handle
2021-05-17T13:25:01.857138583Z      return self._handle_publish()
2021-05-17T13:25:01.857147571Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3216, in _handle_publish
2021-05-17T13:25:01.857149877Z      self._handle_on_message(message)
2021-05-17T13:25:01.857151923Z    File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3444, in _handle_on_message
2021-05-17T13:25:01.857154042Z      self.on_message(self, self._userdata, message)
2021-05-17T13:25:01.857156123Z    File "/root/app/auditing/datacollectors/LoraServerIOCollector.py", line 99, in <lambda>
2021-05-17T13:25:01.857158345Z      self.mqtt_client.on_message = lambda client, userdata, msg: self.on_message(client, userdata, msg)
2021-05-17T13:25:01.857160699Z    File "/root/app/auditing/datacollectors/LoraServerIOCollector.py", line 438, in on_message
2021-05-17T13:25:01.857162904Z      json.dumps(mqtt_messsage) if is_protobuf_message else msg.payload.decode("utf-8"))
2021-05-17T13:25:01.857165243Z  Message: 'Error creating Packet in Chirpstack collector:'
2021-05-17T13:25:01.857167438Z  Arguments: (AttributeError("'NoneType' object has no attribute 'get'"), 'Topic: ', 'gateway/00aeaefffe000016/event/up', 'Message: ', '{"phyPayload":"AL3GraPODsb57T4AAArKJQCfXCDdLOQ=","txInfo":{"frequency":868500000,"modulation":"LORA","loRaModulationInfo":{"bandwidth":125,"spreadingFactor":9,"codeRate":"4/5","polarizationInversion":false}},"rxInfo":{"gatewayID":"AK6u//4AABY=","time":"2021-05-17T13:25:01.577240Z","timeSinceGPSEpoch":"1305293119.577s","rssi":-99,"loRaSNR":-14,"channel":7,"rfChain":0,"board":0,"antenna":0,"location":null,"fineTimestampType":"ENCRYPTED","encryptedFineTimestamp":{"aesKeyIndex":0,"encryptedNS":"b+YoGvCf7xj81Xo+s2hvFA==","fpgaID":null},"context":"r85q/A==","uplinkID":"uM8nnPeORxqIJjWCz4ViPA==","crcStatus":"CRC_OK"}}')

[Alerts] Error by clicking on the next page button

To Reproduce
Steps to reproduce the behavior:

  1. Go to Alerts section
  2. Click on Next page button on the grid

Expected behavior
If the grid has no items to show, the next button should be disable.
If the grid has two pages and the user clicks on the next button the next page should be shown

Screenshots
image

Desktop (please complete the following information):

  • Browser chrome

Note: This is only happening if the grid is empty

[Alerts] - Can't select an Start date different that today

Describe the bug
As a user I want to select a day in the past to filter the results but the date is not saving.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Alerts
  2. Click on Start date on the filter section
  3. Select a day in the past
  4. Select an hour

Expected behavior
The system should filter the results between the dates that the user select

Screenshots
Animation

Implement Concatenated Search Filters

In current issues section:
Implement concatenated search filters that allow users to combine multiple criteria in their searches.
For instance, users should be able to search for devices ordered by name and filtered by a specific gateway.

Incorrect Gateway Location in 360º VIEW

Describe the bug
User reports that the location information for some gateways in the 360º VIEW is incorrect, displaying the location of a different gateway instead.

[Data Sources] 500 error when the user try to add a new Data source with a Type

Describe the bug
As a user I want to add a new Data Source with a type and the system is showing a 500 error

To Reproduce
Steps to reproduce the behavior:

  1. Go to data source section
  2. Complete the required files
  3. add a type
  4. Click on Test connection

Expected behavior
The system shoud test the connection and verify it

Actual result
The system is showing a 500 error
image

Additional context
This is only happening when the user add a Type. If the user doesn't add a type the system is working fine.

Add Gateway filter in Current Issues

Is your feature request related to a problem? Please describe.
In the Current Issues section, it is difficult to filter problems specific to individual gateways.

Describe the solution you'd like
In the Current Issues section, allow users to filter problems specifically by Gateway.

Add Sort by ID in Inventory

Is your feature request related to a problem? Please describe.
The Inventory section lacks the ability to sort items by ID, which can make it difficult to locate specific items quickly, especially in large datasets.

Describe the solution you'd like
Add a "Sort by ID" option in the Inventory section to allow users to quickly and easily organize items by their unique identifiers.

[Inventory] Error by clicking device button

Describe the bug
As user when I click on the device button on the grid the system is showing a 500 error

To Reproduce
Steps to reproduce the behavior:

  1. Go to Inventory
  2. Click on device

Expected behavior

Actual result
The system is showing a 500 error
device error

Note: This is happening only when the grid is empty

Failed to add user

Describe the bug
logged in as admin. Cannot create new user. after adding the text appears: Wa are sorry. It has been an error while creating the user" No new user is displayed.

To Reproduce
try to add user in New user window

Expected behavior
A user is added

Avoid logging too many errors on containers initialization

Describe the bug
The docker containers usually log some errors when starting. This happens because some parts of the system, like the database and rabbitmq, refuse the connection attempts made by the backend, the engine and the packer-writer. After some short time, the database and rabbitmq become ready to accept connections and everything start working fine. However, it would be better to avoid logging these initial errors as it can be confusing.

To Reproduce
Steps to reproduce the behavior:

  1. Initialize docker containers with "docker-compose up -d"
  2. Check the logs of the containers, for example: "docker logs backend"
  3. Visualize error logs related with sqlalchemy and rabbitmq connections.

Expected behavior
Each service should try to be initialized a fixed number of times, without logging any errors between different attempts, and only if all these attempts fail, then an error should be logged and the initialization aborted.

TTN gateway packet count issue

Describe the bug
TTN gateway packet count inconsistent with information in TTN console.

To Reproduce
Add a TTN gateway. Note packet count in TTN console. Wait a couple of hours and compare the counts in Asset 360 view of the gateway with the delta of the current value in TTN console and the previously noted value.

Expected behavior
Number of uplink and downlink messages should match the delta in TTN console or be close. After 23 hours runtime the 360 view reports 2 uplink and 5 downlink for a gateway that receives at least 30 messages each hour (uplinks) from a 'canary' node.

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser firefox
  • Version 82.0.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.