argeniss-software / rolaguard Goto Github PK
View Code? Open in Web Editor NEWRoLaGuard (Community Edition): a LoRaWAN Operations, Cybersecurity & Compliance Management Platform.
Home Page: https://rolaguard.com/
License: Apache License 2.0
RoLaGuard (Community Edition): a LoRaWAN Operations, Cybersecurity & Compliance Management Platform.
Home Page: https://rolaguard.com/
License: Apache License 2.0
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:
docker-composer up
Expected behavior
The docker images start up without errors, and the login succeeds with the default username and password.
Screenshots
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
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:
Expected behavior
Successfull login.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
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.
Describe the bug
User reports that the 360º VIEW displays devices associated with gateways that do not correspond to the currently selected gateway.
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
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.
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
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.
Hello
Which network servers are currently supported?
Is the things stack v3 ?
Chirpstack?
Very promising project
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"}}')
To Reproduce
Steps to reproduce the behavior:
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
Desktop (please complete the following information):
Note: This is only happening if the grid is empty
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:
Expected behavior
The system should filter the results between the dates that the user select
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.
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.
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:
Expected behavior
The system shoud test the connection and verify it
Actual result
The system is showing a 500 error
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.
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.
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.
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:
Expected behavior
Actual result
The system is showing a 500 error
Note: This is happening only when the grid is empty
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
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:
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.
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):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.