コード例 #1
0
 def test_pretty_dashboards(self):
     grafanaHelper = GrafanaHelper(grafana_server_address=GRAFANA_ENDPOINT,
                                   grafana_token=GRAFANA_TOKEN)
     dashboards = grafanaHelper.get_dashboards()
     self.assertTrue(len(dashboards) >= 0)
     dashboards_md = grafanaHelper.pretty_dashboards(dashboards)
     self.assertIsNotNone(dashboards_md)
コード例 #2
0
    def grafana_render(self, mess, args):
        """Renders panel to slack"""
        self.log.info("args %s" % args)
        helper = GrafanaHelper(
            grafana_server_address=self.config['server_address'],
            grafana_token=self.config['token'])
        if args.parameters == "-":
            parameters = ""
        else:
            parameters = args.parameters

        self.log.info(
            "render(slug=%s, tuning_params='%s', period_from=%s, period_to=%s)"
            % ("{0}:{1}".format(args.dashboard, args.panel), parameters,
               args.start, args.finish))
        graphic = helper.render(slug="{0}:{1}".format(args.dashboard,
                                                      args.panel),
                                tuning_params=parameters,
                                period_from=args.start,
                                period_to=args.finish)
        image_pack = helper.get_grafana_image(graphic["imageUrl"])
        self.send_stream_request(mess.frm,
                                 open(image_pack["path"], 'rb'),
                                 name='render.png',
                                 stream_type='image/png')
        os.remove(image_pack["path"])
        return graphic
コード例 #3
0
 def grafana_dashboards_query(self, mess, query):
     """Fuzzy find dashboard by string"""
     helper = GrafanaHelper(
         grafana_server_address=self.config['server_address'],
         grafana_token=self.config['token'])
     result = helper.search_dashboards(query=query)
     return {'dashboards': result}
コード例 #4
0
 def grafana_dashboards_list(self, mess, args):
     """List of dashboards"""
     helper = GrafanaHelper(
         grafana_server_address=self.config['server_address'],
         grafana_token=self.config['token'])
     result = helper.get_dashboards()
     return {'dashboards': result}
コード例 #5
0
 def grafana_dashboard(self, mess, slug):
     """Dashboard details"""
     helper = GrafanaHelper(
         grafana_server_address=self.config['server_address'],
         grafana_token=self.config['token'])
     self.log.info("Getting %s dashboard details" % slug)
     result = helper.get_dashboard_details(slug)
     return {'dashboard': result, 'slug': slug}
コード例 #6
0
 def grafana_dashboards_bytag(self, mess, tag):
     """List of dashboards by tag"""
     helper = GrafanaHelper(
         grafana_server_address=self.config['server_address'],
         grafana_token=self.config['token'])
     self.log.info("sagrafana:  Getting dashboards for tag %s" % tag)
     result = helper.get_dashboards(tag=tag)
     return {'dashboards': result}
コード例 #7
0
 def test_render_name(self):
     grafanaHelper = GrafanaHelper(grafana_server_address=GRAFANA_ENDPOINT,
                                   grafana_token=GRAFANA_TOKEN)
     graphic = grafanaHelper.render("vyacheslav-2-node-stats:disk",
                                    "server=i-02ed6d01291ce5260")
     self.assertTrue("imageUrl" in graphic)
     self.assertTrue("link" in graphic)
     image_pack = grafanaHelper.get_grafana_image(graphic["imageUrl"])
     # image/png
     self.assertTrue(image_pack["path"] != "")
コード例 #8
0
 def grafana_status(self, mess, args):
     """Check aliveness of solution"""
     helper = GrafanaHelper(
         grafana_server_address=self.config['server_address'],
         grafana_token=self.config['token'])
     try:
         result = helper.get_dashboards()
         return "Seems alive - {0} dashboards found {1}".format(
             len(result), result)
     except Exception as err:
         return "Oops: {0}".format(err)
コード例 #9
0
 def test_render(self):
     grafanaHelper = GrafanaHelper(grafana_server_address=GRAFANA_ENDPOINT,
                                   grafana_token=GRAFANA_TOKEN)
     # render(slug=aws-ec2:0, tuning_params='', period_from=None, period_to=None)
     graphic = grafanaHelper.render(
         slug="vyacheslav-2-node-stats:1",
         tuning_params="server=i-04bb007011e377c88",
         period_from=None,
         period_to=None)
     self.assertTrue("imageUrl" in graphic)
     self.assertTrue("link" in graphic)
     image_pack = grafanaHelper.get_grafana_image(graphic["imageUrl"])
     # image/png
     self.assertTrue(image_pack["path"] != "")
コード例 #10
0
 def test_get_dashboards(self):
     grafanaHelper = GrafanaHelper(grafana_server_address=GRAFANA_ENDPOINT,
                                   grafana_token=GRAFANA_TOKEN)
     dashboards = grafanaHelper.get_dashboards()
     self.assertTrue(len(dashboards) >= 0)
コード例 #11
0
 def test_get_dashboard_details(self):
     grafanaHelper = GrafanaHelper(grafana_server_address=GRAFANA_ENDPOINT,
                                   grafana_token=GRAFANA_TOKEN)
     dashboard = grafanaHelper.get_dashboard_details("aws-ec2")
     self.assertTrue(dashboard is not None)
コード例 #12
0
 def test_grafana_dashboards_search(self):
     grafanaHelper = GrafanaHelper(grafana_server_address=GRAFANA_ENDPOINT,
                                   grafana_token=GRAFANA_TOKEN)
     dashboards = grafanaHelper.search_dashboards("aws")
     self.assertTrue(len(dashboards) >= 0)