WEBVTT

00:00.360 --> 00:03.450
So enough of looking at visualizations now with a test data.

00:03.450 --> 00:05.720
DB Let's use a real data source.

00:05.730 --> 00:07.200
The first one will be a mask.

00:07.200 --> 00:11.670
Your data source will also need to install a collective for and then we can install a dashboard.

00:11.730 --> 00:11.960
Okay.

00:12.090 --> 00:15.060
So what we can do is get ourselves a dedicated mask crossover.

00:15.060 --> 00:17.220
Don't use an existing production server for now.

00:17.220 --> 00:20.850
We can create one using the digitalization coupon from earlier, or you might have a different cloud

00:20.850 --> 00:21.600
provider set up.

00:21.750 --> 00:22.170
Okay.

00:22.170 --> 00:26.760
So looking at the diagram so far on a server, might want to take you to be a microphone and the speaker

00:27.180 --> 00:34.810
has an IP address of ports 84, 43 and actually 22 as well for this H we've been playing around with

00:34.810 --> 00:36.840
the test data DB data source.

00:36.840 --> 00:40.440
We're now moving on to the micro data source, which is one of many.

00:40.470 --> 00:45.000
So I'm going to install a micro server first, then install a collector.

00:45.030 --> 00:50.850
That collector will then prepare tables in a time series format that we can use in profile.

00:50.940 --> 00:55.560
Okay, so first thing, let's get a nice crossover I digitalization I'm going to create new droplet.

00:55.560 --> 01:00.210
Many cloud providers will have a specialized database option.

01:00.210 --> 01:01.110
I'm not going to do that.

01:01.110 --> 01:02.640
I'm just going to create a droplet.

01:02.640 --> 01:07.740
I'm going to install it open to 20 minimum spec and I'm going to manually install my Q onto that.

01:08.250 --> 01:08.490
Okay.

01:08.490 --> 01:14.280
So open to 20 basic $6 a month I can put anywhere I like Amsterdam, for example, I'm going to use

01:14.280 --> 01:15.240
my size H key.

01:15.240 --> 01:15.990
I already have one.

01:16.020 --> 01:17.580
You can use a password if you want.

01:18.060 --> 01:20.010
I'm going to call it my school.

01:20.040 --> 01:20.670
Like that.

01:20.880 --> 01:21.810
Create droplet.

01:25.340 --> 01:25.700
Okay.

01:25.700 --> 01:29.300
So that's the IP address I've been given as a public IP copy that.

01:29.420 --> 01:31.070
I'm now going to set that up in putty.

01:31.070 --> 01:32.270
That's what I use for site.

01:32.620 --> 01:36.110
So IP address in there, I'm going to call it my secure.

01:36.140 --> 01:43.160
I'm going to set the authentication, my private key, because I'm using this as a key method and I'm

01:43.160 --> 01:47.480
going to change my parents to be larger font because it's hard to say otherwise.

01:47.510 --> 01:47.810
Okay.

01:47.810 --> 01:50.840
Before I open that, I just save that.

01:50.900 --> 01:51.170
Okay.

01:51.170 --> 01:52.340
So my school, there it is.

01:52.340 --> 01:52.590
There.

01:52.610 --> 01:53.540
So I can open that up.

01:53.750 --> 01:55.520
This is my new my SQL Server.

01:55.520 --> 01:56.630
I'm logging on this route.

01:56.990 --> 01:57.530
There we go.

01:57.560 --> 01:57.950
There.

01:57.950 --> 02:01.400
So route at my school, this is another server.

02:01.400 --> 02:08.000
So I've got two servers now I can find a server at that IP address and a micro server at that IP address.

02:08.030 --> 02:09.750
It's going to update my documentation.

02:09.770 --> 02:10.370
There we go.

02:10.460 --> 02:10.940
Very good.

02:10.940 --> 02:16.160
I need to have open port 22 and 3306, but more about that after.

02:16.190 --> 02:20.300
Okay, first thing you normally do and get anybody server is update the app to cache so it knows about

