RT,
RT, muito
muito mais
mais que
que um
um sistema
sistema
de
de acompanhamento
acompanhamento de
de chamados
chamados
Italo Valcy <[email protected]>
Ponto de Presença da RNP na Bahia
Universidade Federal da Bahia
NetCafe, 25/Nov/2011
1
Italo Valcy RT: mais que um sistema de chamados
Licença de uso e distribuição
Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da:
Creative Commons License:
Atribuição - Uso não comercial - Permanência da Licença
http://creativecommons.org/licenses/by-nc-sa/3.0/
2
Italo Valcy RT: mais que um sistema de chamados
O que é o RT?
Em um call center...
Você faz uma reclamação;
a companhia registra o chamado e lhe dá um
número de protocolo;
enquanto o chamado está aberto, o problema é
encaminhado para solução (podendo ser
controlado por outro chamado);
tendo o problema resolvido, o chamado é
fechado e aquele número (provavelmente)
jamais é usado novamente.
3
Italo Valcy RT: mais que um sistema de chamados
O que é o RT?
No RT é um pouco parecido
O fundamento do RT (Request Tracker) é
colocar ordem em chamados
Os chamados são abertos, têm um tempo de
vida e são então fechados.
Um série de informações são mantidas junto
aos chamados
4
Italo Valcy RT: mais que um sistema de chamados
O que é o RT?
É um sistema de controle de tíquetes, de
código aberto
Mantido pela Best Pratical
Maior parte escrita em perl
5
Italo Valcy RT: mais que um sistema de chamados
O que é o RT?
Interface web parecida com um webmail
Pastas compartilhadas (Filas)
Threads numeradas (tíquetes)
Funcionalidades adicionais para os tíquetes
Status
Prioridade
Responsável
etc.
6
Italo Valcy RT: mais que um sistema de chamados
O que é o RT?
Exemplo de uso
Helpdesk
Operação de redes
Bug tracking
Serviços para clientes
Gerenciamento de projetos
7
Italo Valcy RT: mais que um sistema de chamados
Escopo da palestra
Overview de instalação e configuração
Principais aspectos da utilização
Custom Fields e Scrips
Extensões
8
Italo Valcy RT: mais que um sistema de chamados
Arquitetura do RT
9
Italo Valcy RT: mais que um sistema de chamados
Instalação e configuração
Versão estável atual: 4.0 (4.0.4)
Última estável: 3.8 (ainda com suporte, 3.6 sem
suporte)
Último tarball
http://download.bestpractical.com/pub/rt/release/rt.tar.gz
Dependências via CPAN
Instruções no README
10
Italo Valcy RT: mais que um sistema de chamados
Instalação e configuração
Distribuições baseadas em Debian:
aptitude install request-tracker3.8 rt3.8-db-postgresql
Configurar apache (modperl, fastcgi, speedycgi)
Configurações específicas do RT:
Set($rtname, 'NOC PoP-BA/RNP');
Set($Organization, 'NOC PoP-BA/RNP');
Set($CorrespondAddress , '[email protected]');
Set($CommentAddress , '[email protected]');
Set($WebPath , "/rt");
Set($WebBaseURL , "https://suporte.pop-ba.rnp.br");
Set($DatabaseType, "Pg");
Set($DatabaseHost, 'db-server.domain');
Set($DatabaseUser , 'myuser');
Set($DatabasePassword , 'mypassword');
Set($DatabaseName, 'mydbname');
Set($LogToSyslog
, undef);
Set($LogToScreen
, undef);
Set($LogToFile
, 'warning');
Set($LogDir, '/var/log/request-tracker3.6');
Set($LogToFileNamed , "rt.log");
#log to rt.log
11
Italo Valcy RT: mais que um sistema de chamados
Instalação e configuração
The Mail Gateway
Permite os usuários abrir e atualizar chamados
a partir de seus clientes de e-mail
Na visão do cliente:
Chamados: [email protected]
No servidor:
Utilização do RT::MailGateway e conjunto com o
MTA
12
Italo Valcy RT: mais que um sistema de chamados
Instalação e configuração
The Mail Gateway
Script perl simples
Usa HTTP (ou HTTPS) para se comunicar com o
servidor (pode estar em outra máquina)
Não precisa ter o restante do RT instalado
Fluxo de execução:
MTA faz um pipe da mensagem para rt-mailgate
rt-mailgate envia a mensagem para o servidor RT
via HTTP(s)
O servidor cria/atualiza o chamado
13
Italo Valcy RT: mais que um sistema de chamados
Instalação e configuração
The Mail Gateway
/etc/aliases
# [...]
security: "|/usr/bin/procmail -a 'Security' -a 'correspond'"
security-comment: "|/usr/bin/procmail -a 'Security' -a 'comment'"
/etc/procmailrc
# mais informacoes: procmailrc(5)
LOGFILE=/var/log/procmail.log
DEBUG=yes
FILA="$1"
ACAO="$2"
###########
#
# Permite criacao de chamados nessa fila apenas para [email protected]
:0
* FILA ?? Security
* ACAO ?? (correspond|comment)
* ^From:.*([email protected])
| /usr/bin/rt-mailgate --timeout 0 --queue ${FILA} \
--action ${ACAO} --url https://rt-server.domain/rt/
Italo Valcy RT: mais que um sistema de chamados
14
Instalação e configuração
Se estiver tudo certo...
15
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Campos
Filas
Tipos de atualização
Campos personalizados
Templates
Scrips
16
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Ticket: Create
17
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Ticket: Basics
18
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Ticket: History
19
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Ticket: Charts
20
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Ticket
Usuários precisam estar logados (authU/authZ)
Interface SelfService para usuários não
privilegiados
Senha necessária para acesso:
Usar autenticação externa para o RT (e.g., LDAP)
Enviar a senha para usuário quando da criação do
primeiro tíquete
21
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Buscas armazenadas
Qualquer consulta
Qualquer formato de saída
Pessoais ou compartilhadas
22
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Dashboard
Parecidas com páginas
personalizadas
Compartilhável com
grupo
Bookmarkable URLs
Envio por e-mail
23
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
Rights editor
Aplicável à:
Tíquetes
Filas
CustomFields
Grupos
Qualquer Principal
24
Italo Valcy RT: mais que um sistema de chamados
Aspectos de utilização
RT Mobile
25
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Custom Fields
Helpdesk
Hostname, OS, Browser, Site
Bug Tracking
Severity, OS, Category, "Broken In", "Fixed In"
CSIRTs (PoP-BA)
IncidentType, IncidentClient, IncidentStatus
...
26
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Tipos de Custom Fields
Tipos:
Select from a List
WikiText
Enter Text
Images
Combobox
File Attachments
Freeform
AJAX Source
Preenchimento na criação
Possível usar em buscas e gráficos
Mais informações: http://requesttracker.wikia.com/wiki/CustomField
27
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Scrips
Condition / Action / Template
Ideias de Scrip:
OnCreate NotifyManager
WithTemplate:ManagerNotify
OnResolve NotifyRequestor
WithTemplate:HappynessSurvey
OnOwnerChange NotifyOwner
WithTemplate:AssignmentNotifyWithHistory
OnCreate NotifyRequestor
WithTemplate:SelfServiceNewPasswd
28
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Scrips
Conditions
On Create / On Transaction / On Correspond / On
Owner Change / User Defined
Actions
Notify Requestors / Notify Requestors, CCs, and
Admin Ccs / Create Tickets / User Defined
Templates
AutoReply / Transaction / Correspondence / Status
Change / Resolved / User Defined
29
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Scrips customizados
Custom Actions, Templates, and Conditions
No banco de dados
No disco
Flexibilidade
Perl
Objetos do RT
30
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Templates customizados
Templates são objetos do tipo Text::Template
Podem ser plain text
Podem conter código Perl
31
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Templates customizados
Customizando o Autoreply
From: { $Transaction->CreatorObj->RealName } (via RT)
<{ $Ticket->QueueObj->CorrespondAddress || $RT::CorrespondAddress }>
Precedence: normal
To: [email protected]
Mail-Followup-Tuo: [email protected]
Reply-To: [email protected]
#
#
#
#
New Ticket Created by { $Transaction->CreatorObj->RealName }
Please include the string: [{$rtname} #{$Ticket->id}]
in the subject line of all future correspondence about this issue.
<URL: {$RT::WebURL}Ticket/Display.html?id={$Ticket->id} >
{$Transaction->Content()}
32
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Condições customizadas
Pedaço de código Perl que retorna true (1) ou
false (0)
Controla se executar ou não uma ação
Exemplo:
OnEmergency
if ($self->TransactionObj->Subject =~ /emergency/i
&& $self->TicketObj->Transactions->Count == 1) {
1;
} else {
0;
}
33
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Ações customizadas
PageSysadmins (exemplo anterior)
Prepare
my $hour = (localtime)[2];
if ($hour > 8 && $hour < 18) {
return 0;
} else {
return 1;
}
Cleanup/Commit
use Net::SMS;
my $sms = Net::SMS->new();
$sms->msgPin("+1 555 123 1234");
$sms->msgFrom("RT");
$sms->msgText($self->TemplateObj->MIMEObj->body->as_string);
$sms->msgSend()
34
Italo Valcy RT: mais que um sistema de chamados
Custom Fields e Scrips
Exemplo
EmergencyPage Template
Subject: 911
{$Ticket->Subject}
Juntando tudo
OnEmergency PageSysadmins
WithTemplate:EmergencyPage
35
Italo Valcy RT: mais que um sistema de chamados
Estendendo o RT
O RT pode ser customizado a partir de suas
extensões
Adicionando funcionalidades e características
UI / CLI / Scrips / Principals
Geralmente disponíveis via CPAN
36
Italo Valcy RT: mais que um sistema de chamados
Estendendo o RT
Lista de extensões:
http://bestpractical.com/rt/extensions.html
Exemplos:
Command by e-mail
External Authentication (e.g., DBI, LDAP)
Service Level Agreements (SLA)
Security (RTIR, TRAIRA)
37
Italo Valcy RT: mais que um sistema de chamados
Estendendo o RT
RT::TRAIRA
38
Italo Valcy RT: mais que um sistema de chamados
Estendendo o RT
RT::CLI
Permite interagir diretamente com os objetos
do RT
#!/usr/bin/perl
push @INC, '/usr/share/request-tracker3.6/lib';
use RT;
use RT::Interface::CLI;
RT::LoadConfig();
my $RT = RT::Init();
my $CurrentUser = RT::Interface::CLI::GetCurrentUser();
// codigo perl
39
Italo Valcy RT: mais que um sistema de chamados
Estendendo o RT
bin/rt
Interface pronta com funções básicas prédefinidas
Pode executar via HTTP(s) remotamente
rt ls "Priority > 5 and Status='new'"
rt ls "queue='perl5' and (Status='new' or Status='open')"
rt edit ticket/312 set queue=spam status=deleted
rt comment -m 'this is a comment' 151
40
Italo Valcy RT: mais que um sistema de chamados
Boas práticas
Tipos de atualização
Preenchimento de campos
Manter somente o texto realmente necessário
em atualizações
Detalhar as pendências
Resumo do tíquete na conclusão
41
Italo Valcy RT: mais que um sistema de chamados
Suporte
Comunidade bastante ativa
Lista de discussão rt-users
Suporte comercial pela BestPractical
Consultoria: Italo Valcy
Implantação
Desenvolvimento
Treinamento / Capacitação
42
Italo Valcy RT: mais que um sistema de chamados
RT
Dúvidas?
Perguntas?
Obrigado!!!
;-)
Italo Valcy <[email protected]>
Italo Valcy RT: mais que um sistema de chamados
43
Download

RT, muito mais que um sistema de - PoP-BA