Introdução
Uma das perguntas mais frequentes que temos nos canais de Zabbix é: "Como eu faço para disponibilizar um gráfico/tela por cliente?"
Quando essas pessoas passam a usar os gráficos do Grafana alimentados pelos dados do Zabbix, o cenário não muda, o objetivo deste post é descrever como suprir essa demanda.
Pré-Requisitos
Eu parto do princípio que você já possui o Zabbix e o Grafana integrados e funcionando perfeitamente. Não abordarei esse tema, se ainda não domina essa parte, por favor visite esse
post.
Configurações no Zabbix Server
|
Usuários no Zabbix Server |
A única configuração que precisa ser feita no Zabbix Server é a criação dos usuários, nesse caso foram criadas duas contas: "Cliente 01" e "Cliente 02", ambos do tipo "Zabbix User" e membros do grupo "Clientes". Mas isso para demonstrar o conceito, o que você precisa ter em mente é que cada cliente tem que possuir um usuário no Zabbix Server com acesso aos hosts que lhe interessa.
Configuração no Grafana
A primeira coisa que vamos fazer é desativar a opção de usuários comuns de criarem Organizações. Para ficar bem simples, entenda cada organização como um cliente, logo, não queremos nossos clientes criando novas organizações.
# vi /etc/grafana/grafana.ini
# Allow non admin users to create organizations
;allow_org_create = true
allow_org_create = false
Reinicie o serviço
# service grafana-server restart (CentOS 6.x)
# systemctl restart grafana-server (CentOS 7.x)
# sudo service grafana-server restart (Debian/Ubuntu)
Criar os usuários
Clique no logo do Grafana // Admin // Global Users
|
Criação de usuários |
Clique no botão Add new user
|
Adicionar novos usuários |
Preencha os dados e clique no botão Create
|
Propriedades do usuário |
Observação: O Grafana não aceita o mesmo e-mail para usuários diferentes.
Repita o processo para o Cliente 02
Criar as organizações
Clique no logo do Grafana // Admin // New organization
|
Criação de Organizações |
Preencha o nome da organização e clique no botão Create
|
Adicionar novas organizações |
Você pode cadastrar informações adicionais para a organização.
|
Propriedades da organização |
Repita o processo para o Cliente 02
Clique no logo do Grafana // Admin // Global Users
|
Gerenciamento de usuários |
Na linha do Cliente 01, clique no botão Edit
|
Edição de usuários |
Na seção Organizations, preencha o nome da Organização e o nível de privilégio (Role), nesse momento vamos deixar como Admin e clique no botão Add
|
Alterando privilégio de usuário em organização |
Na linha da organização Main.org, altere o nível de privilégio (Role) para Admin
|
Alterando privilégio de usuário em organização |
Repita o processo para o Cliente 02
Entendendo um pouco mais sobre as organizações
No começo do post foi dito para vocês entenderem cada organização como um cliente, pois naquele momento essa informação era suficiente, mas agora precisamos detalhar um pouco mais esse tópico, na realidade cada organização é uma instância do Grafana. Cada organização possui suas dashboards, data sources e configurações, e, esses dado não são compartilhados entre elas. Desse modo o que foi dito antes, não está incorreto, mas essa explicação é importante para as próximas etapas.
Outro detalhe importante é a questão da amarração das permissões, se você estiver logado como admin, e usar a opção Switch to Cliente 01 (Organização), por exemplo, e criar uma dashboard nessa organização, ela não estará disponível para o usuário cliente 01 (Proprietário da organização Cliente 01), pois ela está amarrada ao perfil do usuário admin. O usuário admin está alterando a organização Cliente 01, dentro do universo dele, que é totalmente isolado do universo do usuário Cliente 01.
Configurações para cada cliente
Clique no logo do Grafana // Admin // Sign out
|
Logoff de usuário |
Realize o Login como Cliente 01
|
Login de usuário |
Clique no logo do Grafana // Cliente 01 // Switch to Cliente 01
|
Alterando o perfil de organização |
- Habilite o plugin do Zabbix para essa organização;
- Configure o Data Source para essa organização, utilizando as credenciais do Cliente 01 cadastrado no Zabbix Server;
- Crie a Dashboard para essa organização.
Repita o processo para o Cliente 02
Configurando as permissões definitivas
Realize o Login como Admin
Clique no logo do Grafana e certifique-se que o admin está no perfil da organização Main.org, se não estiver altere para esse perfil.
Clique no logo do Grafana // Admin // Global Users
|
Gerenciamento de usuários |
Altere o perfil da Organização Cliente 01 para Viewer e remova a organização Main.org, basta clicar no botão "X" na linha da organização.
|
Permissões de usuários |
Repita o processo para o Cliente 02
Visualizando as Dashboards
Execute o login como Cliente 01
Clique no nome da Dashboard, nesse caso Cliente 01
|
Seleção da dashboard |
Visualize os gráficos
|
Gráficos do Cliente 01 |
Repita o processo para o Cliente 02
|
Gráficos do Cliente 01 |
Você pode copiar o endereço do dashboard e passar para o seu cliente, nesse tutorial:
http://IP-SERVIDOR:3000/dashboard/db/cliente-01
http://IP-SERVIDOR:3000/dashboard/db/cliente-02
Referências
Grafana.org
Aécio Pires