02:20.300 --> 02:21.500
the latest packages.

02:23.900 --> 02:24.280
Okay.

02:24.320 --> 02:27.710
Now we're going to install my SQL Server onto that server.

02:27.710 --> 02:30.410
So sudo ipt install my secure server.

02:31.220 --> 02:32.840
Now we go now precious.

02:33.350 --> 02:36.530
Okay, now I'm creating a brand new micro server.

02:36.830 --> 02:38.900
I don't want to use a production server just yet.

02:39.560 --> 02:40.400
I can do that later.

02:40.400 --> 02:42.710
So I recommend not using a production server.

02:42.710 --> 02:47.420
Just use something that we can experiment with and then delete when you're finished with it.

02:48.200 --> 02:49.070
Okay, that's done.

02:49.100 --> 02:50.780
Let's check its status.

02:52.300 --> 02:53.500
Very good active running.

02:53.530 --> 02:56.240
Now it's important to know what version you've just installed.

02:56.260 --> 03:01.060
So with that you can run my skill half and capital V like that version eight.

03:01.120 --> 03:03.210
That's important to know because we'll use it at the moment.

03:03.220 --> 03:03.520
Okay.

03:03.520 --> 03:06.910
So we don't have the server module server and that's my IP address.

03:06.920 --> 03:08.380
Your IP address is going to be different.

03:08.440 --> 03:11.350
Next thing I'm going to do is I need to install a collector.

03:11.410 --> 03:17.620
All data sources will have some kind of collection process going on, preparing data from the end data

03:17.620 --> 03:22.570
source and saving it into a format that Bafana can quickly retrieve from.

03:22.570 --> 03:28.330
That will usually be a table of some sort that contains rows with a timestamp and one or more values.

03:28.330 --> 03:32.890
Okay, so for this, Mike, your data source, there are several options that we can choose from.

03:33.070 --> 03:37.960
I'm going to use a dashboard and collector that you can get from the Gryphon Dashboards website.

03:38.080 --> 03:38.440
Okay.

03:38.440 --> 03:44.260
So the dashboard I'll use will be the popular my to ask you all simple dashboard from this link here.

03:44.290 --> 03:47.260
So open that this is the Carvana Dashboards page.

03:47.530 --> 03:48.400
We scroll down.

03:48.400 --> 03:54.610
I have my SQL data source selected from this list of many, and it's this one here to my well simple

03:54.610 --> 03:55.150
dashboard.

03:55.150 --> 03:59.140
There are several others that you can try out, but I always found this one to be the best.

03:59.350 --> 04:03.850
Okay, so there's some sample images here, what it will look like when we've finished.

04:04.920 --> 04:05.240
Okay.

04:05.580 --> 04:06.760
It's dependencies.

04:06.780 --> 04:09.030
Our minimum grant of 8.1.2.

04:09.030 --> 04:11.610
And we use these visualizations down here.

04:12.300 --> 04:18.600
Now, this dashboard requires a specific collector and you can see that written here in the reviews

04:18.600 --> 04:20.910
section down here.

04:20.920 --> 04:23.300
You must use a collector from there.

04:23.310 --> 04:25.130
So I have a link to that also.

04:25.140 --> 04:26.940
So the collector will be from here.

04:26.970 --> 04:30.930
That's the collector will install, it's on GitHub and I'm using version eight.

04:30.930 --> 04:33.060
So I'll need to download this script here.

04:33.090 --> 04:39.090
My to underscore, I'd ask you if you're using version five of my show, then download that script.

04:39.150 --> 04:45.420
So on my documentation of prepare a get a command here, you can copy that and that's downloading the

04:45.420 --> 04:50.940
my to underscore idisk on my my server right click so pastes.

04:50.970 --> 04:55.980
Okay so you get raw GitHub user, etc. my collector master my two ideas.

04:56.010 --> 04:56.490
Cool.

04:56.490 --> 04:59.780
And so that's downloaded 100% very fast.

04:59.790 --> 05:01.200
We need to edit that file.

05:01.210 --> 05:03.900
So Sudo no I'll use that I for that.

