How to create individual dashboards for different-2 clients

Hi Team,

Can someone from ELK team help me?

I have many clients whose VM's are running on a data center. I have used Icingabeat module, as all my monitoring is configured on Icinga tool. My goal is to create individual Kibana dashboards for each client. But the issue is, here I am getting a single dashboard for all the servers of my client's.

And I want to create Kibana Dashboard Client-wise (unique dashboard for each client). So, how is that possible. The icingabeat module is okay, but it is not serving my requirement, as I am getting a combined dashboard for all my client servers.

Do let me know, what strategy should I follow to achieve my purpose.

Regards,
Pankaj

Hi Team ELK,

Is there anyone who can help and guide me here? I am not seeing any help/suggestion from your side. Please help i am stuck.

Regards,
Pankaj N

Hi Pankaj,

This is a forum without any SLAs.

I hope you have installed the filebeat and enabled icinga module. If you are using any other beat, it might not be supported.

Coming to the question, Data is collected from all the VMs into one Elasticsearch Index. You just need to set search filters on your dashboard using kibana. Look at these link1, link2

Hi Aravind,

Thanks for your reply.
I have used the filters but still it is not fulfilling my requirement. How i can check the health of server's, individually for each client in a unique dashboard? Using filters we can't achieve this, as it simply fetch the related logs for the servers.

I want to have system metrice events, as it is shown on our Icinga Portal, but in form of Kibnana Dashbords. How we can read system metrices from Icinga itself.

Regards,
Pankaj

Hello Aravind/Team,

Can somebody please help me?

Regards,
Pankaj

As far as I understand your question, you are looking to collect multiple client's (machine/vm) data! Correct me if my assumption is wrong.

Then all the client's(VM) data in a index probably filebeat-*. While collecting this data, Filebeat, using its in built icinga module, also creates a dashboard on which you can use filters. The dashboard will change accordingly.

Please also take a look at spaces through which can divide dashboards and let only certain people look at certain data.

Using metricbeat on your systems, you can collect metric data.

--
Aravind.

  Hi Aravind,
 Thanks for your reply. I am not using the filebeat module here, instead i am using Icingabeat 
 module from ICINGA official site. And i want to show my clients the system metrices like load, 
 ping, disk space etc on Kibana dashboards for his/her VM's. So how it can be possible? 
 Installing metricbeat to all the servers is not possible, as we are having 1000's of servers. So, 
 using beat module, how we can do the same. 

 Yes, using filter i am getting the data for the VM's but how system metrices can be shown?


Regards,
Pankaj

Sorry, Icingabeat is a community and not maintained by us. Filebeat module is maintained by us. Please use that. It will create dashboard too.

Hi Aravind,

Thanks for your reply. I will try to use the filebeat module.

I do have a another question now, if i use the concept of filter & spaces with roles, then how i can create a different space for individual client's? As in INDEX pattern, there is gonna be a single index name, like for example, icingabeat-* or filebeat-. And when creating a role the single default index name (icingabeat- or filebeat-*) will be shown there.

So if i use filter with roles and spaces then how we can differntiate the things from a single INDEX pattern to support individual clients.

Regards,
Pankaj

Hi Aravind/Team,

Awaiting for you reply.

Regards,
Pankaj

Hi Aravind/Team,

Can someone please help me. I have been stuck here.

Regards,
Pankaj N

Hi Aravind,

Can you please help me here.

Regards,
Pankaj N

The easiest way to do this might be to have a single standard dashboard that each client has access to that you can copy to each customers space. This has to work against a standard index pattern, for which security need to only grant access to the correct set of data for the client. The most elegant way to do this would be through document-level security as you can have all data in a single index. This is however a feature that require a commercial license and not available with the basic license. The other option is to use separate indices per client (but make sure you do not end up with a lot of small shards). In order to make this match the index pattern, you could include the client ID as the first component matched by the wildcard. icingabeat-client1-... and icingabeat-client2-... would both match the pattern icingabeat-* but you could use the role-based access controls to only give clients access to the right data set.

Hi Christian,

Thanks for your reply :slight_smile:

If I go with the second option, then how I can create separate indices for each client?

This is where I am stuck right now. I didn't find any way to separate the indices client-wise. Please help me, how I can create separate indices so that I can apply them while creating roles.

Regards,
Pankaj N

You will need to do that in Logstash.

Okay, but can you please guide me, how and what changes i have to do in logstash?

You could just create a dashboard with a link to another dash board and use a query to filter each hostname. This is how the Metricbeat visualization works out of the box. You click on each host's name, and it links you to a host-level visualization with a filter on host.name.

Hi Collin,

Thanks for your reply.
Can you please tell me how to link the dashboards with other dashboards?

Regards,
Pankaj N

Hi Christian,

Can you please help me by telling how we can do this in Logstash.

Regards,
Pankaj