{"id":1450,"date":"2024-10-18T22:46:01","date_gmt":"2024-10-18T20:46:01","guid":{"rendered":"https:\/\/www.rocworks.at\/wordpress\/?p=1450"},"modified":"2024-10-18T22:46:01","modified_gmt":"2024-10-18T20:46:01","slug":"monstermq-with-grafana","status":"publish","type":"post","link":"https:\/\/www.rocworks.at\/wordpress\/?p=1450","title":{"rendered":"MonsterMQ with Grafana"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Because MonsterMQ can store topic values directly in PostgreSQL\/Timescale, you can instantly create dashboards with Grafana! \ud83d\udcca<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a simple example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 Check out the live <a href=\"http:\/\/test.monstermq.com\/public-dashboards\/cdfb88a464414833a479bb8535539146?orgId=1\">dashboard<\/a> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s super easy to get started. Use the public available MonsterMQ at test.monstermq.com at port 1883. Just publish a JSON string to any topic under &#8220;Test&#8221;, like &#8220;Test\/Sensor1&#8221; with a payload like this: {&#8220;value&#8221;: 1}, and you\u2019ll see the value reflected in the Grafana dashboard in real time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019m currently publishing temperature sensor values to the public broker from my home automation using <a href=\"http:\/\/automation-gateway.com\">automation-gateway.com<\/a>. Just that you see some values in the dashboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, if you need a broker to store your IoT data directly into TimescaleDB without the need for any additional components, consider using MonsterMQ. It&#8217;s free and available at MonsterMQ.com. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the exmaple docker-compose.yml file of the public availble test.monstermq.com broker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  timescale:\n    image: timescale\/timescaledb:latest-pg16\n    restart: unless-stopped\n    ports:\n      - \"5432:5432\"\n    volumes:\n      - \/data\/timescale:\/var\/lib\/postgresql\/data\n    environment:\n      POSTGRES_USER: system\n      POSTGRES_PASSWORD: xxx\n  monstermq:\n    image: rocworks\/monstermq:latest\n    restart: unless-stopped\n    ports:\n      - 1883:1883\n    volumes:\n      - .\/config.yaml:\/app\/config.yaml\n    command: &#91;\"+cluster\", \"-log INFO\"]\n  pgadmin:\n    image: dpage\/pgadmin4\n    restart: unless-stopped\n    environment:\n      PGADMIN_DEFAULT_EMAIL: andreas.vogler@rocworks.at\n      PGADMIN_DEFAULT_PASSWORD: xxx\n    volumes:\n      - \/data\/pgadmin:\/var\/lib\/pgadmin\/storage\n    ports:\n      - \"8080:80\"\n  grafana:\n    image: grafana\/grafana\n    restart: unless-stopped\n    ports:\n    - 80:3000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the MonsterMQ config.yml file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Port: 1883\nSSL: false\nWS: true\nTCP: true\n\nSessionStoreType: POSTGRES\nRetainedStoreType: POSTGRES\n\nSparkplugMetricExpansion:\n  Enabled: true\n\nArchiveGroups:\n  - Name: \"All\"\n    Enabled: true\n    TopicFilter: &#91; \"#\" ]\n    RetainedOnly: false\n    LastValType: POSTGRES\n    ArchiveType: NONE\n  - Name: \"Test\"\n    Enabled: true\n    TopicFilter: &#91; \"Test\/#\" ]\n    RetainedOnly: false\n    LastValType: NONE\n    ArchiveType: POSTGRES\n\nPostgres:\n  Url: jdbc:postgresql:\/\/timescale:5432\/monster\n  User: system\n  Pass: xxx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Give it a try and let me know what you think!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>#iot<\/strong> <strong>#mqtt<\/strong> <strong>#monstermq<\/strong> <strong>#timescale<\/strong> <strong>#postgresql<\/strong> <strong>#grafana<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Because MonsterMQ can store topic values directly in PostgreSQL\/Timescale, you can instantly create dashboards with Grafana! \ud83d\udcca Here\u2019s a simple example: \ud83d\udc49 Check out the live dashboard It\u2019s super easy to get started. Use the public available MonsterMQ at test.monstermq.com &hellip; <a href=\"https:\/\/www.rocworks.at\/wordpress\/?p=1450\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[68,77,54],"class_list":["post-1450","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-iot","tag-monstermq","tag-mqtt"],"_links":{"self":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1450"}],"version-history":[{"count":1,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1450\/revisions"}],"predecessor-version":[{"id":1451,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1450\/revisions\/1451"}],"wp:attachment":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}