05:04.020 --> 05:07.410
Nano is a text editor for Linux sudo.

05:07.440 --> 05:08.250
My two ideas.

05:08.250 --> 05:08.580
Cool.

05:08.610 --> 05:10.340
Now we scroll down.

05:10.350 --> 05:13.770
What it's actually doing is creating a database called my two.

05:13.800 --> 05:20.280
It will create some tables in that database where it will store statistics about how skill server.

05:21.450 --> 05:27.120
And these are the commands that will create and run if you are good at school.

05:27.150 --> 05:31.500
You might find this very informative, but if you don't know high school, then you don't really need

05:31.500 --> 05:33.330
to know this to understand professional.

05:34.530 --> 05:40.650
But what the collector is essentially made from is a stall procedure which will collect daily stats.

05:41.800 --> 05:43.660
And it will run every 10 minutes.

05:44.200 --> 05:47.650
Now, right at the end, we need to uncomment these last three lines.

05:48.430 --> 05:51.250
We need to create a user called My Two Hat.

05:51.340 --> 05:55.680
That's the wild card for this server identified by anything like this is the password.

05:55.690 --> 05:56.800
I'm just going to keep it simple.

05:56.830 --> 05:59.010
I can use the word password grant.

05:59.020 --> 06:05.470
All that means all permissions on my two dot star, which means all the tables in the mitu database

06:05.470 --> 06:06.580
to the user.

06:06.610 --> 06:13.510
My to add wildcard this server because to my two user is going to be querying global statistics about

06:13.510 --> 06:14.500
the module server.

06:14.500 --> 06:21.490
It also needs to have select permission on the performance schema database all tables to my to same

06:21.490 --> 06:21.880
user.

06:21.970 --> 06:23.860
Now this is all about the collect.

06:24.040 --> 06:26.170
So control x to save that.

06:26.380 --> 06:26.920
Yes.

06:27.490 --> 06:30.930
What I've just done was installed the script for the collector.

06:30.940 --> 06:33.130
When we run the script it will credit stored procedure.

06:33.160 --> 06:38.320
It will run every 10 minutes running a command called Show Global Status and store that data into a

06:38.320 --> 06:41.860
table in a time series fashion so that we can clear that using Gravano.

06:41.890 --> 06:47.590
Now, the last three lines we commented were about creating this user called Meitu just here, and it

06:47.590 --> 06:51.010
has a grant select permission on everything in performance schema.

06:51.010 --> 06:52.270
We don't need to run that script.

06:52.300 --> 06:59.560
We can run that script using my so copy that line just there and on your server my school run my to

06:59.560 --> 07:05.470
ID is Kuo press enter case that's just run that mask your script that we just edited using nano and

07:05.470 --> 07:10.210
it would accredit a new user we can now open a module prompt and do some simple tests.

07:10.210 --> 07:16.510
So just type my school like enter and it should present you with a module prompt that greater than sign

07:16.510 --> 07:17.110
with the mask.

07:17.110 --> 07:18.010
Yeah that's the mask.

07:18.010 --> 07:18.670
You are prompt.

07:18.670 --> 07:20.890
We can now start typing skill commands.

07:21.170 --> 07:23.800
So the first one will do show databases.

07:24.190 --> 07:25.360
Show databases.

07:25.360 --> 07:30.760
And we have several databases on this as your server, the new one we just credit from the script is

07:30.760 --> 07:35.620
called two, has several tables that our collector will be using and Gravano will be rating from this

07:35.620 --> 07:40.810
also the performance schema type that already exists on the Moscow server, but we've created that my

07:40.810 --> 07:46.810
two user, which can read from the performance schema and summarize information into the my two table

07:46.810 --> 07:50.320
so that my two user and my two table are name the same thing.

07:50.320 --> 07:55.960
But just beware that this is the database called My Two and there's a user that we also created called

07:55.960 --> 07:58.420
my two with select permissions on the performance schema.

07:58.450 --> 07:58.750
Okay.

