![]() |
VOOZH | about |
SAS is a software suite developed for advanced analytics, multivariate analysis, business intelligence, data management, and predictive analytics. When you pair SAS with the CData ODBC Driver for RabbitMQ, you gain database-like access to live RabbitMQ data from SAS, expanding your reporting and analytics capabilities. This article explains how to create a library for RabbitMQ in SAS and create a simple report based on real-time RabbitMQ data.
The CData ODBC Driver offers unmatched performance for interacting with live RabbitMQ data in SAS due to optimized data processing built into the driver. When you issue complex SQL queries from SAS to RabbitMQ, the driver pushes supported SQL operations, like filters and aggregations, directly to RabbitMQ and utilizes the embedded SQL engine to process unsupported operations (often SQL functions and JOIN operations) client-side. With built-in dynamic metadata querying, you can easily visualize and analyze RabbitMQ data in SAS.
Information for connecting to RabbitMQ follows, along with different instructions for configuring a DSN in Windows and Linux environments (the ODBC Driver for RabbitMQ must be installed on the machine hosting the SAS System).
RabbitMQ is an open-source message broker that supports multiple messaging protocols. The RabbitMQ Management HTTP API provides HTTP-based access to management and monitoring data for a RabbitMQ server. The API exposes information about virtual hosts, exchanges, queues, bindings, connections, channels, consumers, users, permissions, policies, and cluster-wide statistics.
The Management plugin must be enabled on the RabbitMQ server for the HTTP API to be available. By default, the management interface listens on port 15672.
RabbitMQ Management HTTP API uses HTTP Basic authentication. You must supply the username and password of a RabbitMQ management user.
To enable access to the management API:
After configuring your RabbitMQ server, set the following connection properties to connect:
Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
The RabbitMQ profile provides access to the following tables:
When you configure the DSN, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.
If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.
If you are installing the CData ODBC Driver for RabbitMQ in a Linux environment, the driver installation predefines a system DSN. You can modify the DSN by editing the system data sources file (/etc/odbc.ini) and defining the required connection properties.
[CData API Sys] Driver = CData ODBC Driver for RabbitMQ Description = My Description Profile = C:\profiles\\RabbitMQ.apip AuthScheme = Basic URL = http://localhost:15672 User = guest Password = guest
For specific information on using these configuration files, please refer to the help documentation (installed and found online).
Connect to RabbitMQ in SAS by adding a library based on the CData ODBC Driver for RabbitMQ.
SAS natively supports querying data either using a low-code, point-and-click Query tool or programmatically with PROC SQL and a custom SQL query. When you create a View in SAS, the defining query is executed each time the view is queried. This means that you always query live RabbitMQ data for reports, charts, and analytics.
proc sql; create view authattempts_view as select , from odbclib.authattempts where NodeName = 'rabbit@hostname'; quit;
With a local view created, you can report, visualize, or otherwise analyze RabbitMQ data using the powerful SAS features. Print a simple report using PROC PRINT and create a basic graph based on the data using PROC GCHART.
proc print data=authattempts; title "RabbitMQ AuthAttempts Data"; run;๐ A simple RabbitMQ data report.
proc gchart data=authattempts; pie / sumvar= value=arrow percent=arrow noheading percent=inside plabel=(height=12pt) slice=inside value=none name='AuthAttemptsChart'; run;๐ A simple RabbitMQ data chart.
Connect to live data from RabbitMQ with the API Driver
Connect to RabbitMQ