07:58.780 --> 08:05.110
Now part of what's important about the collector is that, well, we use an event scheduled to run that

08:05.110 --> 08:10.750
every 10 minutes, so copy that line pasted in show variables where variable name equals event scheduler.

08:10.750 --> 08:12.550
If it says on that is good.

08:12.580 --> 08:18.190
If it says off like it used to in the older versions of Moscow, then would have to do some things to

08:18.220 --> 08:18.970
enable it.

08:18.970 --> 08:20.620
We don't have to do that case.

08:20.620 --> 08:24.760
The next line let's have a look at some information about our users in our database.

08:25.240 --> 08:27.730
Can select host user from my secure DOT user.

08:27.790 --> 08:34.130
Okay, so we have some in-built users that we use and we also have our own one that we created to hold

08:34.150 --> 08:34.780
my two.

08:34.810 --> 08:41.260
And my two is the specific user that the collector will use to read that performance schema and summarize

08:41.260 --> 08:43.650
it into the my two that will query in Gryphon.

08:44.140 --> 08:44.450
Okay.

08:44.500 --> 08:47.740
Next, let's look at the my two database.

08:47.740 --> 08:49.480
So use my two.

08:49.690 --> 08:55.450
Now switching to the my two database, it's to show tables, finish with a semicolon.

08:55.720 --> 08:58.150
So there's two tables in it called current and status.

08:58.150 --> 09:01.180
The collector will be saving data into those two tables.

09:01.180 --> 09:08.290
So let's see what there is now select all from current and each with a semicolon and there's some data

09:08.290 --> 09:08.620
there.

09:08.620 --> 09:10.000
So can do the same thing.

09:10.000 --> 09:11.590
Select all from status.

09:12.760 --> 09:14.750
We get get and this morning, too.

09:14.780 --> 09:17.450
Now, if you want to exit the mosque you prompt just talk.

09:17.510 --> 09:18.590
Quit like that.

09:18.920 --> 09:22.250
So we're back into the normal ubuntu bash prompt now.

09:22.340 --> 09:22.550
Okay.

09:22.610 --> 09:23.100
That's very good.

09:23.140 --> 09:29.630
So we now have the collector running and this data there, we can now go into fauna and try and set

09:29.630 --> 09:30.470
up the data source.

09:30.500 --> 09:35.270
It's not going to work completely, but it's good to see what kind of problems will have so that we

09:35.270 --> 09:36.170
know how to fix them.

09:36.230 --> 09:41.510
Okay, so, inka fauna, I'm going to go down here to configuration data sources and I'm going to add

09:41.510 --> 09:42.350
a data source.

09:42.380 --> 09:46.200
Scroll down until I find my school select.

09:46.220 --> 09:51.020
Okay, so this is like the test out a DB, but instead this is a back thinking to my skill set.

09:51.080 --> 09:54.380
So the host will be the IP address of my skill server.

09:54.410 --> 09:56.860
Call 3306 the IP address.

09:56.870 --> 09:57.380
What's that?

09:57.450 --> 10:00.670
Okay, so host call and 3306.

10:00.770 --> 10:05.090
Now, these things aren't going to work initially, but we'll just show you what those problems will

10:05.090 --> 10:05.340
be.

10:05.360 --> 10:08.600
The database that I'll be connecting to will be called my two.

10:08.630 --> 10:13.040
Now, that's the database that we just created by run that script, and our collector will be saving

10:13.040 --> 10:13.850
data into that.

10:13.850 --> 10:18.340
My two database, the user that we'll use is called Gryphon with a password.

10:18.350 --> 10:19.330
I'm going to keep it simple.

10:19.340 --> 10:20.990
I'm going to use the word password.

10:21.250 --> 10:22.900
I can see that if I click that.

10:22.910 --> 10:24.500
So that's the simple password I'm using.

10:24.500 --> 10:26.090
You can use something a lot more complicated.

10:26.170 --> 10:26.450
Okay.

10:26.480 --> 10:32.060
Now this user doesn't yet exist on our skill server, so walk right that also depending on where you

10:32.060 --> 10:37.400
got your skill server from and how we've installed it, we won't be able to connect on Port 3306, but

10:37.400 --> 10:38.230
we'll get on to that also.

10:38.240 --> 10:41.630
So let's just save and test and see what we get.

10:41.720 --> 10:42.020
Okay.

10:42.020 --> 10:46.700
So data source updated, but we got a problem connecting to the server will resolve that.

10:47.500 --> 10:47.630
Okay.

10:47.660 --> 10:48.620
So several things to do.

10:48.630 --> 10:52.740
So one of those is to create a user called Griffon on that server.

10:52.760 --> 10:55.370
Now I'm creating a new user because it's advised to.

10:55.370 --> 10:58.250
So Gryphon does not validate the query to site.

10:58.260 --> 11:03.420
So queries can contain any obscure segment, for example, use on the database or drop tables or do

11:03.440 --> 11:06.190
any other malicious thing and use carvana as a vector.

11:06.200 --> 11:12.260
So what you do is you create a specific user with minimum permissions, for example, select only on

11:12.260 --> 11:15.090
a specified database and tables that you want to query.

11:15.110 --> 11:20.720
So I could also use the my to user, but the my to use our has advanced permissions because you can

11:20.720 --> 11:25.430
also read from the performance schema table and also insert data.

11:25.440 --> 11:30.800
So I'm creating a specific user culture fauna with only select permissions and select permissions on

11:30.800 --> 11:33.110
all the tables in the My two database.

11:33.470 --> 11:35.320
So first thing will do is create a user.

11:35.330 --> 11:41.210
So going back onto our my skill server, I'm on my skill server, I'm going to log back into the module

11:41.210 --> 11:41.660
prompt.

11:41.690 --> 11:42.890
So type in mask.

11:42.890 --> 11:46.280
You will enter like that and will create a user.

11:46.310 --> 11:49.580
So create user co-founder at identified by password.

11:49.640 --> 11:53.030
Now we need to know what the IP address is all about on a server.

11:53.030 --> 11:59.050
So replace that and the IP address of microphone or server is this value that I saved earlier.

11:59.110 --> 11:59.450
Okay.

11:59.450 --> 12:02.960
So I'm creating a new user called Gryphon at that IP address.

12:03.020 --> 12:08.300
So that will be used for connecting to the skill server from microphone to server.

12:08.300 --> 12:12.230
And that's the username that my expect and that's the password I'm using.

12:12.230 --> 12:13.430
It's very simple, just password.

12:13.700 --> 12:16.040
And that's the password that I entered here before.

12:16.100 --> 12:16.420
Okay.

12:16.430 --> 12:18.230
So identified by password.

12:18.230 --> 12:24.890
Presenter So we have a new user now I'm going to select on that user to all the tables in the Meitu

12:24.890 --> 12:29.060
database so that user to find at 142.

12:30.500 --> 12:30.890
Okay.

12:30.890 --> 12:36.740
So I'm allowing that you're finally use it to read all the tables in the my two database press enter

12:37.010 --> 12:38.010
flush privileges.

12:38.840 --> 12:46.070
And before we go, we can verify that user exists by typing in select host user from my skill user.

12:46.550 --> 12:47.150
And then we go.

12:47.150 --> 12:51.580
We have a new user called a co-founder and that's the host that it will be connected properly.

12:51.710 --> 12:52.520
So quit.

12:52.520 --> 12:54.860
Now that's not all the problems solved yet.

12:54.870 --> 12:58.790
Let's try connecting again to see what error we get now in the data source.

12:59.390 --> 13:04.220
So save and test data source updated, but we still have a problem now by default.

13:04.220 --> 13:07.610
When you were still my school, it won't allow external connections.

13:07.610 --> 13:14.420
So my server, that IP address isn't able to connect to the running module process.

13:14.420 --> 13:14.750
Okay.

13:14.750 --> 13:20.210
So to allow remote connections, we need to open the module configuration file that there will use that

13:20.210 --> 13:26.840
command pseudo nano adc might kill my boss know scroll down and add this section here.

13:27.350 --> 13:33.230
This will bind my school to all IP addresses on your server being the external IP address as well as

13:33.230 --> 13:33.980
localhost.

13:34.010 --> 13:37.340
Because right now by default it's only bound to local host cases.

13:37.340 --> 13:41.670
So that control ex wife is enter now to restart my skills.

13:41.670 --> 13:45.290
So copy that sudo service module restart.

13:47.130 --> 13:48.690
Let's check its status.

13:49.560 --> 13:49.930
All right.

13:49.930 --> 13:51.290
Good active running control.

13:51.290 --> 13:52.480
See, to get out of that now.

13:52.510 --> 13:56.770
If we try again to connect using the Morse code data source, it should be okay.

13:56.780 --> 13:57.640
Save and test.

13:57.670 --> 13:57.970
Okay.

13:58.000 --> 13:58.810
Database connection.

13:58.810 --> 13:59.290
Okay.

13:59.320 --> 14:04.480
So when connecting to external data sources, you are going to have lots of different issues related

14:04.480 --> 14:06.090
to connectivity and permissions.

14:06.100 --> 14:09.250
So on my my skill server, I have an IP address.

14:09.250 --> 14:13.000
I have ports 22 and 3306 already open.

14:13.000 --> 14:17.080
I'm using an unrestricted ubuntu server with no port blocking by default.

14:17.080 --> 14:19.120
So 3306 works already.

14:19.120 --> 14:24.730
I've created a user culture rafinha at the IP address of my Gryffindor server because that's how school

14:24.730 --> 14:26.020
is going to see the connection.

14:26.020 --> 14:32.380
I've also bound my school to 0000 so that it also binds to the external IP address.

14:32.410 --> 14:39.250
Now if you're using us or any other cloud provider, port 3306 will probably also need to be opened

14:39.250 --> 14:41.230
in your security group settings.

14:41.230 --> 14:45.700
However you do this in your cloud provider, I didn't need to do that in my digitalization server because

14:45.700 --> 14:46.840
it's already open by default.

14:46.870 --> 14:48.220
Okay, so that's good.

14:48.250 --> 14:49.180
We can get out of that.

14:49.180 --> 14:55.930
Now, if we go to the Explore tab, just click that and select the mask will data source at the top.

14:56.020 --> 15:02.740
We will now be able to run queries on that my to table now the mask will query wizard here is quite

15:02.740 --> 15:06.820
hard to understand first so instead go straight to the skill option.

15:06.820 --> 15:11.590
If you're familiar with school, that statement will make some sense to you.

15:11.590 --> 15:12.850
But anyway, I'm not going to run that.

15:12.850 --> 15:17.020
What I want to run is this section here, so copy that and replace that.

15:17.020 --> 15:19.030
And now run query.

15:19.030 --> 15:19.600
And there we go.

15:19.630 --> 15:20.980
We start to get some data.

15:20.980 --> 15:27.730
So we're reading data from my two dots status where variable name equals threads connected in order

15:27.730 --> 15:28.990
by time of sending.

15:28.990 --> 15:32.950
We don't have to really understand what's going on there yet, but you will understand that item anyway.

15:32.950 --> 15:36.820
That just verifies that we're connecting to the mosquito database.

15:36.820 --> 15:38.830
Through it, they might kill data source.

15:38.860 --> 15:41.170
The next part is about creating the dashboards.

15:41.170 --> 15:43.300
So dashboards manage.

15:43.300 --> 15:44.770
We're going to import a dashboard.

15:44.830 --> 15:46.930
We're going to import the dashboard from Gravano.

15:47.050 --> 15:47.380
Okay.

15:47.380 --> 15:51.940
So back on onto your Fauna Labs website, all to mask your simple dashboard.

15:52.090 --> 15:55.060
There is an ID just to you get this dashboard.

15:55.060 --> 15:57.790
So copy that to clipboard seven, nine, nine, one.

15:57.790 --> 16:02.140
Go back into this graph on a page here, type in the ID or paste and load.

16:02.140 --> 16:04.280
Okay, so it's found to my kill.

16:04.310 --> 16:07.810
Simple dashboard followed a general we could create around photos if we wanted to.

16:07.810 --> 16:08.590
I'm not going to do that.

16:08.620 --> 16:12.400
Select a default data source being my school and now import.

16:12.610 --> 16:18.070
Okay, so we now have an import that we've just downloaded from Bafana, which is built specifically

16:18.070 --> 16:21.130
for that collector that we just installed and set up in MySchool.

16:21.130 --> 16:26.050
And we've created the users, we've opened the appropriate ports, we've made appropriate changes to

16:26.050 --> 16:30.100
my keyboard to allow the external connection and we can now start getting data.

16:30.100 --> 16:35.350
Now the collector runs every 10 minutes, so we're not going to see a real lot for now.

16:35.350 --> 16:38.440
Every 10 minutes there'll be a new update to these graphs.

16:38.440 --> 16:44.590
So what I'll do is pause my recording and come back in an hour and we'll see some more data written

16:44.590 --> 16:46.270
here about our MySchool server.

16:46.330 --> 16:46.780
Excellent.

16:47.050 --> 16:47.470
Okay.

16:47.470 --> 16:52.180
So my MySchool data source has been running for about two and a half hours.

16:52.270 --> 16:55.510
I set that to 3 hours, so see it.

16:55.810 --> 16:56.090
Okay.

16:56.140 --> 17:01.060
So also note that my database server that I just installed isn't working very hard.

17:01.060 --> 17:04.240
It's not a production server, so there isn't really much to see here.

17:04.600 --> 17:05.950
It's not working hard at all.

17:05.950 --> 17:10.930
Anyway, with each of these visualizations, we can look into those and inspect them a little more to

17:10.930 --> 17:11.620
see what they are.

17:11.620 --> 17:18.100
For example, I can press a on these threats and errors here, and if I scroll up, that's the query

17:18.100 --> 17:21.070
the cofounder is using, which is worth being aware of.

17:21.760 --> 17:27.010
There are two queries running in here I am B threads connected threads running a few other particular

17:27.010 --> 17:30.640
properties from the data source we see on the one single graph.

17:30.670 --> 17:32.560
So you can see how that is put together.

17:32.560 --> 17:39.810
Another thing here where a graph has been coded to 180 days, despite me expecting 3 hours update.

17:39.820 --> 17:46.450
So if I edit that one and if I click query options, I can change that 180 days to be two days.

17:46.450 --> 17:50.140
For example, there isn't two days of data, so it's still not that interesting to see.

17:50.140 --> 17:55.480
But I could apply that and now says last two days there's another one down here, last 14 days, this

17:55.480 --> 17:59.320
is a heat map and will become more interesting as it fills up.

17:59.410 --> 18:00.850
Let's change that to two days.

18:02.030 --> 18:03.080
Well, just to see.

18:03.920 --> 18:05.270
Okay, so apply that.

18:05.270 --> 18:06.790
So that's now showing two days.

18:06.800 --> 18:12.230
This will look more interesting when it's been running for many days and especially if it was actually

18:12.230 --> 18:17.090
a production secured database use by a website or other application anyway.

18:17.090 --> 18:24.080
So I hope you can see from all that that setting up a dashboard is actually a very complicated process.

18:24.080 --> 18:25.850
We will set up many dashboards.

18:25.850 --> 18:27.800
The MySchool was the first one.

18:28.280 --> 18:30.360
There'll be more as we go across.

18:30.380 --> 18:35.690
Important thing about setting up dashboards in profile is that you need to consider that the graphic

18:35.690 --> 18:40.820
on a server is going to have potentially privileged access to the end data source you're connecting

18:40.820 --> 18:41.060
to.

18:41.060 --> 18:47.660
So you need to manage permissions and security so that your phone can't be used as a vector to steal

18:47.660 --> 18:49.400
data or even destroy data.

18:49.400 --> 18:55.190
So that was important that I had set up appropriate uses and permissions and IP restrictions, which

18:55.190 --> 19:00.530
leads me on to setting up IP tables rules now for my server on 3306.

19:00.530 --> 19:05.420
Since I don't have a dedicated firewall on my server, I'm going to manage access to Port 3306 using

19:05.420 --> 19:06.260
IP tables.

19:06.350 --> 19:06.530
Okay.

19:06.620 --> 19:10.880
So I'm on my, my school server, I'm just going to type in IP tables.

19:10.880 --> 19:16.010
I find there are no dedicated rules on this, so I'm going to create one for port 3306.

19:16.250 --> 19:22.850
So if I scroll to the bottom their IP tables, import source or Fana ESP code dot net, that's my server

19:22.880 --> 19:25.400
destination port 3306 accept.

19:25.490 --> 19:31.530
So what this rule will do is accept incoming connections to this server from a server with the IP address,

19:31.530 --> 19:32.870
sacrifice B code on it.

19:32.880 --> 19:39.260
So I enter that and if I do IP tables l again, it has updated that domain name to be the actual IP

19:39.260 --> 19:39.560
address.

19:39.560 --> 19:42.260
So I could have actually just taught the IP address in there, but doesn't matter.

19:42.290 --> 19:44.960
You can type the domain of your group on a server or the IP address of it.

19:45.020 --> 19:46.970
That is my IP address and that is my domain.

19:46.970 --> 19:53.510
Anyway, the other thing I should drop all are the connections to port 3306 like that IP tables.

19:53.540 --> 19:55.820
Okay, now let's check that IP tables URL.

19:55.850 --> 19:59.630
Okay, so I'm accepting connections to port 3306.

19:59.630 --> 20:04.340
It's replace that with my show just there automatically and dropping everything else.

20:04.430 --> 20:11.030
So the only server that can remotely connect to my mask server is microphone a server.

20:11.030 --> 20:12.440
So these are things you should consider.

20:12.440 --> 20:18.140
Now with the username, it's especially important that that user that is connecting to the server has

20:18.140 --> 20:24.200
only read only permissions, so that I can't do escalated commands such as drop database, drop table

20:24.200 --> 20:26.540
or read data from tables on the database.

20:26.560 --> 20:27.830
So these are things to consider.

20:27.830 --> 20:33.050
Anyway, this was a long video, a lot of steps involved in getting a micro data source to work.

20:33.050 --> 20:37.640
I'm using one kind of dashboard that's called the My Two Simple Dashboard.

20:37.670 --> 20:41.900
You will find other dashboards for my school throughout the incident, and they'll all have a different

20:41.900 --> 20:43.880
process for setting them up.

20:43.880 --> 20:49.970
You can create a whole set up yourself, but this example has shown that it's quite a large jump in

20:49.970 --> 20:50.450
skill.

20:50.450 --> 20:55.010
You need to have some very good MySchool knowledge to be able to create a dashboard from the ground

20:55.010 --> 20:56.450
up for a more secure server.

20:56.450 --> 20:59.030
And that is the same for any data source that you connect to.

20:59.030 --> 21:00.860
So that's why it's important not to send the font.

21:00.860 --> 21:07.340
It doesn't actually exist by itself, despite the refinery's actually promoted as a magic tool for everything.

21:07.340 --> 21:11.930
Getting it to work properly does require in-depth knowledge of the data source that you're connecting

21:11.930 --> 21:12.200
to.

21:12.260 --> 21:15.410
Anyway, we'll move on to other data sources and that will start to make more sense.

21:15.410 --> 21:19.070
Now, if you didn't understand all the things in this video, it doesn't matter.

21:19.070 --> 21:20.210
You have the video forever.

21:20.240 --> 21:25.370
It's a long video and you can move on to other data sources and come back to that when you've had some

21:25.370 --> 21:26.210
time away from it.

21:26.240 --> 21:26.780
Excellent.

21:26.840 --> 21:30.230
In the next few videos, we'll do some more MySchool examples.

21:30.470 --> 21:30.890
Excellent.
