feat(docs): add 9 Zammad manuals and update tracking
This commit is contained in:
parent
1d9e603354
commit
1e35369adb
21
README.md
21
README.md
|
|
@ -4,7 +4,10 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s
|
||||||
|
|
||||||
## 📊 Quadro de Status dos Manuais
|
## 📊 Quadro de Status dos Manuais
|
||||||
|
|
||||||
> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░` **48%** (85/175)
|
> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░` **52%** (93/177)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -131,13 +134,15 @@ Este repositório contém a documentação técnica da iT Guys, organizada por s
|
||||||
- [x] [Nível 3] Scripting e Automação Avançada
|
- [x] [Nível 3] Scripting e Automação Avançada
|
||||||
|
|
||||||
### 9. Service Desk (Zammad)
|
### 9. Service Desk (Zammad)
|
||||||
> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/6)
|
> **Status:** `▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓` **100%** (8/8)
|
||||||
- [ ] [Nível 1] Criação, Classificação e Fusão de Tickets
|
- [x] [Nível 1] Criação, Classificação e Fusão de Tickets
|
||||||
- [ ] [Nível 2] Configuração de Triggers e Automações
|
- [x] [Nível 2] Instalação e Deploy (Docker, LXC, Source)
|
||||||
- [ ] [Nível 2] Gerenciamento de SLAs, Grupos e Roles
|
- [x] [Nível 2] Configuração de Triggers e Automações
|
||||||
- [ ] [Nível 2] Configuração de Canais de Entrada (Email / Chat / Telegram)
|
- [x] [Nível 2] Gerenciamento de SLAs, Grupos e Roles
|
||||||
- [ ] [Nível 3] Integrações via API e Webhooks
|
- [x] [Nível 2] Configuração de Canais de Entrada (Email / Chat / Telegram)
|
||||||
- [ ] [Nível 3] Backup, Restore e Manutenção do Zammad
|
- [x] [Nível 3] Planejamento de Infraestrutura e Sizing
|
||||||
|
- [x] [Nível 3] Integrações via API e Webhooks
|
||||||
|
- [x] [Nível 3] Backup, Restore e Manutenção do Zammad
|
||||||
|
|
||||||
### 10. Hardware - Gerenciamento Out-of-Band (OOB)
|
### 10. Hardware - Gerenciamento Out-of-Band (OOB)
|
||||||
> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3)
|
> **Status:** `░░░░░░░░░░░░░░░░░░░░` **0%** (0/3)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,102 @@
|
||||||
|
# MANUAL TÉCNICO - CICLO DE VIDA DO TICKET E TRIAGEM - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGSUP 0001/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Padronizar o atendimento no Zammad, cobrindo abertura, classificação, uso de tags, fusão de chamados duplicados e encerramento.
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Acesso ao Zammad com perfil de **Agente**.
|
||||||
|
* [ ] Navegador compatível (Chrome/Edge/Firefox).
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Etapa 1: Abertura de Ticket (Telefone/Manual)
|
||||||
|
Para chamados recebidos via telefone ou balcão, o agente deve registrar manualmente.
|
||||||
|
|
||||||
|
1. Clique no botão **+** (Verde) no canto inferior esquerdo.
|
||||||
|
2. Selecione **Nova Ligação** ou **Novo Email**.
|
||||||
|
3. Preencha os campos obrigatórios:
|
||||||
|
* **Cliente:** Digite o nome ou email (O Zammad buscará no banco).
|
||||||
|
* **Título:** Resumo curto do problema.
|
||||||
|
* **Texto:** Descrição detalhada.
|
||||||
|
* **Grupo:** A fila de atendimento (ex: `Service Desk`, `Infraestrutura`).
|
||||||
|
* **Proprietário:** Se for atender agora, selecione **seu usuário**. Caso contrário, deixe `-`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Etapa 2: Classificação e Tags
|
||||||
|
A classificação correta garante que as SLAs e automações funcionem.
|
||||||
|
|
||||||
|
1. No painel direito do ticket, ajuste:
|
||||||
|
* **Prioridade:** `1 baixa`, `2 média` ou `3 alta`.
|
||||||
|
* **Estado:** `aberto` (em análise), `pendente` (aguardando cliente/fornecedor) ou `fechado`.
|
||||||
|
2. **Uso de Tags (Etiquetas):**
|
||||||
|
* Digite no campo **Etiquetas** para categorizar o problema.
|
||||||
|
* **Padrões:** `impressora`, `rede`, `vpn`, `acesso`, `erro_critico`.
|
||||||
|
* ⚠️ **IMPORTANTE:** Tags são usadas para relatórios mensais. Seja preciso.
|
||||||
|
|
||||||
|
### Etapa 3: Fusão de Tickets (Merge)
|
||||||
|
Se um usuário abrir vários tickets para o mesmo problema, funda-os para manter o histórico limpo.
|
||||||
|
|
||||||
|
1. Abra o ticket **mais recente** (que será absorvido).
|
||||||
|
2. Clique na aba **Ticket** (topo da janela de edição).
|
||||||
|
3. Selecione **Mudar Cliente / Fundir**.
|
||||||
|
4. Digite o número do ticket **Principal** (o mais antigo).
|
||||||
|
5. Confirme a fusão.
|
||||||
|
* O ticket atual será fechado e todo o histórico será movido para o ticket Principal.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Etapa 4: Dividir Ticket (Split)
|
||||||
|
Se um ticket tratar de dois assuntos diferentes, separe-os.
|
||||||
|
|
||||||
|
1. No ticket original, clique no botão **Split** (ícone de tesoura) próximo à resposta específica.
|
||||||
|
2. Selecione "Mover para novo ticket".
|
||||||
|
3. Defina o novo título e clique em **Enviar**.
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: O que fazer quando tudo der errado"
|
||||||
|
Instruções para cenários de erro operacional.
|
||||||
|
|
||||||
|
**Problema 1: Fusão incorreta (Uni tickets de clientes diferentes)**
|
||||||
|
* **Causa:** Erro humano na seleção do número do ticket principal.
|
||||||
|
* **Solução:**
|
||||||
|
1. Não há botão "Desfazer" nativo.
|
||||||
|
2. Use a função **Dividir Ticket** (Split) manualmente nas mensagens que vieram do cliente errado.
|
||||||
|
3. Mova-as para um novo ticket corrigindo o cliente.
|
||||||
|
|
||||||
|
**Problema 2: Cliente duplicado no banco de dados**
|
||||||
|
* **Causa:** Cliente abriu chamado por canais diferentes (Email vs Telegram) sem vinculação.
|
||||||
|
* **Solução:**
|
||||||
|
1. Acesse **Gerenciar Clientes** (Admin).
|
||||||
|
2. Busque os dois perfis.
|
||||||
|
3. Copie o ID secundário e cole no campo "Alias" ou "Email Secundário" do perfil principal.
|
||||||
|
4. Apague o perfil duplicado (vazio) ou desative-o.
|
||||||
|
|
||||||
|
**Problema 3: Ticket "Sumiu" da minha visão**
|
||||||
|
* **Causa:** Filtros de "Minhas Tarefas" ou o ticket foi movido para um Grupo que você não tem acesso.
|
||||||
|
* **Solução:**
|
||||||
|
1. Use a **Busca Global** (Lupa no topo) e digite o número do ticket ou nome do cliente.
|
||||||
|
2. Se não tiver acesso, aparecerá "Acesso Negado". Solicite ao Admin do grupo.
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Campo | Valor | Descrição |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| **Tags Proibidas** | `urgente`, `socorro` | Não use tags subjetivas. Use Prioridade. |
|
||||||
|
| **Timeout de Edição** | 30 min | O Zammad avisa se outro agente estiver editando. |
|
||||||
|
| **Upload Limite** | 10 MB | Limite padrão de anexo por ticket. |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] O ticket foi criado com o cliente correto?
|
||||||
|
- [ ] O Grupo e Proprietário estão definidos?
|
||||||
|
- [ ] Tags foram adicionadas conforme o assunto?
|
||||||
|
|
@ -0,0 +1,203 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 5 0 R /F4 6 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /ZapfDingbats /Name /F4 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 11 0 R /PageMode /UseNone /Pages 24 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083551-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083551-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 12 0 R /Last 12 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 4 0 R /Fit ] /First 13 0 R /Last 23 0 R /Parent 11 0 R /Title (MANUAL T\311CNICO - CICLO DE VIDA DO TICKET E TRIAGEM - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 14 0 R /Parent 12 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 15 0 R /Parent 12 0 R /Prev 13 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 16 0 R /Parent 12 0 R /Prev 14 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Count -4 /Dest [ 4 0 R /Fit ] /First 17 0 R /Last 20 0 R /Next 21 0 R /Parent 12 0 R
|
||||||
|
/Prev 15 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 18 0 R /Parent 16 0 R /Title (Etapa 1: Abertura de Ticket \(Telefone/Manual\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 19 0 R /Parent 16 0 R /Prev 17 0 R /Title (Etapa 2: Classifica\347\343o e Tags)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 20 0 R /Parent 16 0 R /Prev 18 0 R /Title (Etapa 3: Fus\343o de Tickets \(Merge\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 16 0 R /Prev 19 0 R /Title (Etapa 4: Dividir Ticket \(Split\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 22 0 R /Parent 12 0 R /Prev 16 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 8 0 R /Fit ] /Next 23 0 R /Parent 12 0 R /Prev 21 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 8 0 R /Fit ] /Parent 12 0 R /Prev 22 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 4 0 R 7 0 R 8 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1976
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;eD0+Dj&H9tYfT/V-.!i49pDYDrNa<>rE&'@8hZq,$W-a%-)fdTQ5Q4,-(]u,YUe*Y70]57/X5.E\eOkDn"q8Gaa"r8?+e3p&5U_;05WIa7SjO'4*]ah&6Ag:<ORT5VH&-+(:NZ`/+L2d8$kqj-^-NfQXoj/shM3U'be&oio,sP(@gk(e4hqUU5T"O#2o\)>\;0kEPtg0b%H2.!G7In<ea[[WjpN%]mRE-k%:R0p'$o$/65R]tKO5mM"5Rhk6.l!D__CPei<Wd5iX:7t][$n("X)^!%ekN>2X/Gf%eg8"4Pp7eLJ5P?Rk9!*JZacu"tRPVR!?CM6&^+TSWtLYW'TdC*qcWVF#Xe[?Z-<dQQT?D:l>BY$C"b2Z0QC!!-&f:Sd3=mZT/fdMr*Q<n(`Fc8H3_W+$pe?KDtZX:'8!DSG(l_\An:l*;"^e63n\R%=2['"a&^En)C'c\s=aQ8&W<hVgplpS28#e(nGddZ32UqSH1X1:18N(7Ehm0BV08I@7DdZS#7i/W/CqY"qi-2I%rr_"bj*c#).NE"A@1"IV0n1<F_kc?kAohYHIq99MVO:IpjY.[WBrjauiJgdWi[W)Cq._0Y/7l.?@GWYNL2L3-eKPID(]Q+T7Qt1(BqKW^N3<37Dq)V49`L]Z.3T\WH\(WI&(u_,TbIm6DR0O!DrB9#D_>`'^]3^`*K\?l*$P1n:3K+G]j(8-2*Ho3`P-N3\Qhib8Cfi+=['(hUZKB/(N9G_3Ll%(-Eif$#UZ(-fbkmQ-WK%TeKElSBXt,OSG>?++&HSl@3$T:nn<7R$#7F**fmL_H*qco!4Z,J!4Qf_,PRG)%qO!X*Cp%0hEt@N+O_/<U(GU6Qn],)fe4-pb^-P[-`Df5qef,Hn'59k>-'fRLde;ZR=Y-WCe?s/8aggN("ke/O[@<J9UkGUXF4YC9H`gdU'-A6.f3QBhnr6dSN:77$i*4prXS[n#7Y/p,YUX!m[B>AJB#hc;P:f7^7Ift)0f-1slj&;8f$r09D.B5(pE3gcgb.]7,DkTJd^2>L8<+6.59CV=LCi%p(J*<KS0a:glG(Nr#5B:[:Bc=b[^lSI:82d<rcMb6c//AKZDT="(V!u'=<K,RapXZ<EKqTp4YN#amV;&.h_Zr9u:HTT-AL)k3\Y=e9Ig\Im3KQd&^%6NFB?^9Kq5EO/;qb>2gf!!9e_1@39jVRSPh3"o"l%-eAfe5e`'Clm3G56!Z=t8HBm>>_lgbp!&'l^L&7CHK.)iQ^$F%a.-cqo4.TG._4p!5u>_=7ED+<91Lb3=\lU`k\0S?CK,bcQ&1-'M$Kdskm4)WX60PLSCPBUET1/8$c,]S0JFB'DG*+E(8g=D%+U`;9f*\$4(6,RP<-P.u^_A[1EP7$[-krZYu1d5`Jqqe6u'7g3WKX"9HX>1E9(bD:rOmr7c-#d-YZ!iA$d5$\]=K5`f!NJu>@KD]m<(l9HKS#d6Wlm]3.h5<c(,3$0lQ6<9lOlal#Z3DfW#/<MY<dCi6Y/pdNT#&+_maA).`pP]TDkcA%[<iG4RKQSL:QjXc!nsJu<"k\`bb0)3(D1_Y7l?"aW;e0m1Na<U'6Wjhc.&<`.lr+p4S8c/2-f.S9G)7I=2"-K#eec$F;4WkoWKKo?$h2<*PY'<&_C`!74IbAc5@<.+`-TEb0;1^Ejsb>msLQPK8$t)5i+eF[7hLYLM?[A>!R0DWi<SYF*2LHk=[h;M>0m]S@?.F4[Ab]%Zj71=6<2ql8CLqO/[fOb%]3q\<YNf[Er]N[W!BeNs[X"8b5@t1RQkBbX/I9PEZXXA<L8oL'`1B$LU^=LSZd)nl@E$QFFKMrNpdt)js?m6q,-c0:&KoVXlm7V)e^D5:fg#[-r^fY9fe34X$US$/nu\<Lau!m36bR+!mGTPKc!q%naO:e'\fOA3,-^CN3Xtb3t6;HV$o718X.'(C<-X=O->W%V?Y=1$qE6/Cf%9qnk$%d.n4(Tg1"~>endstream
|
||||||
|
endobj
|
||||||
|
26 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2000
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!SngMYb*&:Ml+%/T$!M(4CofQg+/[p'uSdo_$$#[!%^Z--/\<KbL:pZiW[jWq6u6o!*k?GMXU)H#R`R59UC1N:/6ef<-?i,&m@hD8O\`(OLPj$S2(e+hkA_2j5V'n[WN_ML4^pE;*u55,rib[DHC]@.1KgL$JUc_CL>5'S$UF0N]Aj74qC"`Va-mX&G_+jPUX-a9q^o:+Cs3I^j'.i=*[51KUG3/05Wech<C'CJ?spUPr:i;lSEOWkctG6m^tLgS'icf7g]K?qdtm'1ap;.r1JPD>HFD\XgF!ar/E\t32!K.1Rijc3tTiHX`_Xe%L68lucbF.UAVb],Z7[NOW.hQ<5.2_]OETK`nZ/f.J*3b\f2]C?0P`(CjJ$)K0YA.;M2a<;GGi(km2b[=<6'NN"u#,QtVQDmOfSIM#P_:Jp`5Bb\NK4j3m0Qf"[n6M0Z$OLOLN.akkV;rhu!f,gr:%gc\@_+9WfUS(!Q+0K-N""iU0ma*abVI:hKC_CZ<=_'eYS9)a7Y$699N^SCOGrDc"Bo<L0qOT?(+EBO^MaX)e?T!T/esO-W]%9%D>RtADE.1[4u=pXXHXi;kt?jS5KjG";QZKT$?.:+*eC2Y;B\]eTXu(hUoB)PfBmh;_`@2r[=hMFVI<.Ej:PoJDQ)Tmj3G'EpglsJ+FH#LR,bGk[mDms@:@f]5.QG0?_\Zs@2O.DXV7Q9.g5;DhW:]D=Gl`WOX>m(V$F3[o,it6hLKTmj+[0Fb:05MF%iE.A.Ve?YVZJIC')m=5<m[`J@1M.CE3VT@9Jpkn.^L\)GGaV7-D9`Sh]EU/DEe]-ZJr.TgDUS%[g-=f#?!loK/Hc^i-X;BTF<E7/O0s/sVMjA=3$\Y&,LnYX!2\:G]TfKiPLJkh'(t[Va7iF47B6*g4A=$b*)nR.ZR?2H71/ANF@>X)S/B=sD:HVW=uIP00)MdSS8t\>iD;=Cr2o[JG?YPcCOD19$GS5*miMrJI"j&YJ_8nAj)Ao9c0eo.SfI]nY#[),6+c;3O;:*"L;EDm*,I0-@XWW_u0@73t#NiYIkUi)HWd;DbbD9)OSSG1]asmf,P_@A_WKo]c8g7AWOjfp02*N)c+idoP(#q6Ua2p81X?O](bR<!aeth/h<mqtls"Dr1A\>IAXLEZ=/q1S'd+G]>aUMGHIUdr%E-CnoTkXk&l5?K[HF*)4:;Y(Y;$:oR<*#NkXfTi.*^/U)6NNWst)"T/0"g!*=NIGI5"H+D=5QC9HtXXH1L\pQ[Z=um_Oi*PKK6/4IJW/H"l/AQrP$Ei-e]%*(JM^9(5M`[(aZLU)pA(dG,XCAXiqGl`;'\Y*s?c+9.75[11Gi\;%9Kuf>Log^EA6=CLK;.u=6">+%Rb"#p>\L+>7J<6P+:m,OWq9caGqY$2]A+0=-kUEL*V@pNeUs?RQ%TS))j[jKq+u7d(4-OASH&<Pj"C_sr5#ha7@g-([S%'Ji-emC6LA#/3IAD5n10Uk?P9?M[X>q:Y97t+6eqe3;Md.D($7Zq-_\Xs/<*ap-e>rPj"7!4JRIuAaXYK1:^$m:ZE8Vo(EYeHW:rPmNFnYn5uV9B9AJnM'*sQ@jAoEr[48!6p.^*T#J(ANST*B3TQujuRjF8J!b^LrA4!\E$'N]Kb(U_9Q99B^9DarhNRU#/-o@l=@EG=iFfjuX8.CthP-Tb@D+D3)7E8::FrhUk\_-_")nAk'Ppe@OZCRA[KM,E<qbVfe\)r[JH^N;H"AE\"ap8Di=Y!/UTsC.eINo1+$27_%UarDR!pPS?H];kg%gP8QF,b9Cia6!4CJnpX.HU6B)6\d)iU=>43MWE!/V1'k^Nk\FZjB)L\rEES>2\hcLY]kLf3mT!^)rAfLP`!'8n04US+V*Ps$E1-L<XJhB^BdE%VIop!cS3jibiKkb\-*G'(/3qGPMZmVJpf<H[@ri31WDlMQ^W!hO[O+J';Npa%me'R+2@Q&ro=4!X;^Jg52*>X:"I;bScHhp-0NWbaU-@i'1r:o1A~>endstream
|
||||||
|
endobj
|
||||||
|
27 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2502
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;e968iI'#*[5FQk'K`Y\d8e!DZ$iprBK-Ym9'Ze>LT641"DT`Cm#GCKK+5`-7%8n@:2btQ9V84:5-7\eALi.(p^I`<8@eJs$eNr]o]0*/]+L%ti+c6qKsh^9-R#1#eg7&$5*EAmXJ8)Rj0[fl(RL@b6J$=+QpnD!#=?JAjO,NR2_jr$uf&TpYN%a5U%'R@\:@p`cj6Z2k#<\P2.\1@T[i>c`G>\6)OfRg]NK"=puHpKn8k9=MW%eL1lhdHEncF`XckEF6C%J/9=:>f"17t+DV+,(l3*hXo(Sf7\;,6p_&W7<0&S8O-[(e,ZFN''oVQL?kT,8>BA*[9U'&kF_ISA56dKIERFE@hel4Y\37U;Xt]f.eM#*?-i]`Am>f\Kl,W%#@_R");?@BgH$fMca<$,CD.)/D9Js_=s,SM1hTs,U?Uq=,J;E)oX.?-jgt5&O6rESo;i.J)!bWO2'3GahXlbOi#QIGnW9WeICRnF02:*1%]nO%q,G;"&!hH0RUnrJiGh0@8\'=iD2t:hdIi73DN+-+9WW+0rZI,jA8M[iV!h+._P_'QXFVA-hX*_pcd;`.]]-!HX+IW.0_NQ(Y$Dr8.>ka!)&DhY#m5cc;O:4XQdoj*lD_Mr&E/MG^UBPi8(SD/K1P%Fg1G-6``g#<hGV(:3jhZ?blP:=/AUOYuHSs$l60&\U[#bs5o#h/PZJq$a(Wb9<RX5`L2F_9njOuKDNtrkNnY&RU$mEhO6"j>%T=POL&d2bVW+@>?MUGq18erj3%A"b^m/7Gq@Mt76UL=A6NW=9BDjRN8S1lr2WC]Ga:ekF*ba3X[lC3=Wo[9!C?3DF(h[[Q?d9$^>^*:&W'=<[mhDe?Hf"lW@/NpOKlH/WB!@+j@hq\F3R`Jf=!/H"BR-1hUW:B.j>&Km$-0.\RF[&hHsgu\_K$h0aNZ%0L`C3EOa&LjJ:t&5=82/$b3@Q:Wdf0@V/M(_DBAFF%ej9&uf60I9Y[s=c!dNY:MI:el"fXE[GlAkVh+&0tY\t87A9%c;VGT/6eWqjr%u'*g^Tq&\KYH04V.B5@D,[qI@@kf'%OkXdtC'AWhmtEFuQNWmiA\9YH]X_j[X&cmF>%>-8#6$26BOH!KK'?($72/5pFq*4'H5@="=KVPbP0Qs.7oO?Dq$9hh?cq<@=UF:hc\fuhsO?#=RdbVng3+W"c\Gf$lAD>[Y!c;?NrIter>(\Lgaku4",EXE,*9]TOuCd_9!?_3qZ79ZYT]UXF)1,[:Dil`7'B!X.eBRn4c7MmuIRW,1I[B)uXN#0tgVO![f<U^Ea8[]E^Wi_*_Hrm/));M(ZRAE'cn"EuBaIBn]<lh\j!"OifM8J=F?_s)8j>,aWe^3IQ'5r71)m3poIKHriMT8uTb!*3PWn$m,Y?3!H#bGQV@\],YYe.o2?^YSe:I49=a?>f?#76,P'_jT&LqWN7d.oT5S02o&#%W$kigD,SEiN[A&_pXJ4?f/p#0,7:n#mh*%W$4e7=OHa!3g0+.c!>?M@`I*r+QR["31d:5bVoW]r$4"0OWd(5)CICVpY48E/L]iIgInW(_JD.O"hSd*(.<N?eW,J\Rj@$bH8NC?p>XmUBB-XCQ!h:rn<-KJ!;&q+NN9<-q.Q$E36th$@AsVg[<m^Memfd3U3>rID<)c%s+%]a<:.ZB7F?h<!1ED&lcF3LH4Z)."&_32dFBq1kg.hCEKdkY]n::No`K97-AfaZ^$8@8r@8D0KhJG?>g;?Z_g\P;tSi9`0/>ng7CK4VO<aIm?OH1"hR.Qp0(2H4f`Rpeb'*@e/Sf/:0g&5j+Z,>D%FtT7/E^4<$Gbm@"7Ts+1r'<,3,s[9V6<oN)%+lpX`X")aN\U7VXKA^@R(]5/OKSb?+g^,;]MI6'as/BJX^L1NtZ]FWrp[KpcQ_")8($s*m;KXAd4RGS$:ApW])mqeB>]@tu*"E&AD"%n63L)e)qR"kG5%omD;mbP?YSc*-M.D<lHU5QZG-@/)Wte7\WCSJKHI1eh(6_ePh9&$#=`p:@d8*S;a[ZrB[G\2oj[?(G<i\?:Rf=usLMU"j.\<-C=<Z/Q_"MIK[WLLEuud4c)H)%QM7N8E3Z>&lqKqt=/cAsZ83FXRK'l-n1Gfqf?e*QkVm%#]%l/B+iP%`;BOL:%EpI8<=^m#NfFDAE$1;+"nrNq;Vc%78L<VkLCHa*Djm`^YDRG/Ier"srW!O,a"/MSVQ%-1o1RkX'D)1_9EnJj&t%F5R<(#P&fHk61_ndC:#(88T36@I>/iENpMq4qQ'NGL*XlG@#lLoBuGAk<B!!?S3GgD_;jU#o;$aO7</Jj5n0_b^_B%hi@T`ou9:H2(iadI$c*>EnTij:9VqY3!cT=\+BU8X<#<hap-]erY,87O#s+6Lm9Y-k?)?`]+FjkKGX2t@u#Kb#u?0OQO->C&a&5%^K,q&c0Sfhn%]RM'Y-c1*Z^_(1-$"oJ+;18br'nuc&4NH#l@ph@2`UC0;Zh8FIHoLk!+qa]7Kc?J][olKY7/'~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 28
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000122 00000 n
|
||||||
|
0000000229 00000 n
|
||||||
|
0000000341 00000 n
|
||||||
|
0000000546 00000 n
|
||||||
|
0000000651 00000 n
|
||||||
|
0000000734 00000 n
|
||||||
|
0000000939 00000 n
|
||||||
|
0000001144 00000 n
|
||||||
|
0000001230 00000 n
|
||||||
|
0000001483 00000 n
|
||||||
|
0000001557 00000 n
|
||||||
|
0000001724 00000 n
|
||||||
|
0000001834 00000 n
|
||||||
|
0000001939 00000 n
|
||||||
|
0000002053 00000 n
|
||||||
|
0000002222 00000 n
|
||||||
|
0000002350 00000 n
|
||||||
|
0000002479 00000 n
|
||||||
|
0000002611 00000 n
|
||||||
|
0000002725 00000 n
|
||||||
|
0000002868 00000 n
|
||||||
|
0000002982 00000 n
|
||||||
|
0000003087 00000 n
|
||||||
|
0000003159 00000 n
|
||||||
|
0000005227 00000 n
|
||||||
|
0000007319 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<981c3be051852c1865bce8d37e84c4da><981c3be051852c1865bce8d37e84c4da>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 10 0 R
|
||||||
|
/Root 9 0 R
|
||||||
|
/Size 28
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
9913
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
# MANUAL TÉCNICO - CANAIS DE ENTRADA (EMAIL/CHAT/TELEGRAM) - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGINF 0005/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Centralizar canais de comunicação. Configurar Email (M365/Google), Telegram Bot e Widget de Chat no site.
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Conta Microsoft 365 ou Google Admin (para Email).
|
||||||
|
* [ ] Conta Telegram (para Bot).
|
||||||
|
* [ ] Acesso ao HTML do site da empresa (para Chat).
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Etapa 1: Email (Microsoft 365)
|
||||||
|
Zammad recomenda OAuth2 (mais seguro que IMAP/SMTP puro).
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Canais** > **Microsoft 365**.
|
||||||
|
2. Clique em **Adicionar Conta**.
|
||||||
|
3. Faça login com a conta de email do suporte (ex: `suporte@empresa.com`).
|
||||||
|
4. Aceite as permissões do App Enterprise.
|
||||||
|
5. No Zammad, defina:
|
||||||
|
* **Grupo de Destino:** `Service Desk`.
|
||||||
|
* **Pasta:** `Inbox`.
|
||||||
|
* **Manter mensagens no servidor:** `Não` (O Zammad deve deletar após importar para não encher a caixa).
|
||||||
|
|
||||||
|
### Etapa 2: Telegram Bot
|
||||||
|
Permita que clientes abram chamados enviando msg no Telegram.
|
||||||
|
|
||||||
|
1. No seu Telegram, chame o **@BotFather**.
|
||||||
|
2. Envie `/newbot`.
|
||||||
|
3. Escolha o nome e user (ex: `EmpresaSuporteBot`).
|
||||||
|
4. Copie o **API Token** gerado (ex: `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`).
|
||||||
|
5. No Zammad: **Admin** > **Canais** > **Telegram**.
|
||||||
|
6. Cole o Token e configure o Grupo de Entrada.
|
||||||
|
7. Envie uma mensagem de "Oi" para o Bot e veja o ticket aparecer.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Etapa 3: Widget de Chat
|
||||||
|
Botão flutuante para seu site.
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Canais** > **Chat**.
|
||||||
|
2. Ative o canal.
|
||||||
|
3. Copie o código JavaScript fornecido no final da página.
|
||||||
|
4. Cole no `<body>` do seu site institucional ou WordPress.
|
||||||
|
5. **Funcionamento:** O chat só aparece "Online" se um agente estiver com a aba do Zammad aberta e o botão "Chat" (no topo) ativado.
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Canal Parou"
|
||||||
|
Clientes reclamam que mandam email e nada acontece.
|
||||||
|
|
||||||
|
**Problema 1: Email fetching parou (Token Expirado)**
|
||||||
|
* **Causa:** O Token OAuth2 do Microsoft 365 expirou ou a senha mudou.
|
||||||
|
* **Solução:**
|
||||||
|
1. Vá em **Canais** > **Microsoft 365**.
|
||||||
|
2. Se houver erro vermelho, clique em **Re-autenticar**.
|
||||||
|
|
||||||
|
**Problema 2: Telegram não cria tickets**
|
||||||
|
* **Causa:** Webhook falhou. O Zammad precisa ser HTTPS público.
|
||||||
|
* **Solução:**
|
||||||
|
1. Se o Zammad for interno (LAN), o Telegram não consegue entregar a mensagem.
|
||||||
|
2. Use um Proxy Reverso com SSL válido (LetsEncrypt).
|
||||||
|
|
||||||
|
**Problema 3: Email Microsoft bloqueado (Auth Error)**
|
||||||
|
* **Causa:** "Authenticated SMTP" desativado no Tenant.
|
||||||
|
* **Solução:**
|
||||||
|
1. Admin do M365 deve ir no usuário > **Mail** > **Manage email apps**.
|
||||||
|
2. Marcar **Authenticated SMTP**.
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Canal | Protocolo | Notas |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| **Email** | IMAPS/SMTP (OAuth) | Limite de anexo 10MB (ajustável). |
|
||||||
|
| **Telegram** | HTTPS Webhook | Não suporta anexos > 20MB. |
|
||||||
|
| **Chat** | WebSocket | Requer porta 80/443 liberada. |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] Envie um email externo e cronometre quanto tempo leva para virar ticket (Média: 1-2 min).
|
||||||
|
- [ ] Mande mensagem no Telegram e verifique a criação instantânea.
|
||||||
|
|
@ -0,0 +1,191 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 5 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 10 0 R /PageMode /UseNone /Pages 22 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083551-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083551-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 11 0 R /Last 11 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 4 0 R /Fit ] /First 12 0 R /Last 21 0 R /Parent 10 0 R /Title (MANUAL T\311CNICO - CANAIS DE ENTRADA \(EMAIL/CHAT/TELEGRAM\) - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 13 0 R /Parent 11 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 15 0 R /Parent 11 0 R /Prev 13 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Count -3 /Dest [ 4 0 R /Fit ] /First 16 0 R /Last 18 0 R /Next 19 0 R /Parent 11 0 R
|
||||||
|
/Prev 14 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 17 0 R /Parent 15 0 R /Title (Etapa 1: Email \(Microsoft 365\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 18 0 R /Parent 15 0 R /Prev 16 0 R /Title (Etapa 2: Telegram Bot)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 15 0 R /Prev 17 0 R /Title (Etapa 3: Widget de Chat)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 20 0 R /Parent 11 0 R /Prev 15 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 21 0 R /Parent 11 0 R /Prev 19 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 11 0 R /Prev 20 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 4 0 R 6 0 R 7 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1800
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!Sl;3T]l&:WeDlm%iG67^0`PrBfJ>f[n(!@R91mXkal`#6?,"3I@f+5`1h`dj')9.u_,@">TW>OCkQ8S]2p!X1EQdj;f;&)C:maM<9*'L[J$#G0iLh"ogKX:QpSUgg@nA%HKi/Mdr/E,T\47d03A&4^]oK!2:lIi!b:<.o8sr$?=-#oCed$N:Hq'2(ijj&8!$,'NEs%dho(g[2I-FPnL6DO8ac'*_^o!>dj!5N!;P=7J,#%cA)sT>5pWSR_\khg0(dd%@0!84a+;WHQ*.JS7\!b%?r9J<8&\.t\ED'$!iZ+L<2Mi8MY;6aWNH&?Ee[;Buqsi&23Z9?:Bn_K=$PJ^Q;5+ZN=7CQ;oIi/gPTq)Rl!,G[6&A]BnW=CK!uTnV3\i!;a'e8cNONh4NO/.LCn482MAJ_1q8HR%`>cQ0Uq$/BcP?J=8_+1jHa"Dr)8p@#T+f<4$(]fY\+ljeUtkiA$Ogqge>g&INt8C4&80d$r;+ZOK]`j[NpN7KbAQ9#=a_#bsKFAja;IBHm%P\V(B$bq^Z`,($iko-8NCR5'rW=mt!F]j"kQ[BRpPF!U2ZN?+d)uBPNJ+s@!V,ipSp^;6\HU$oS,$_>3LNn-lH\n)_mu<*t1[mA-5:3FR^]f1D(?`1d8[a0;UKO%9T.H^>Or+-V=m7BQ`Kt7D'%fpg$-tai]1]EP.$J;F<R>+[LBqmVL3%Ju`0R:i>*?M'b9M"A;(rB6,o"Tp5Q\.d'0kE6O0p`]4;`G6qicP/4us(;!`@C.bQcSNb(A8=.pr>KP.h'#KuC!XNH)!Y+JV?W9L+B6h9rqAb3bgOAV(O@KR*uk9-aRU?@gX,T\=GDCT-JT/FPFm6:m9G;/PrKjCH^n]4A[Ad#j;-ThQrC/RV,FXX1U&<g@bU<5co0p0hNFR@'=AP[4AJ.Rthl^jfCb\cl9pTBc;%e[l)_C@Yq&B"IhAq$NTNrrTOSHCDkLL0KiuQZfe[I[ZiSOn/CUG.3qdXiXRTpM!-EFWoU21[k'kUE8*uETBdXR0#Z@Ru7-3,3YkCiT@S`MPkI(BW=@V..^LV=)!%e1l8F+>sh')%,S?&5.-1kV3Em.IZJDOLKcdXM[`a-dr>omGkm%[:Th,jC"sO'>G>R.1JioVRN9XMCtD[.j>LVC&lCJI!Lg!Fh7]6:*+?kQn3uXV]U?NZLX=7pN\KL9pnIEf^4OWks)mBDj3'Eb*6<5j?RXOjM1(4U.u6F]T:=18p'%4'r76,;!ONnRY\hBsNUn,Tld5mjB"Z\SY9EKC?#jU,4Z77Ls*F\9&0im?IcL8&pWmmViS:G)isDXLrAjJZ>t1kh)D:#6_\B!,.ZDt5MdVu)\,(qXhFItFP1;o^hkjfhhD1$+&@;[I>2@pYR4k;ml5/rb75RfX-!Vf:Lu?m02NKaMMt6;eq\X3YQ,#H;7&9&RQT:#'+)o*Y"Ra>,d7\-=]m\M)o_m1u3N-LH-h``O8OR/I*p>sdb]0jXj5n[3J@9<8nbdFD(m,dbX3o/[n;!=I-A4ZI9p9_jYQ6@.8@FVZ!Sl?`?9uqe%+?no95rFOEMb?Drh$2e^*n0D\5"s^U_JXb#I1efBY@.`9]3<C\:[qm"i)[BB_e#blYp2O]gFoe4J`6q3Bs;[#QjbgA2441pDpWShn7gXJ5b2b+q(QF@kU,KpCNXa;f[t/"Jms1WPYE3SoM5$:7Q^0F(foin1b&nH"[2sj^40[7G*XKUc9a"^U!9.U$ioAI0c1_E!C#59pX1A(;e/KDE]f]g.U8Zf$Sl7-Lc:"6%@hLG:*Lm*Zhe);PcKhr=+7_RH=~>endstream
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2027
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!<QgMYb*&;KZP'SBXN6,SSUW.V?')CJ9=M_n0J'a5Aa@3ij$,EXT)\`l<VJs)Xfm6l(;@i#DuO@b?$c#EH!'FYI2JEtf4#8fr"p)!lY&7#<[OUKPcN2#2'hY1@*$3Tm](R":(LEu>:>1UL.#gXIFs,:C$]n-<Pq@%iFL/C#;q\gZ6"q]l].7M`4!B:XeJ14rN2KjPCSK;h+5;Rl)N8R(rZ[dH`dRf]3<UuNgIS=%I+c7_dM381#I3?-5I=l2Dp)f>[ML(n01[OF*F*u;_o"nDh4L,#MaE*.pUBZTkTG.uR![@$(RCr$)+/=.nUSrs16SWjQ$[[[m\5iL8A^h.bBX!+W'SV'``4*d_D:1X>F/dlOo6u+4\'XQ).kZ_i%6r"RkX&XA5X"hJI:H*\pDEZ\ghqZ3Q>r*_i]bTIpI]tWQOoL?e;>2)e>hTq,9l*t,EcpWd;cil3FmF['dPgF%Z*UUW<L=R#-!?ORVGb.M#61T0S`6_[+\mEMgT8-_,6ruVa0:umRXTW>2)L2DKq;e;?/@X.SMIQ,,QCpL#mP5S\dp__G#q?6t[cO8@BRNCm.E82#PViS>U9J'j"<'6"eYp[qdf_RF6"V+(O2Xep^5X>!Ge:Ns>JhWi<GmksuMb<-kd1_4Rm/$XmX&WB8n:SXVa]\jjqo(>Uu(9)^TL'6U9mf*=a7?NNZDKO52<.V/94I0&"kDA*H>65=kl;uoTY@H/fek%0]g[:!3P(AGl:$AMO("Jd4T,r`W;1%f2\1:LHf2_a?JK=W-Mg4R+9agEgGA)[!Es2%h+cnXiD@);I!"!`DM70SVV_OaiH%NiK`%;aA^4Fc>GZ6,?Zb(0sD&t,+(T#4Bk?*.])q(09;17[c(ptY:,,mPrWP"Z3_M?<RLSRlidF.VXuKUPK8;@Rn+Z%4^?UU/,\Tj-Ef2_*5$ltWNf%"D3^&YKpcjSPW'O*Q"&bh@o/3UYJmoo0=FOd\kHO@.kSn`-p7qfT-QJ[b:hg8Lqk'oC5=3G;5M(EfA#KNTIi7u_2rBJf?D?*#EE?-hDS4De%Y+6oh1[akr6:E\(E@e#OB&Vd30"^=[!bIk[-n8SD@FDS]dY"rr@rI9:Q1B/kmi<g5JIUN(8bh[7(_>64HI.6uTM0W--5;gg5;JfpN^!0#kAco[UAe=[7I3g8+Z.JE(#pWFgT(;;GXBaF6'S#`/8<reWC<\>bS[$saoVAoN$3\Sk2uBG9ac.^":Uq'o0PbZ3g49%GT9rqR/^aZIQ0C]$f&jkchH;L0pEa\RH[9\1bGKT4PuVC,:DJjJX?7tCftDc!nb-P>s0?HfkP]O$,71i_RPlWB%n\jgGqe37BALi+\$()@CM9<XSto:FdI7sEnVb?,BaIkp.$;U#.S6juZOB_Ae!R^k,$"@hK!=XCPRT.\9NVKp-/Ka:L&RoDIl<qU/Z^a4^MZsc86(n[XQnMh#.fDig8*n$'Ld51UiSuQfi4qaRG_9Y[<&>2\5G0jqm:64<H;p%^*VG.24a3EYVT=J<+6(>]46IF0pMfV@<3bhqZ)1SE_F*.Q$6d^IORt4_8c?5Hu%E?.;oIN^=#jCWK)1RQZC)E]p:mK2S_LGY5@!<\[Y-6aS0G$`4b3oebgCOE%(uZ1%bhT`8&_-3sdOZVdEoupb?pT(lh()rcpUg*IU&[J@H\L*e,'!N\:;NO/%oF&+T(>Kasd&$U!DNL<gsqM5bf%3Of)Z5nMb*V&<O>U4EV>iLR5%$j&a5T[5(1%06X+K0p0nU`K/H:hjo\"C1=W)E1&JKDbc^enIC$&T`=(Tl59cgl@3-,u9qcMeEd"pEAhOLma1+mf@HcmkP<-=OsjY@E$_B8g\iaG#urHS/Y`cJ4*i(d#\57$"fd"VWDN/\``362HuKn2h(i,JJU@jDXXm<A'dib-gqF!mH45kZ&T>u8(dm_bPY$qGkk3L6BL41`249(E;csHbm5il-"2_bB@YJaV?Ua&P4>(*F_*>k.cksQkYZli.0ja_8;^r7ip>lB]"XZGFKP$$l^_)O(4,u^WmR*"~>endstream
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1956
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;eh/f&F&:aF]Z#`]9VcFB2!I<m&529I_iZsMoG34g3:p=EX!ceG=df9;9_T!-s6^)+;QZsK?qX+#l[9bO(?i\dH@01E5_n-ErYR1:L?jg,q?bk;9g^ifX,mo9!&bSi$p*!*6TA'>]7X,$fDIXNc=-.20a+f'KVuBj)p$NuU\DS`"#XQBa>qj'd!@Glgg*ln^V&lqn00+erjMT$t7g:1t(L`Hq1hQioS:F^0J0,=ALM7GX(]cVuru:`O@+=7%p'74t)="oc*/>(n4mMDj#:"k/;q]XnWF;Pj&2d-m,c2Ne9YacbAZfC_Y%oJ(A"GBia"U7j'Z1s;_aTg8@EG;n+;jt74&9;_Y`'isM;UqZVk^3D%H.btQSoJ2B<92,nIG$q8mYRH7D:Ha-=@I?;Inc>h`,IDW"!"R&d='m(h>a70M%(h-r>i#WJHH^'"]>BJhI/00^tl,bEPHK%a"Sg@&5.\C-T]_0G-u=/4?c&'"F1#11nL:_W->p$Xk%2(VEJ#)a7_"cI4l_RG;5b@F`GjQJA0o3X`-U46A9m4Q^_,&kL1j&^#nq*eiKsSio5F^@L$4&DuH,`=!F[/,5#K$(Jb/nhA3cElcDV^\e$''UAc>bhG)a`RD,(b!Bj>g^+9aRWFl(#_j-CQbh'R&A,B.1un1Z=.8V8Q[I((0M$GWYrPU%QMd.j-ka%Uio(-tn.h:XU/#)W]muA?dl<e1;*<1EBdeH^oAHQs%N+X"eISsb+5=\R)iOTF1Mr78nM$8,aQF8!h\;RNW8r=1dtrSQ>NPMqcWD6jPe9s!.:m5mZlD&n,uL\cPH%).^>]\q`O*]#-'j[,WtHt@q\0^0ZFQt<)n==e/XJQ>7&S7^acOUb-G+_OEojNB)gU#.XP(]*llq5MlnJ)9Xqd]m2[ma7#R3[NED.=5D0\U=.29VoanaIdh3JnM?%+iHRdTBQ!:m']9a<B-HsFii[GV0=(F.Q)e9r7QFIt^L\i"gaKe19K>o/T\YsWAiF3PI^(bdfY2*DI>_un-?m`f1?$NCfL@U`m%T"C%c).P)YVGf6lVdrhVd`,T#R(0hG1]U`t.E?P]@d9P[0VU_$Kabl(_/tc1<1^5Zoide8llij>+5?'XR\G:36E'3/m`8:"l.XamAZS<4Fe3O<[1p.W74^J.-H`k[5@-(UNr+3V01F0l%V$r4l@_)':JK`=P2*R4oM*go[@XQ(DU[RnjQ(X`:6fDsL:ZDNhg@S=moj!([44YI5)NW68X+:`EF:5F&:fb^Blt!k6h[Y'EcoR-Ghh,&:p=7MJ=@=TD[`8=7'!**L2u+&p'oi9BQ@66RTZm011t1R13a>,0feW]OGuC$o)`nm>HkbYN.-a)XoA.=Dl5pMfB=0M(Y%Q$h\TNa)(F0^B3>Aska"k"A,B_H_B/jghZh/uPYq`-s1S4f5['dScVeP5eA&"(g2onUD5Gf<*M@Z,=*;U"`7u`:gc@^N5W312\uP_7[P5C;J?"0J9WUZ@HEk3N[mV.^c(dSoR)_BLG>%1DqBI'K^>H]e\>AMlV$a&Cp=%N2SKV^0;k`j/I[W=#YNIum=#:iBae945lh+!bSW7T.B_1uT%H;)?=">"TDsX=!_`ECR/#0uFNP-$K=?g/:0s2qsIM[DQh9XDQr4AKRUi5kphMnhh<t"DLrXll@cL5cN%fZlF*5L/krVYEd[3@<9WGC.8^?o=biQqdOb?Uci14a/[N:tjs=r[ZP:+e`$T*3)O!b.6Aq!dP=jPhJ_/Z+F:c5`>)(n7MaG#3l!d_h&j%s<,@(gtD3[Z(1Yq5'ZcDM;ptQlEICG(7Co0MY]3T$?Q**:S`(kfY-6+r(F1-&;ALV7D,H-VFIp?SV5,KY].$9WgnA&.BrO=jS^/a+-Z,,Z4CO"'h%QK*h*5ETVqN1L<eib@0a`@a8E$ATXiBKeWIe@/CWi9!b%alDphNo"D0r6)T,P^u.Fi?X8'~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 26
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000112 00000 n
|
||||||
|
0000000219 00000 n
|
||||||
|
0000000331 00000 n
|
||||||
|
0000000536 00000 n
|
||||||
|
0000000641 00000 n
|
||||||
|
0000000846 00000 n
|
||||||
|
0000001051 00000 n
|
||||||
|
0000001137 00000 n
|
||||||
|
0000001389 00000 n
|
||||||
|
0000001463 00000 n
|
||||||
|
0000001638 00000 n
|
||||||
|
0000001748 00000 n
|
||||||
|
0000001853 00000 n
|
||||||
|
0000001967 00000 n
|
||||||
|
0000002136 00000 n
|
||||||
|
0000002249 00000 n
|
||||||
|
0000002364 00000 n
|
||||||
|
0000002468 00000 n
|
||||||
|
0000002611 00000 n
|
||||||
|
0000002725 00000 n
|
||||||
|
0000002830 00000 n
|
||||||
|
0000002902 00000 n
|
||||||
|
0000004794 00000 n
|
||||||
|
0000006913 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<6daa1d576bd1ca56182fb01bcd8c0f2e><6daa1d576bd1ca56182fb01bcd8c0f2e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 9 0 R
|
||||||
|
/Root 8 0 R
|
||||||
|
/Size 26
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
8961
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
# MANUAL TÉCNICO - GESTÃO DE GRUPOS E PAPÉIS (ROLES) - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGINF 0002/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Gerenciar permissões de acesso (Roles) e filas de atendimento (Grupos) para segregar departamentos e níveis de suporte.
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Acesso Admin ao Zammad.
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Etapa 1: Criação de Grupos (Filas)
|
||||||
|
Grupos são como "pastas" ou "filas" onde os tickets residem (ex: Suporte, Vendas, Infra).
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Grupos**.
|
||||||
|
2. Clique em **Novo Grupo**.
|
||||||
|
3. Preencha:
|
||||||
|
* **Nome:** Identificação clara (ex: `Nivel_2_Infra`).
|
||||||
|
* **Atribuição Timeout:** Tempo até o ticket ser desatribuído se o agente não interagir (ex: `60 min`).
|
||||||
|
* **Email-Address:** Email de saída padrão para este grupo (opcional).
|
||||||
|
4. **Enviar**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Etapa 2: Definição de Papéis (Roles)
|
||||||
|
Roles definem O QUE o usuário pode fazer (Ler, Criar, Editar) em quais Grupos.
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Papéis**.
|
||||||
|
2. Clique em **Novo Papel** (ou edite o `Agent`).
|
||||||
|
3. Na matriz de permissões:
|
||||||
|
* Selecione os Grupos que esse papel pode acessar.
|
||||||
|
* **Níveis de Acesso:**
|
||||||
|
* `read`: Apenas ver.
|
||||||
|
* `create`: Abrir tickets no grupo.
|
||||||
|
* `change`: Editar/Mover tickets.
|
||||||
|
* `overview`: Ver na listagem geral.
|
||||||
|
* `full`: Tudo acima.
|
||||||
|
|
||||||
|
### Etapa 3: Associar Agentes a Papéis
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Usuários**.
|
||||||
|
2. Busque o agente.
|
||||||
|
3. Na seção **Papéis**, marque os papéis desejados (ex: `Agent`, `Admin`, `Gerente_Vendas`).
|
||||||
|
4. **Enviar**.
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Acesso Negado"
|
||||||
|
Erros de permissão são comuns após criar novos grupos.
|
||||||
|
|
||||||
|
**Problema 1: Agente não vê tickets de um novo grupo**
|
||||||
|
* **Causa:** O Grupo foi criado, mas o Papel `Agent` não recebeu permissão automática sobre ele.
|
||||||
|
* **Solução:**
|
||||||
|
1. Vá em **Papéis** > `Agent`.
|
||||||
|
2. Localize o novo grupo na lista e marque `full` (ou o acesso desejado).
|
||||||
|
3. A alteração é imediata, peça F5 ao agente.
|
||||||
|
|
||||||
|
**Problema 2: Usuário recebe emails de todos os grupos**
|
||||||
|
* **Causa:** Configuração de notificação pessoal.
|
||||||
|
* **Solução:**
|
||||||
|
1. O próprio agente deve ir em **Avatar** > **Perfil** > **Notificações**.
|
||||||
|
2. Desmarcar grupos que não deseja monitorar ou limitar a "Meus tickets".
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Role Padrão | Descrição |
|
||||||
|
| :--- | :--- |
|
||||||
|
| **Admin** | Acesso total às configurações. |
|
||||||
|
| **Agent** | Atende chamados. Permissões dependem da config de Grupo. |
|
||||||
|
| **Customer** | Apenas abre e vê seus próprios tickets. |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] O novo grupo aparece na lista de abertura de tickets?
|
||||||
|
- [ ] O agente consegue visualizar e assumir tickets do novo grupo?
|
||||||
|
|
@ -0,0 +1,191 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 4 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 10 0 R /PageMode /UseNone /Pages 22 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083551-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083551-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 11 0 R /Last 11 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 5 0 R /Fit ] /First 12 0 R /Last 21 0 R /Parent 10 0 R /Title (MANUAL T\311CNICO - GEST\303O DE GRUPOS E PAP\311IS \(ROLES\) - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 13 0 R /Parent 11 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 15 0 R /Parent 11 0 R /Prev 13 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Count -3 /Dest [ 5 0 R /Fit ] /First 16 0 R /Last 18 0 R /Next 19 0 R /Parent 11 0 R
|
||||||
|
/Prev 14 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 17 0 R /Parent 15 0 R /Title (Etapa 1: Cria\347\343o de Grupos \(Filas\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 18 0 R /Parent 15 0 R /Prev 16 0 R /Title (Etapa 2: Defini\347\343o de Pap\351is \(Roles\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 15 0 R /Prev 17 0 R /Title (Etapa 3: Associar Agentes a Pap\351is)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 20 0 R /Parent 11 0 R /Prev 15 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 21 0 R /Parent 11 0 R /Prev 19 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 11 0 R /Prev 20 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 5 0 R 6 0 R 7 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1911
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gau`UD3*C1&H9tY)!r]Z.UKm/:AWopb,-.Y$P]nI;_P$u!q0HAOO+.(m\KaM-T_k@,UD(rm4JHnB>uaR4QE[e!Z3U&o0-@[]_14F*<ALCHN:np#O_c)?L(h]>:Ym]?jS(ul4gtVQE<qo!h:C='A*g/k\P`72J:Hi^KYWiXUk9a6($?`/V,X2(oK9"nE)tQZEuRE5=`>@q"Bt869Fh4^\KgB%c#(1bu.!r^h6pKN3a?`T35\?KsLb?5d%s#$Jm;s*85VMegD,cIP2.#3!'[^3*YPd:5BU7*(_aM!.j49'cA$0'4fjX%CQ@qJqmD4p4rkm)d,%!KS;+bJ_:/\-@f9(9,(6_=J[']N#oGfP*hm**?Zp?Os5N^AC+5IggH&:bo$Q#-+7V/OKE0%%+HB2_n5=A%4WO7iLi,]%eSSVk;1=OE9lr]D>,E%j3\QG(jF#(GVB<94W/ZeVuAPqi,eYQa6r=i3endh)`*6NZ2nsj#a6t,[hpkgam`R;f$H$W>+$ie$`Q0u*^Q/*"3CJr!Amb"JuOKZL`Pq4&7WGKgQtC)k;0s:iFDf*6t31:8@;mao`rBYJ2*o[<5=!fQ.Xc(pD-&`L(E6Zcd`XY6dM;37jlFmQ*0*pobf,QC2p9J50h56<q@R@04(T&]MD6Akp_8(P=eIf]+*?-WC8:T0Y*mEMNai9Uqs>sir!%":4O]MP/74&RCIrV*,nesJm*[UmbfW&"Mq8Dbs9DuRZP!29\fN]e55_S=U`@`[\+7hVH2itN`gYpicG%WdOGB#>qO't_gkRB\>1**Cpt[[<QaEqTh@C8%d2,YFI=8-'?M_G2%!GYmeR&EI=gTe@L&+tJK&$MJRCR/L<>[u;F!`/1.3D)=B[rr&lMYO)m*&e@>KR&XL@kgSOI#e25>6se?GH>OZEEI6IkJHqYj=[<MEP,(>$Jt\]B$gZf:'Zfe8FiQ-POH?Z9e4AjU)5n^I7aO:^:kFa(0PPF>TB[`:F2WsenbRX)@h*;%=lN?^*U$TUNbDG'I-H-f4$_T$[/KsNI82!(Ba*:m7p=/g\.2t=*AY+`^F$L_1%^:'+TKFecV5:?E\IOF<_@`*>Ul+$UB?N*<c-WeJ52=@gE/RC/_)5u%5MB0o<CtD[.j>(>?;PPX`UhHVTG5#U'Et'p3VdGZPdPpb6G6lI[k8IsF:;83*UgK803r='A4k)..ETKI*e,4uASfZ"?n?aD0-h_TnHq(gme1A?l<c\FLY?d6,QJ3><\H8qc0$#roCQ7kQA0,EN*#ct\%?r'q>lHiR&WGS\GJ1ik78?'@P+"(rEOt"t1Cr2:?R71jKg>bjPq9g0opN$`$?HBe9VlI)D\V2b9)WO%n.74(Ci$5JH)PY4Zp6k/XC<cd$BbBeopD\u+Q!U8k@t_WlbH&hTHNfnANd$>=@tNQ3*@c]oYeq/NLV)0iaiD8'7Hk.RCJmW#1J,^RU.2g[,qL@(^WYU9C"d4KHYD!/>i+<B\On4RTNguS3VfcqoNS4oK2sOh2Eo@q(dmOLuEEZ>R'f>=Y6@E0#6a%iapQ`&WF?Nkm4lT:VZ;rk4\4jL8DHIn?4L]!oi^<lSM6#OtACW6jSu#Vf7L4Z4q.7L.@js8p;;W![)F>E47r2OHhTrm<?.k97j8Q5h%BuV<_)jNc"a;cI">(QSDaIJoi$/<tK<.b,e9<&4^dFE=2#Np6Ss\OJk"+X!ROXp!4SEAo#Y,\6%'?8707WH:S,;\hQnc@qX84M..dp"\[C1WB.SM1hD#S*Vmm8>i%'$aI8&.$T<d/n?[eZ"P!&iU$aMLD]8jpH%O6oIYtHuHT!q<K+cr8Om'$96t`#<(!Za5?@k+l=@u;C7M-_fEnOL8=D?-YO"uI[;O'@oR&anKplGPh$b_bH<irJ*bNT[(WPo\M`@P?9euBKAB`/IHCanW~>endstream
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1977
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb"/(gMYb*&:O:SbbJ)^X@VXALB:6:Af""u1f=)p@)5AIYI^%`P*3H3Y?t+hY>Q>d9sZFU5[XsS24Q[>3&aa>^]I\f`YlR+#d<,aTFA\!TJj%u4GQKfpbMV"W)li8>iGr=fQr@[_8i\^2C3IQ@.Q1.PNG*J\%1\;f>21Rk[6RV@W<L,$omF'gWTm1_?;87NmYl1(Duh$h>F5i%+>d5b'u7<^cNF#)<QX/\Eu`?jq>Oe4#G73=MP6I,7$M$p^0c>j\Nb0a3"h^fkHK0=G-lrE1]-p<`#,B^cXq8Ah9o8V%okt0Ok8pc(CFfnEVd&Slb/=#mZ\sS2(3"k%SU8cF5^6FJo1LNVFO!j$KTOA\*RnR\;9j;75"FV]g_\/L6.hTEl0f2#[jjd&8'Q/LiIeGFV'Q7Z\a)Qkp$R/N(c\<+;.CLkb^!#TDrT-/Gt0Hjm><hqpLV,-.>[puu7C;rTum*GQ2\LU"2/a_%RY314;$SY(k)7%r1K,-%7Y6-u>->eiZOWlB<-PQ92:_G$4&$.2R%i`,&Lr^71,(Jru_#[#E,YY>Ve]1;!N#j9B1W-r4R"12Whk5s6k:\OrZ$);r2k#"UHlW3ie>PdqpJ(JgKYOu1h;i$,-2M--tQf_M-3C1.h$ZfcU%FOZ;c;@)%IEckNk9/$?6s-!2cn6(`FW`D"@g5m,GV]@,V(O!1;jBsWa9:HsHp\Q*c;>V">EoP<%$MqgKSkci1\ak*<5Y,DGMS`SQTBQ4`3X_CIA-sj@Q0<ECL"j+Q'2a!8OrQ/2m%48W%a8oc9TG([0Jkj]JtK:iphU`-e`M%l'E$B\*\fh+d^WI0q>_7N/"V@9[^eR_u56I2X0`nnsnb90CHXR3?c'IOI<--RgDt#<*?5D`*EV;N7S::pMlJNJ"5gd@CX<;RKSTm=$[6E=#6b$@Jm-cK#4%%U&+YAICKd`mNUc0e/h7V9`Tqu)ThusZ/5/kN_2O%2V[<J0)J_*G"8&hOmJ^t&W@Nn$OoaV"B1WBpE]dG@)NC@JK8^bW`1jXJqdO]<G?AbCu>3Qr?VA@jKf>0l4W7P#J%c16N)IT]jKW/N8_qo^UBj3KF2`#o2HN8L)J33M0XSem,44SR_*UsW[C7IQAG_VVjVcB(dDa9AM;s,n.CVeQDT7fWg#gZ@ajZ8KnoP;2YDP=d&.>_=ncK'DZmRsfN3Ou7c:Z'VE.q@\,%%]gFqu.cX!\hg^FsEpP?kO#us9g9f^se+qiE#=X6o&1Cid<NfMl;]%js3XRbo`s7h7m,4p(9?(AV+eDOu.HYqNp\U\sa"SSNod*;_Wn_?`\B!4(9/'TZl[lFW/.JK23`3BEF[_j8-4[$Q:\E-07i_t(\J]k+Yl1sDXp_ol8GW!/p4eH!Z2P#T;?^u7t]IY1Vlat@C$<Ll"@X4eM#.@<amg%uI?k1f_Tu!*`m'X)Dn9r:s+G%QQ3rn7F((FMFZUX:b-o[VEKY(;IEWb;]E8hPnoFf4nE@fE:8i[2-Z>5RJkdX;p2W;&nCqRZc0Qq8)4Vrq!4PQPpQiW[X+C@UnApG<<;:FF="jTL[>?I'([s5]="H5CEdF:Erbh56reRfa[%klhWIZ'#R0/pLb^?@M``85]2dsgB,J8LEeI%5@Wc$L#8o.jgoZ@(d7o1e3)QqOqm`')RMk-T&Q3[=Df.B.NG/LHQ<?a7ht>_<@00%UZ(0e;=*.<XIPFgNJY=m&TD][*Y/%Zc,(&O]R36hL>0Pf$9YUm]&!YCM&#jR!pC!Hci@\Z6[WA],UtDQOS*191\]q.eH$Y?ECPXXLSjh_%Xh.2:RZZuUdeRM;o5II'\2a*GFa]i%m>N42pW\t1;XR@05D0NYP`hC8Yu,O*SJ>0b<6n^5pU')5u?FU`$QX\@Ztb+aZm+M\8Qb?3!;Dl36_^q=P`!EXEh4t^-C>Wiu`]j):Q=4L,h7">pfK:&._d^?o,jK#?51rCRRKfFfU<KIN3msmB&Oi$$`h&.Op~>endstream
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1450
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;d?#uc!'Rf_Z33uCpAtgIP!qr=YCm*&=PKbKB9AKgV.k.Fu7tPj:?f-u"(h,1:\!]u)%jBB3+6Od7[7&uh!O^N)"$X^!p+lkp&O1kn`'\p/ZZu1!H^WD4$D.tQ\P_N:a_&"L!07cH!&i:?8*^a"H7\RUqs77ocG<a1iiiu6#0%KgSf>O4]DuN]2qaSr,*O)<efXR<K/CSnonUO!:5bpjA6t-Ro7B!o=Fk_BI%',1,&d\Y%H;$=LH+Sr5Ds0`QA2p[dKpa84Q=a**D.;@?,L==Y/eq"KKH=[8U3\H"f7NO]D`XR2l_+)b"TVLL`^asB-(&e!@8ET+<`P'/i=CWA[*X?$B6E5XU8o*g*^T?*oIUqTdIpuM5[fV\-4uDo#LC%;B>QK&p[?OO(km;Cd^Bf8Z`B*,QeYHMe1EWCe(3&f3#"4j(r9dM'n^X&e"LbOXeFgbMhul.#$Aqo\C;P7]OLN\HhW(a,Bh890!'?i)Ju8W+6q'd&ps"9-o]Z.V\]0O;3%E(.oth'p`R"Q9mmq_\ZHiP\K]X/G07rpusBAJL/?(LIC"%-+C:hBLi2BQ^2FE?H\YhL#iH2a!_4g/9$"Khi""NR;mi-j4!=@o;YW5EclABID;&B!tt-c])a>JcI]=B)`WHd;A+_HH'su.+62BMXM^r1a9rtP$pd3P"7AN>=gp5\E'5Fr(ZC0=:_JhE]<,97Lp>(B1!lfG3O[AHD4PH?k+F9\.np8O)qK#a?lc+;T&YXqad4t^i56'3o?I,9o8Ns3,`P>sf8iZ!W2\EVo1\V1V8S?qW87nDZJo,MYBB`G=F1&T^Rk(se;6f,b1$]4Np+`geOfXVA^Ds]a,;LnpD*UA1SB@<,c3,f/5!1cS9^,adP'saekMDQ%c8T3HO+.SrOr>YP8Od@_S!R8.V6>U8:D;A=;74^7]J#i\eYPZ\MEao(8<DZ[?.79Ssq(2LPR4]5OT`U8YsTSPA4GVs.*,DQ!DF9BSZm>+n7U+^'eeHhPS9$%<+us(I-+lSnB>0SFZ`!s5'<mLs<,;&"UFEr\^7EBh2!3UskiW=M/?V'/:nVa.h'^403bLI]QiX)iqCXfr5um4lfi-0m_=:Voc[C1!Foj.Uk9sG,Rj_R;n]KDGl@C3%`:uN8&Goq_Fc84\;sJ@>O75"H+h[G,3+0M,B0`CdN[>(bNa&N*:=3qsg1s4@QDk5K%P`U96-9^i4:=K-.$D,K.(h[h*0W^'!)Mhh9Sf;Ea>sYPuFHrp>!Hqep'JJtJ&V02@SkbR*FU@Ft:%EHQ[)/fP_Lgl6C?ZZ2F>s(6mT)6oZlDD0g/HSD?`@(DfH_rhF$9OSTNF2ZG8mCE*3^Yg#UnQOFt#7rCoc52QM/5og]o2S:C86&^5hQNFDp\Si;=W$RSmf+5c7"%Ca'Y0N*Q,II</$VeJ'FGI>lRGP-UCJ&.8(2s`ea3dO^ArB1=P*~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 26
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000112 00000 n
|
||||||
|
0000000219 00000 n
|
||||||
|
0000000331 00000 n
|
||||||
|
0000000436 00000 n
|
||||||
|
0000000641 00000 n
|
||||||
|
0000000846 00000 n
|
||||||
|
0000001051 00000 n
|
||||||
|
0000001137 00000 n
|
||||||
|
0000001389 00000 n
|
||||||
|
0000001463 00000 n
|
||||||
|
0000001638 00000 n
|
||||||
|
0000001748 00000 n
|
||||||
|
0000001853 00000 n
|
||||||
|
0000001967 00000 n
|
||||||
|
0000002136 00000 n
|
||||||
|
0000002259 00000 n
|
||||||
|
0000002400 00000 n
|
||||||
|
0000002518 00000 n
|
||||||
|
0000002661 00000 n
|
||||||
|
0000002775 00000 n
|
||||||
|
0000002880 00000 n
|
||||||
|
0000002952 00000 n
|
||||||
|
0000004955 00000 n
|
||||||
|
0000007024 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<5d2b11c2b14f44110a1ce39aedf6c553><5d2b11c2b14f44110a1ce39aedf6c553>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 9 0 R
|
||||||
|
/Root 8 0 R
|
||||||
|
/Size 26
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
8566
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
# MANUAL TÉCNICO - INSTALAÇÃO E DEPLOY ZAMMAD - DOCKER/LXC
|
||||||
|
|
||||||
|
**Código:** ITGINF 0001/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Documentar os dois métodos homologados de instalação do Zammad: Container (Docker) e Sistema Operacional (LXC/VM debian).
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Servidor Linux (Debian 11/12 ou Ubuntu 22.04).
|
||||||
|
* [ ] Mínimo 4GB RAM (Recomendado 8GB).
|
||||||
|
* [ ] Acesso Root/Sudo.
|
||||||
|
* [ ] DNS configurado para o domínio do helpdesk (ex: `suporte.itguys.com`).
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Opção A: Docker Compose (Recomendado)
|
||||||
|
A instalação via Docker é a mais limpa e fácil de manter.
|
||||||
|
|
||||||
|
**Etapa 1: Preparação do Host**
|
||||||
|
O Elasticsearch exige uma configuração específica de memória virtual.
|
||||||
|
|
||||||
|
1. Acesse o servidor via SSH.
|
||||||
|
2. Execute o comando para ajuste persistente:
|
||||||
|
```bash
|
||||||
|
sysctl -w vm.max_map_count=262144
|
||||||
|
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
**Etapa 2: Clonar Repositório e Configurar**
|
||||||
|
1. Baixe o repositório oficial:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/zammad/zammad-docker-compose.git
|
||||||
|
cd zammad-docker-compose
|
||||||
|
```
|
||||||
|
2. Defina a versão (Tag) mais recente estável (Evite `latest` em produção):
|
||||||
|
```bash
|
||||||
|
git checkout 6.2.0-15 # Exemplo, verifique a última no Github
|
||||||
|
```
|
||||||
|
3. Ajuste o arquivo `.env`:
|
||||||
|
```bash
|
||||||
|
cp .env.dist .env
|
||||||
|
nano .env
|
||||||
|
```
|
||||||
|
* Altere `ELASTICSEARCH_MEMORY` para `2G` se tiver pouca RAM.
|
||||||
|
* Altere passwords do Postgres se necessário.
|
||||||
|
|
||||||
|
**Etapa 3: Iniciar Stack**
|
||||||
|
1. Suba os containers:
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
2. Aguarde cerca de 5 minutos (Iniciação do Rails e Elasticsearch).
|
||||||
|
3. Acesse `http://SEU_IP:8080`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Opção B: Instalação em LXC/VM (Pacote .deb)
|
||||||
|
Ideal para Proxmox containers (LXC) onde Docker não é desejado.
|
||||||
|
|
||||||
|
**Etapa 1: Dependências e Locales**
|
||||||
|
1. Defina o locale para UTF-8 (Crítico para PostgreSQL):
|
||||||
|
```bash
|
||||||
|
localectl set-locale LANG=en_US.UTF-8
|
||||||
|
update-locale
|
||||||
|
```
|
||||||
|
2. Adicione o repositório oficial do Zammad:
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg > /dev/null
|
||||||
|
echo "deb https://dl.packager.io/srv/zammad/zammad/stable/debian 12 main" | tee /etc/apt/sources.list.d/zammad.list
|
||||||
|
```
|
||||||
|
|
||||||
|
**Etapa 2: Instalação do Pacote**
|
||||||
|
1. Instale o Zammad (Isso trará Nginx, Elasticsearch e PostgreSQL automaticamente):
|
||||||
|
```bash
|
||||||
|
apt update
|
||||||
|
apt install zammad
|
||||||
|
```
|
||||||
|
2. O instalador pedirá configurações básicas. Siga os prompts.
|
||||||
|
|
||||||
|
**Etapa 3: Configuração do Elasticsearch**
|
||||||
|
1. Instale o plugin mapper-attachments:
|
||||||
|
```bash
|
||||||
|
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
|
||||||
|
systemctl restart elasticsearch
|
||||||
|
```
|
||||||
|
2. Conecte o Zammad ao Elastic:
|
||||||
|
```bash
|
||||||
|
zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
|
||||||
|
zammad run rake searchindex:rebuild
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Instalação Falhou"
|
||||||
|
Erros comuns durante o deploy inicial.
|
||||||
|
|
||||||
|
**Problema 1: Elasticsearch morre após segundos (Docker)**
|
||||||
|
* **Erro:** Logs mostram `max virtual memory areas vm.max_map_count [65530] is too low`.
|
||||||
|
* **Causa:** Esqueceu a Etapa 1 do Docker.
|
||||||
|
* **Solução:** Rode `sysctl -w vm.max_map_count=262144` no **HOST** (não no container) e reinicie a stack.
|
||||||
|
|
||||||
|
**Problema 2: Erro 502 Bad Gateway no Nginx**
|
||||||
|
* **Causa:** O container `zammad-railsserver` ainda está iniciando ou falhou.
|
||||||
|
* **Solução:**
|
||||||
|
1. Verifique logs: `docker compose logs -f zammad-railsserver`.
|
||||||
|
2. Se estiver "Booting...", aguarde. Pode levar 5-10 min na primeira vez.
|
||||||
|
|
||||||
|
**Problema 3: Instalação via Pacote falha no PostgreSQL**
|
||||||
|
* **Causa:** Locale incorreto (não UTF-8).
|
||||||
|
* **Solução:**
|
||||||
|
1. Rode `localectl` e garanta que está tudo UTF-8.
|
||||||
|
2. Se falhar, purgue o pgsql: `apt remove --purge postgresql*` e tente de novo.
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Serviço | Porta Interna | Porta Externa (Padrão) |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| **Nginx** | 8080 | 8080 (Docker) / 80 (Pkg) |
|
||||||
|
| **PostgreSQL** | 5432 | Não exposta |
|
||||||
|
| **Elasticsearch**| 9200 | Não exposta |
|
||||||
|
| **Memcached** | 11211 | Não exposta |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] A interface web carrega sem erros?
|
||||||
|
- [ ] O comando `zammad run rails r "p Setting.get('es_url')"` retorna a URL correta?
|
||||||
|
- [ ] O ElasticSearch está com status verde/amarelo? (`curl localhost:9200/_cluster/health`)
|
||||||
|
|
@ -0,0 +1,185 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 4 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 22 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 10 0 R /PageMode /UseNone /Pages 21 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083552-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083552-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 11 0 R /Last 11 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 5 0 R /Fit ] /First 12 0 R /Last 20 0 R /Parent 10 0 R /Title (MANUAL T\311CNICO - INSTALA\307\303O E DEPLOY ZAMMAD - DOCKER/LXC)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 13 0 R /Parent 11 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 15 0 R /Parent 11 0 R /Prev 13 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Count -2 /Dest [ 5 0 R /Fit ] /First 16 0 R /Last 17 0 R /Next 18 0 R /Parent 11 0 R
|
||||||
|
/Prev 14 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 17 0 R /Parent 15 0 R /Title (Op\347\343o A: Docker Compose \(Recomendado\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 15 0 R /Prev 16 0 R /Title (Op\347\343o B: Instala\347\343o em LXC/VM \(Pacote .deb\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 19 0 R /Parent 11 0 R /Prev 15 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 20 0 R /Parent 11 0 R /Prev 18 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 11 0 R /Prev 19 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 5 0 R 6 0 R 7 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1880
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!SmhfIL2&:WfGfLO@-'`G=Jjc'h?UR-WJS5-9NHZ6emIDo6%6`uuj5Q4,-(]u[>gWO_cJM@Se?1%(SBie1<@),%oEu"kJHZ8hE!28?,"6#&gG6L@;o;V>\P=lL,";6Tld[++lH!M`3#pL=>m4a+JqA845-6;l^F7-/Y0MdBVF2<cc0npOC/n"225T"O#2o\'ngd?Jf:*6,JH#U=jP!KU2oP>7taYN?'QTjG'KBG%Gb`ZWT5S(pBG^k>>!d_KPLL0/O%Dt:Y_\#K`U4c]3Y;d\'!)et@>QKEJTp&S!mLnTlaotj4)T)H2*IG_USr9*C/&FT>\A3qf8d_6:g(Hj(A?8gm.]^T(5t]N,]q%hiJu$Id/b7ChT\SZF9:%F9LeI*E/g/cik1EX?pM]Kr=!jo"$uSOe1%\jq1\LTGI@js41X*imggmsB0tb1<rs%rgf@Ts/K?nf3lYpljoldPO.5Hs?Mj^;i>X4f8_B_f-3t,8PjJe+>S#e5M>)O#W-'Sm27hB:Nk$n4)-S&.?JuQj!&KAki+N3DrY2:Q<".olXNumq]NPmFh/(K?9G<*6[#oI/m8d5,%CPe%AmU-W;=`bb1[PY+jEoRTV2rb#%8XM[+,kDm$:Z:;0n!21DIiH[3%A$mZF'[^DW=q(!Y]pM]$HFcNAT2=Fb#8r[VW%T_)AjH\,L2@dE0,>(+t7?f%11X#(HZ^qS=g?7LF\mI5S3iKRX./mCgso!0nd[<c"Lj+Gi1+WUkC7s"Ce<p40`3pZ#&qbIW=V:!ioZVeuW=G-q7H>%R%8"#"Opcq/=WV*$`G5qA*?`#i\7X)I8O1Ca:qk!o"JVM[$FXPQ68=jTYh'DE\Mp'm3D>:UDlF,f3YE5RA(O:j*k]Wb="Q+ZEc_gQe="@UFjeAd(#qS5>>0rhDe;S]gj.:u?r*W?P"p`(RY^H1drljV#-(!jZ5m9;A6>2?_9XbSS2.j0M!;I"0ZEeP`:SZ&3pU[8X,!rjJ8@;\O>#AF%64/?*9&KHT'9jNlo'+H9!?dSUY%U0uB7K+:fQYK<t?rto\7?gCubNR&;FFU7ou6*:bc8D*s4>^!P;3Q9,M=#&HL[p-N)LJgpNQeuT68*rCNAcb%jX&0YeRA8Q?lfKU+lp.[B=_pm]:0$`Mm0jdLG.^D]/A7s"k:c98g=\,9m!+_C=aElY#0nRm:#PI)=(,>qORojSTphm+neF9h!WKl`+bGcrQ\=)OgL.Ec^s1RZfll"+(bZSBZZ\pK*Nfjk)o17VXuJ7;*ucUs69Y?oLa!\.^D_En2pZO@@?NI#nI;D^brKjC*>S<..Hh3&3m&R'pGbf/f,8t_Z!QXL^jMc0&1-!b=HqP*>f4/rNe@-F%!8c`U*NFK2b$#dWIFtXdFkBo[LD0r`fFOHbT`S\$h1c0D[31YY$iBcO+P;76#D[rN4;FW#KL/*i-&RI@!\$qlatPdjGg(`JN%F*`pZBKOiXf`@S.KCB>cR6a%*a*Oj_6)oVu&)RBrHcJOmPn+#"/QVeE53\;HI"B0ue0/.cho.-ME$]jE)/'i9cArsH98E/qg6PGIBqB9&0DYm,Z&%[6lLpt\M$drCc!K=M3\o)*9d_WCfK1]:IDAJun!02JLH\S`KR4^J5>P5$\JVD-K@IIsa9%1+).1]UHW9c8,;a;3G>iSnhuAfnkXL7cdM[u"pBEL<jLFh.uY[!Yu(aj<`%qcA\__lH[A.g:_[?dM#En`:$oqpXdHqWgql4+'+0g_JGurlK62@`$oThFi]0EB9qP#[p##V>G(pK>'OEm<tEOa,etug-7Cn=8<]10[T?bcGJB=;%[_P%(P]lI*F-T+E%3u/+=5V)s>KF!<S(0."ar&56_\9]t$V)716G]LkB4UVU^?Qc9Hh?i+N~>endstream
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2150
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gau`TD/\/g')q<+1!"dAZ`#<MP3!Kf$RD]1c,-I/fK&:="9^P=;:nF68lDg=fH5U9V"c7E'DH[$!t:T`W8[66B4`3RJdX3XlH1o5o,0O&;4nuS*e4G?JCtc/ZduV:[oPYM68p1K^`.(uGh2_sDaH\qI@dZl9VKqj+oT4FFl@]5I+J(#Y63e\I@+U(q`aNPY7E80@\>pL>&UKl"7%!7RZC(6/S8s)rm9#CO-5hIk(Z<Rd#7h;QS=?q0'0Y%$p*=;_X&esIY#eQrR%_>V:p[;mbLXAlOl5a#D]`TM<e*dmUn]:g6pP;eFi1ZB_]4X%k+Q'j#%pjRuq+_"$2)SK`tBo>DXYRP1il^W$56TgkH,o;PoH3)O]TGJ4l"IPSjQUo*:DBRmp3ja<SISIB\gO#T76:+8SU6B5lQ4ThNR+npFpTSpfOA/dYkcB+#"1P->."]a*g9cU+oD`9U4R[.\AogCJN4np78mk0HN+N1Ft<)F8sE[1KTBYRh5?dn`J$&;Gg=q6:)hi;YA?G^CQXK810OlfI#SA[Fj3)N+ui)9ZLrQB8nrQJ*GqW3jnUF+Zhn8Ei@&EmF;%kT?7_'KY.'bfWJrQM27Im^Xlio;`[R1^F*WUP+g5:J]n9AYB!1A]I*SS_?32,l_5g[!+hqGb*!\,CSqB77%E+j7,`Un:knEb+'oj`Bn<JlL^?lE:KIeC8XU!!p<6.D(sN6C[sc1_9rE?9S<G<arFL858mJaU#RE84I1'*A`ioGAJpDqY>-YE'<2P/=WoYcb!NaeIIEsPG<H!LnNl4E(bAMJ\p-[2),$]&aI(>IOB_,RC(pCD?!n":HaF=gGBT-)K6mqQAh1%l-0'#G-)8r@d!.tX,YJ4_nVGqn?2+Y`QC&DdHuFEJ&)pfM^``2p?>;mJ+IB-_/h>Fp>k&,jeS-=\WGeV8a;kcsk)5QZ*q5@0?tY[*BN'm5B=Y*54%oSTB;n2)$LiePdJ.N=]=OAic>G:!h-Z5G-b'-0H,$?c0>6j-GNNTB,8R5NO<nOYHZi+aCI>qFr[q3PD3qksg*@"_1rQW.j_/G:%C?c=kcu0:JtGg$^XBRh+^F+eSJ4a,j%oR#E*CO)88Xj&@3S4<%g9.4&SP&FaoXWo^-jtS8uCT*<#eoog:NH']JNMRe?7W]&eh`JU`+2V4[c3D,%KF@?i">TJ*8l@dG=cOc*6[1h3STl+.BpQ'q4SC$GX(:,St>O>Br*I+QubPmglKr94<.n=:i1icTKq=Q(-8J1^pGK%Q:'If?k&F0^S1SgL*g723?uZjP$h[;e0Gnro:lkk;>Zp)oe^?+>M0:e"aaQa7AqS[X+^T?cC+73cf5(>\8#e5t?abj$,/j;il9`<`<3<k"Q$Q]+e`(pm&h=VkM^l.m3k+Y"FK=&IZhCaR=F8(X-L2=E9_%hNu2UGES%gF)!8pB"rKb&@F0U<S0e17PQb(D>If`SIYDDfdbfn6WPmT1nDYQq!@V6YF+5)9hB37/7N4qH+^U)`.AAb,HQ7;re>>a^qZp^I&Mmd.YZ0#SrS#@J"2[RnL'Wq,!n=o/[dNeo7T?d:Ip?G3h7+Ub+sVR_'!Vg3*$m:.,4K*Oq\4ZS`2(qS_An5"!>=8ET,tiRPlWM`qdsXUCE]jkeoFs/@T9IN/@JnO@rcCMPDMtd"X[;W.#c3GgHBt3qC(#iE1B8;ib`jXif!S-J,T+n>P#JRt]E+N+0s'>PO_EI/3d'+`i@kRbY\N,;Wp7BD*%"#A"T"9LIlU-n5a*W,^Zal:Ede`DWfq)oeWGnARCHm%T6FIA-mXR_VlJ<QctYbR1,+Y$9EAs35\%/$ckXV]tF;f)gFP[Tel>4iBcm-6e5('a:TI1PYEi)lj&ZA=XX8<fVW>$6@o,c'aK;qbF%lU'^,-K#eVTAn+DZ4>`GYJu;EaV@78Yg;egRR3OX0>\34Nf:[)5E](<kPrYd8pF&"hU+mifLdi&chk@b;<Vl.^b2Bm$m8ULe;/.m,Gcpor3^)0)p4Q7h/FjXE6\Y,0UoOUDRt%#O8J$RRmU;.Cp9m0LKb\O=l;,!K2.=HB\(;.<$H/ikcg(Ys"p;?s:m\t>1;8Zo[hnkC5Cnk?\@J0#O%7f7;gYg]S_Tcs8(17tamA<ajW:P`!Z?[id-C_?$E\L<'qGQ2rrU(X;$d~>endstream
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2450
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!SmD/\1;(B3`/ER6@[Mj`O^6qIE6+`5Za>i[eWmHr(Z'V*B,=s_Ri,U_9K^E@AdQ6fa->,/lb^i@<a`of@VNm8eu!<]U!@05qA![mFC&.4V*+:`F"EWm8C_>W;@Y`^3gEl8%uCjcVR_5B0lLENl7W0RaKelRt%0[GH._;!'m#4i]Tb^>d'^_fG_TfukOb^_D.RV5BBJI)iIlX)f1@5NNG`DZsc3*0ONa>=]3k'0he0EmXhF%M`gTn!`Zf.d">-?!9k[sp+MI'VK\T<6l<>_[L=K6?[7mo/?M$9[T7!?aVB,iG?YK@FWs5!cn)pqR/U5te_9;mRDcc\7LBW8#K<--4&s$\U:R4<S0O&d9j(;?npk0I1GX-kL2\EudS0%`k?8it=VA&`tg+iQ[TI1lXhE$C>ImMg,WHpEI=M`<Nmd.hqcG"VacuM9AW;nG0u;D!YSi63;B85RcZ_nIdON<Ca5sH0qG.dH@$@%sIt2,2EUAkj;"FMRV$Lj>1KpSb8YgVG&GUfV^>5T-K-G]5V>5+Nt+.P3aBE="Nt.hB9c-9\7%6fF+f]#,+YH1kSr)7@HkG0U%Ds4[G<%@3f=S;KCI6WU6Hq4Zm)N5G-^S2*Q4[W=&UAheLqcguO3uEH@o*?a39-OAiZF7@$GP-A;ru+Al<8&;r!t/;$XAMfbgOQk%GBpf6VDCJ.buq%2DuqU3BIAcB%[GGXF>,V%!F82_r6Z^Q]j9dU:8Oj4=H6R!2?T0R'=10>kO&W^93Z1ns3,0f'Wm^`i,#uLo;;@oma?&tp1[!/7c6o290m(SRT/3oFs>i]?;JA=jH_u6XcD<Ahf0$<4SC%em%ai7AfV_$&%(d0_LoF'cF3)7@bWZ$otF$6*OjJKiE##ak4<=l/e(K"q7!sr/bqbD`n//R9sk3]W*?!T*KjMg@e92^Ngrk'MQVdNC0>YO+YR)'#ib6RQJE;;JSd`3CX\VKqF$D.Mus+hp4Z]Q##S7PSOV;>(Y&;qs-$'8:RAI_k8C?\EC.cAlA]j?dY"MsP)8%6lo+X'nXm'IA[bbh0r>o+tp$,Pi6,ec).+TdO//5>3Q;JLIL<iJ2Rk6Rb_5D,=>6I-p/)jA+C>RCr.LgWcJ'N+r>*@3Jh!g`DLr]*Bj[i^i%XJNR37KRHqW,cU_&gj;i<0kk<*.PPGGue4M:rF!@1c0u%Y*q<3Dj0o?J,9"Q\^>`'`7ARg`siIaF($-(!_bXl1,U^s$>^QK9X#)lT4(U\Gp/jgFtq>2j(8XU71NKJC+3RJ1.i/p/+BkApe=Bu\MP&:9L>bFWd!#RS>!_YPVnHe+?oA+bmnJq,qQX_jp(O,LCleKrhQ\G9EVrM'TV,Lm/20Gl?5MNICsrO4`82o!<q9Ae,s/$r%$[NHgjt#DXF>1aRQM#qga&m.(bu6N!(aENY/0T!$`7qWp`;YV>NuN)'t*MJ\P"6C^(j+br_Dsn'.?VqMf?u?Ohb<?@0UU*.R(*H7e5/LCrt[QA;\i=(*'\f(#b,!p$i)WbdQ&(lkG!7cmHF*N;Xj?N^;&G0C9PrjV@k7d40nAXZ8_MN1CelE(`]7r=]&+#3c.G(&moG7E$[NL4F,po\Dgr>9MF>$O:Y[W_2BE,#ocWi50GFPdu<Ba_bt544sB7uLd@[0'1>rdXN^hLcX%3<CcoV*PW0^,:jM?sJK7^=4,KJ<-br8NrT`IFgKq_/YOO7I?qZ0-/pg8Lk\[`P(`)UBL'[3a<BOT-KHg5FI0K]T]\9KRBCo>#?Gr'%3,5,KA,h*=Dfe&GWkEcd5X'>K*K8f9Db)DlgOuh>l<\fVr(:Hk;Y5o<MO\TN.2Wql3YuqgDIRG3ONX9la=g\uaGnIEbhc<he><9juYn5+&sqFG%;;UE0469>k%C?XBeOm*Yp:RUdctD8%JS]6$<=-J=`:DY'-VQ0>YR;s;Ci\!M!ZGAOWr^OOAs=4!;#8h%BX?Y<TGPEH\GV3G9=YHoh4(\ph\V2c;S['2.=(\LN>SNtdY[,J]BJHZhVnk(d\#S(QbMfk-.oMNc`KtSDZ@f<P!10eSHoe-2[l$bU9g$]!OY2>!(hM(X0CNEq16n@JIT'l]o@D<Mm#NW@IqVg1;[8artg0:l]YjF.$!GG3>V8(X=iPW08<q:Z"Q6(Y8c`SnHc__+t;his_]YFAhG'/bH-/n:.hL0f2Ggi4e)Sh"LgEbQ,NXr<'Vo82n?7mSlEratlYFKaZU]5j/i=$pZh7=>pKEq;hKL0H7(Qc`AUmY<ag:&Y.)"%n?oepmE,65"kR`]IXBZqkUZ(nAn5oAf0"ZoN^%BgO$QFWP&c"0'ZrZng'KoUYO^4+UGr0n"Kl)Y3dm;n\b_prEgoYrtsq<.@!&`+>)*l`F^Gi&pA6C!qkCgLYVP^4ZP6mB!seZUYImP5FkH8Y.GLtW0^S]^M%dul]d'#mA+97:h.7@^Q-,[7Wt2UP]js"o8BrrK(&@Z^~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 25
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000112 00000 n
|
||||||
|
0000000219 00000 n
|
||||||
|
0000000331 00000 n
|
||||||
|
0000000436 00000 n
|
||||||
|
0000000641 00000 n
|
||||||
|
0000000846 00000 n
|
||||||
|
0000001051 00000 n
|
||||||
|
0000001137 00000 n
|
||||||
|
0000001389 00000 n
|
||||||
|
0000001463 00000 n
|
||||||
|
0000001633 00000 n
|
||||||
|
0000001743 00000 n
|
||||||
|
0000001848 00000 n
|
||||||
|
0000001962 00000 n
|
||||||
|
0000002131 00000 n
|
||||||
|
0000002257 00000 n
|
||||||
|
0000002395 00000 n
|
||||||
|
0000002538 00000 n
|
||||||
|
0000002652 00000 n
|
||||||
|
0000002757 00000 n
|
||||||
|
0000002829 00000 n
|
||||||
|
0000004801 00000 n
|
||||||
|
0000007043 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<f4daea5e906bbf20420c5017b1277ea5><f4daea5e906bbf20420c5017b1277ea5>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 9 0 R
|
||||||
|
/Root 8 0 R
|
||||||
|
/Size 25
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
9585
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
# MANUAL TÉCNICO - GESTÃO DE SLAS E ESCALONAMENTOS - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGINF 0003/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Configurar Acordos de Nível de Serviço (SLA) para garantir tempos de resposta e solução, configurando calendários e regras de escalonamento.
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Grupos criados.
|
||||||
|
* [ ] Definição do horário de expediente (ex: 08h-18h).
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Etapa 1: Criar Calendário (Horário de Trabalho)
|
||||||
|
O SLA só conta durante o horário comercial definido no calendário.
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Calendários**.
|
||||||
|
2. Clique em **Novo Calendário**.
|
||||||
|
3. Nome: `Comercial Padrao`.
|
||||||
|
4. Fuso Horário: `America/Sao_Paulo`.
|
||||||
|
5. Defina os horários (ex: Seg-Sex, 08:00 às 18:00).
|
||||||
|
6. **Feriados:** Importe ou adicione feriados manualmente para pausar o SLA nessas datas.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Etapa 2: Configurar SLA
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **SLAs**.
|
||||||
|
2. Clique em **Novo SLA**.
|
||||||
|
3. **Filtrar por:** Escolha as condições (ex: `Grupo` é `Service Desk` E `Prioridade` é `3 alta`).
|
||||||
|
4. **Tempos (em horas/minutos):**
|
||||||
|
* **Tempo de primeira resposta:** Meta para o agente dizer "Olá".
|
||||||
|
* **Tempo de atualização:** Meta para responder ao cliente após uma réplica.
|
||||||
|
* **Tempo de solução:** Meta para fechar o ticket.
|
||||||
|
5. **Calendário:** Selecione o `Comercial Padrao`.
|
||||||
|
|
||||||
|
### Etapa 3: Visualizar Escalonamentos
|
||||||
|
Quando um SLA vence, o ticket fica vermelho ("escalated").
|
||||||
|
|
||||||
|
1. Crie uma **Visão Geral** (Overview) para tickets escalados:
|
||||||
|
* Acesse **Admin** > **Gerenciar** > **Visões Gerais**.
|
||||||
|
* Condição: `Escalation at` `before (absolute)` `now`.
|
||||||
|
* Isso mostrará todos os tickets estourados em tempo real.
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: SLA não funciona"
|
||||||
|
O relógio do SLA está errado ou não aparece?
|
||||||
|
|
||||||
|
**Problema 1: SLA não aplicou no ticket**
|
||||||
|
* **Causa:** As condições do SLA não bateram com o ticket.
|
||||||
|
* **Exemplo:** O SLA exige `Prioridade 3`, mas o ticket é `Prioridade 2`.
|
||||||
|
* **Solução:** Abra o ticket e verifique seus atributos. O Zammad recalcula o SLA instantaneamente ao salvar.
|
||||||
|
|
||||||
|
**Problema 2: SLA contando no fim de semana**
|
||||||
|
* **Causa:** Calendário não vinculado ou mal configurado.
|
||||||
|
* **Solução:**
|
||||||
|
1. Vá na config do SLA e garanta que o **Calendário** correto está selecionado (padrão é 24/7 se vazio).
|
||||||
|
|
||||||
|
**Problema 3: "Tempo de solução" não reseta**
|
||||||
|
* **Conceito:** O SLA de solução conta desde a CRIAÇÃO do ticket. Ele não reseta a cada resposta. Apenas o "Tempo de Atualização" reseta.
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Tipo SLA | Definição |
|
||||||
|
| :--- | :--- |
|
||||||
|
| **First Response** | Tempo até o primeiro artigo público do agente. |
|
||||||
|
| **Update Time** | Tempo até o agente responder uma réplica do cliente. |
|
||||||
|
| **Solution Time** | Tempo até o estado mudar para Closed. |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] Crie um ticket de teste que atenda aos filtros do SLA.
|
||||||
|
- [ ] Verifique se o painel lateral mostra "SLA in X minutes".
|
||||||
|
|
@ -0,0 +1,191 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 4 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 10 0 R /PageMode /UseNone /Pages 22 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083552-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083552-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 11 0 R /Last 11 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 5 0 R /Fit ] /First 12 0 R /Last 21 0 R /Parent 10 0 R /Title (MANUAL T\311CNICO - GEST\303O DE SLAS E ESCALONAMENTOS - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 13 0 R /Parent 11 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 15 0 R /Parent 11 0 R /Prev 13 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Count -3 /Dest [ 5 0 R /Fit ] /First 16 0 R /Last 18 0 R /Next 19 0 R /Parent 11 0 R
|
||||||
|
/Prev 14 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 17 0 R /Parent 15 0 R /Title (Etapa 1: Criar Calend\341rio \(Hor\341rio de Trabalho\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 18 0 R /Parent 15 0 R /Prev 16 0 R /Title (Etapa 2: Configurar SLA)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 15 0 R /Prev 17 0 R /Title (Etapa 3: Visualizar Escalonamentos)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 20 0 R /Parent 11 0 R /Prev 15 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 21 0 R /Parent 11 0 R /Prev 19 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 11 0 R /Prev 20 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 5 0 R 6 0 R 7 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1900
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;ehf%4>&:WfGQq($pS,MGS3tE]9i_lcZ;K/\cSaXC-4,GJl;]Ba?l2LJ,Y//au@k/"j/r9SeRG"!H^=h2m&AWgIkZ<6;nCE06G6A0Tk8jn!*1RtPS_huTf3U'u^^s%=e1,n9=1sZ;!h:C='A,Mr0\Ci,9[9F7J+qe\>9D@qKeP=!=TN"@0htHYhul:^16a`?5>/PBq"?@hJ:?RpGk4]8"1V,(bpn\(T$+Wc).s78/i/;*8%o31+;`s`!Tsn#WqL;-pJH^>?>IFjQ9`A$f%,,)'-[T&92^CH5TkL=`EJ%d"IZ,uJn[Lh_Yos]4^u4B6q3(L@3A6;i!)W;#b]2g&k,bCeu2(jXiF+l/<_1?<KNLL8Wc@lEbHmuY-GsojGX)u&f[\SaAf2X)X?)9o[E;!JP+!s3Z61M!+UB7\.#\]>hcKm)(p(TpMI,NUZ'I63kVkuc>3L`pjIC641sEA'Y#As@V/J&-6USO@1q__*^cA>3Nt$L$I^:P)KWi-.7_FC,7$*"Ok>/`?pZ.`QmtdcfFa,F+W;*,rDPD/>UEPa4X=)i&m[D!WXfbU4INncN%qr?!rdnU`6M,-[.LXT\rZbP8SbD$*IBu@*@]=Plm[cIQZ;R9/s#Zh,WY2Z_B;Rg8X<eH'^6G^Z!,R[5)3:#A(TSk417]A,pnrm;fS&/L,9_o8"?2D_\)CV6rI^V'a;(NM[C=:-`@'ei"jV%5S1T#.-aYf=%p98@;^Rd/2S0(SAg"0@1"K8-u.j=m$Lce/O%-,/r`b:c"3Wo=pt\ULeGm!^ik(@8YncQ"hKq.A8uM#7$e4330C:.=.t/0jK:dVh&pCY*d0dT&@`B3(^N%kAZ2]`,m=]F-UU9GN26Q>+<_J2\'\A:XbBlub\MQ4fm+k>=#!<I5RYaA'tN?h.ob'.N:.;MF-rt5KI&5?;D)urrN(7S7-6"12U)(U.Q6(JTUCme62WQ'$RE[b7m5Y/PI)W:OWU_UHZdHf:+Pf,KM%<lgc11S3g1ckiN=FjP6[j>.\0*XETBXHZ7?.hAEf^E^M<^W]Sh91:CRas;u"]an>1n6+bYqrpc]eop*VkYPoHmFFN<2ZnVStl4h4_pTQ-U2Dt&JboRfVmZ<1[tEk?3mUQEk6)E#ZH#E!i,Ed-ta\BrUKg[r\;#PrcFnd2"ZrB`k9Dpp@4+6YYZZd!r'Ei]%Z3Gs5+o<e:eSu2ha2*>_Hr/pqE"J:c/$$FF0Mq(,p[qh=@]B-K?GbKZB[7dg]o%IQc-(,M8R\?F(CnMIKlhp>c750)c_0./tcSGGQ8QruU_0!A[1TTmuM=73p:$SQ/oTM+&1'g46]$)k"_km4B#h*F7RS1H`05cO4"[%(0#7k/+`Tnq+Fgub?eP\7ZB58#EaHGY^BZ%S!%F3i_(C(9AhD1#l2.*7YP(D&283Lf=b^=>s`1FPJ8l4,RQk:!75@>CA#k$j?>%TIt5CT%P-I-FI%N<][l+S&B7NtY(51P<04Z\m-Iemd9,uX#1Co<k0RS`n#>57aqr!DD*UBokWOV]9GkA4%)SBU-q,l6ir5)T*p&-N;%-L$ihRd8k&_B93GFU2kLr,r7rHlN^hdCjc:<:p<G[9V=s:1\AIGJhC/#/fi?gUD[=8"X%@V7nI#0@!EC6lIZS,pd0J6pVCs6Kc`Gh*J>/O5"aK_7PTQ?@,HhO=O/F7LGp]4pGp)I3lR%lM]fr+-W/7S"elSj5"H;$+-pWVJ_D;;tm<M-h5oC5jcYY&1Z3%P?"!Mkm7Dci?3^H@+4O;:dXs!"J)<R$$sQ_*r9<2Kh(mI_dF4u8,'O.*m'DZ1lVCS90:3qk`d);FG;pX-]2X98BC%269\RB?T0-]X!<:pa`C@^\eh+eV;gTt7>\])9%.;c?L8;5"c%uh^%6j*l\H)DrWD8?2"1~>endstream
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2255
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!Sm>Ar9+&q801)!&dF)Fbupc,1U4WLGK$?)P*>%gN.O'8^mX<YA\99"Y&p#F&c>[T$>uAp^rk0Pi$VOu)!CS=:rehuKn:P8rNB*%kSsTFBrjTIt4mILDA8aiBU+-]JfDcR41[U901r5C)!2i)2nn!fp\e\7kn06C.ouHocO5Dfr;Q&TN%$o,KaQKY&c<#NdI3:->S:eM"5n&\!2Q-&gn)DQ5o1>ehkT<4ODLN4BnGguSn*1&#?Za9:H'fGVp5"7pTDf\M$45C$J&@GcFV$%2X27pe&b`sV)ChdP)p)GjT>apGC$&D"Sfnf-JH>Z.UaR@d=8E6@n$U-A+UNiN+q0krW&g$Eim'`>%Sb[%6F\q57sbLaBA*fY67AV-7)<57=!Q)Rel^"]L5Aq%IP<Zb@[8Eb9;b'Qmb?AX@e&<q_V)o)m#,OtR:An$$?';&W^'4*[/`8#JD;#;6)%7c4ChjmL@OU/3u2@1ri<T\%g,k*-f.:!9W'jrL)W<rZa<Z6!0.a75g'sL#aYenPU"pM?f0bhJA1lu1'jsVX)"oO/uA0WCZL>>Bg)54cO6P40$_&FeMhtMcKVaY2qiX16B_6ka.E`m,+f!qF9pceZEbb3:-GK,In7]`B.RQR?bR`hEmQCg3Y2aWEHOf/N+c>L\bkTK!!LM?:&!6q)Kkj(okX9=?lK?LI`TtX@DA&I*j:."r]iCRXX]m)'(]+Jde&s[l15Qcim;VBP,^*hJTIQoXFk\AYiL1'>)Np'1##FPjB--RIeK0/(:=t2+&9Z=7'3FGnI^?cLGO72l$#_mgHqmjdL9t&8_qF#CmbG$JOM9i>ZWp,5R:]g&6pQmiVdi^Wk6I)3Z"/H!!>38.d">.hiR1d,rr'ci.(MX'V\?+.h._c5uVpil@+/a`3m.o&UYkHC5%a,28q;nlM5D3:$DNP88W$'2mN?YN7mW/J1NhGd)>%KJ*iFmP_rsoX"b,R`u/k#9(0$6eSr#s4Xd-;G*m"]9`HEk-&9GHa&L$Co_':EM`?I]A<f.%RtOdNs*VAbNaY-pX_n%9n6+DLkAJsTi\HYJr7WbmX49GM4kI:\.:k5+MpPERf8@X;6eOXd=#]%_H@73Z&S=:P^#,'XY[(YK#sn`WqS,HqmHkn=]2b7Bq7cVaIO.I)Gl?h_7#VO;_b#`VurU)6THCj@3g`FmFaD_*io=Lr50L6tOCf+J%e_"b\4<,0b/'rH,54MGUid194op%.p_kdH>H'.N8*JYc<L@+bR)?i"([PSOgknD5M%;T*5*>Z7Rsa*Ss(TaIl-&%jVd6*?16O_ce*;VC;n10Y?a<0aV!2Bmp^/g7U;lmS6]'OX+Eh*[=3RgDCopb`&Q*a[GWd'(]<K$`Tn#cBdm*Y?YWS99A_Zg$jq0mA5:4+%C=-?/]sqXSh#bBO6]B`;oGgWS?nm-!VTroVh%Q<r;W3'\ZPoN;/.hVGPr't%(&\03/,(th2r#.(ML`Ia1>)e2GRL5^IEU4@N,"=/pG)Yp%mmC&KY\NNUo=IejH)j.pgMi]W2d"[JlcNu_,N0C2P9X?%%H:IPN-+kDSA!,^!(jdm3JIf\1Ja6/Ub_")TORHZHZ9fo'WgWK:H"p1k[TpZZU*L'd*\ecLURlDs[D5t@*eAGPj"73b`O@t6jc4nMgJ`D7L2AZPpY!r9+9c"gMZT4/[*R]YJ@g"@1I`?3A0*E?&gqYc%m8)P?`Brj8*HU"1'K6bgKuP/K!^s)$<,Lf7;*W'lkHu&26Kc67/Z@Q?h<;@4_/8T_UB;1G:sF$2o=8%)1>:B%W_B\G3)K"qb6&VFQ_AOD1\m&f!TED@@hZmQtnd^mrghRmL63D6@79HQ9o'kM9;OVH049DC)b?fF!dMJ^<1bJX(ar)cZ1HEN7!1E073d\R`?nmGHA6\SokBm*[PHS46c:KhLr8`k%%ni$b<3k[RO4#Ygi7#%`ScJiSU$cR"?([AkA9@6'/KU(8f$E`'VtePd%J'K@p@l_3pZGB.'j0=5pK>G_r^aUrlSQ+nL!u+`_BDs&%"pBuS\?H]WpbY6d=:gB1S3,jQO^;K[X[.=q59<%H=aZB37(\:Z)BlQEEL<B\KCC"_/u;-JlUXb5b*>LUk0X<I+IKrM3&\8'+.grf\VJ-YurePgp<F=dqgmjUBObmQfr0-'[L^Ojr6n^HaV@p0_sSS7cF5S]-;j]<\ErWs%s+;Mm+&i\0D^O%bc/G7H9N!gu#f[U9>&kjCF[KOT#;:Ml3dAZU7K^uKUh<u+=q(M8n[t4~>endstream
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1205
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;c?#SIU'ReT:39X:E^b!5g8WRc'OMPUl==XU"HVc:T?tW&k,\,KA+%Y.Dj@GTk/f<^fMTpM9^#pB`Ur5Ma_;'1$!M<hK]O>1fnHqr&M0Od@fR*=`]cE!H=%#J>C402rhErAM1;XNOQS?<f5=.[c!Zuo;TAi!=H]8:G+lWns#U1N)5nU#&K(tXkjVM'G7./so'.ut;g[3l5-FbOkgJ$dQZ4Jcn#Up,!$fSF'DO(SU&FU3\6i6tKDZ/nRHZ1b,[9$,]9+jf2%EW&>Pnk-u5]J</4"EPPE%pD+diam,JI!S(mXt9iU>0H["BX'Qqmkh5f]D;.bPV*dFMj8n6n2.u!5mja^3Au`B948]@2N-YCWqS+paTtABaDh2qI'XB1);8[jc_4<!X:8+M56(a&J7WpeVDUV%=TGQnt?hF=E`1G45MO""(_W__R!oRE$"HDn6k.N/RDk[cI>K8%=C]4_?c)@oL:toQ:3'@PK`_NPTQ^25<GdJfbBh"VQ]-e4#^EE]jq)1?Ct'fo6RV4b2fGq$'*)-LlQpa/`,C(JFNNlP.35X<T?qXRj,'.\^pd3("Pl$f%Hoc;VR`J"ZE4!ZmcA.ASn"GC_e5Q?e8mm+>&[;l+GSXe23d2rs`fAFd"/[7VoB:4d2X'HMIjB"5`G#60Y7(eKqY,K$ji^CV.Q`c"ajmY0EA0P/t>n^s./0hU\RF^WXrQLX.tulDdV-!nfJ+8o0YG_<&8,F?8J#a"JLO2iiVa.2Ce9s5U4O*4<\Xd5m9R=*ku/N[`[#BcU>(16)jQOWI3cTe<t(M6%2mgT,Cs%JP1"\^627%e;T)8D\UeENr"kqDAe=,-d?e$oKFL)9usV7]kn=e"BrV32_`t=7Ktk;3BZAI9HjX,'$;FOTshIK,JOYL]O]+1`.#Gb\4o>dlCHR9O'Nk:ZGhj\%=I!rL:tB^1V@%&H8\Y"/.+3/^Se>7]MK)l=BWO&G/1"0V>T5m2p<LJhPU+h:6TjBWr%IguIPbo5s[AO#\tk7%M]S<C;V;:5q>!RCfL7`''9jO3uG(MZjIiVr]u5(nlQO,N"k4I]Jn6H8r6:fhT*8nHU[>UTr'?S)p9R7]K>OWn)FOC*^44df`6>@:e#4=]G)QE^#tQh>+^NV"i&gs.>\N7@.UtX<j.?\(QV[oc!.len)-V<`F40i8&c=Kurj(16ZWl?+p+YRiX\:rr>t#\3g~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 26
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000112 00000 n
|
||||||
|
0000000219 00000 n
|
||||||
|
0000000331 00000 n
|
||||||
|
0000000436 00000 n
|
||||||
|
0000000641 00000 n
|
||||||
|
0000000846 00000 n
|
||||||
|
0000001051 00000 n
|
||||||
|
0000001137 00000 n
|
||||||
|
0000001389 00000 n
|
||||||
|
0000001463 00000 n
|
||||||
|
0000001631 00000 n
|
||||||
|
0000001741 00000 n
|
||||||
|
0000001846 00000 n
|
||||||
|
0000001960 00000 n
|
||||||
|
0000002129 00000 n
|
||||||
|
0000002265 00000 n
|
||||||
|
0000002382 00000 n
|
||||||
|
0000002497 00000 n
|
||||||
|
0000002640 00000 n
|
||||||
|
0000002754 00000 n
|
||||||
|
0000002859 00000 n
|
||||||
|
0000002931 00000 n
|
||||||
|
0000004923 00000 n
|
||||||
|
0000007270 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<af3d8fdc203ba798aa875e4583e52c9f><af3d8fdc203ba798aa875e4583e52c9f>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 9 0 R
|
||||||
|
/Root 8 0 R
|
||||||
|
/Size 26
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
8567
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
# MANUAL TÉCNICO - AUTOMAÇÕES E TRIGGERS - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGINF 0004/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Automatizar tarefas repetitivas usando Triggers (baseados em eventos) e Scheduler (baseados em tempo) para aumentar a eficiência do Service Desk.
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Acesso Admin.
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Diferença Crítica
|
||||||
|
* **Trigger (Gatilho):** Dispara IMEDIATAMENTE quando um ticket é criado ou atualizado (ex: Cliente mandou email -> Enviar auto-resposta).
|
||||||
|
* **Scheduler (Automação):** Roda num cronograma (ex: A cada 1 hora, verifique tickets pendentes há 3 dias e feche).
|
||||||
|
|
||||||
|
### Etapa 1: Criar um Trigger (Ex: Auto-resposta)
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Gatilhos**.
|
||||||
|
2. Clique em **Novo Gatilho**.
|
||||||
|
3. **Nome:** `Auto Resposta - Criacao`.
|
||||||
|
4. **Condições:**
|
||||||
|
* `Action` é `created`.
|
||||||
|
* `Sender` é `Customer`.
|
||||||
|
5. **Executar modificações:**
|
||||||
|
* `Email` -> `Public` -> (Escreva o template de "Recebemos seu chamado...").
|
||||||
|
6. **Enviar**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Etapa 2: Criar uma Automação (Ex: Fechar tickets órfãos)
|
||||||
|
Limpar tickets que o cliente não respondeu.
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Agendador** (Scheduler).
|
||||||
|
2. Clique em **Novo Agendador**.
|
||||||
|
3. **Nome:** `Fechar Pendentes > 5 dias`.
|
||||||
|
4. **Agendamento:** Executar Seg-Sex às 07:00.
|
||||||
|
5. **Condições:**
|
||||||
|
* `Estado` é `pendente`.
|
||||||
|
* `Último contato` `antes (relativo)` `5 dias`.
|
||||||
|
6. **Ações:**
|
||||||
|
* `Estado` -> `fechado`.
|
||||||
|
* `Nota` -> `Internal` -> "Fechado automaticamente por inatividade.".
|
||||||
|
|
||||||
|
### Etapa 3: Auto-Assign (Atribuição Automática)
|
||||||
|
Evitar que tickets fiquem sem dono.
|
||||||
|
|
||||||
|
1. Crie um Trigger.
|
||||||
|
2. **Condições:** `Texto` contém `impressora` E `Grupo` é `Service Desk`.
|
||||||
|
3. **Ações:** `Proprietário` -> `Tecnico de Impressoras` (Escolha o usuário).
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Loop ou Falha de Execução"
|
||||||
|
Minha automação não funciona ou funciona demais!
|
||||||
|
|
||||||
|
**Problema 1: Trigger não dispara**
|
||||||
|
* **Causa:** Ordem de execução. O Zammad processa triggers de cima para baixo.
|
||||||
|
* **Debug:**
|
||||||
|
1. Verifique se um trigger ACIMA tem a opção "Stop processing tristate" (Parar processamento) marcada? Se sim, nenhum abaixo dele roda.
|
||||||
|
|
||||||
|
**Problema 2: Loop de Email (Auto-resposta infinita)**
|
||||||
|
* **Causa:** Dois sistemas (Zammad e outro helpdesk) ficam trocando "Recebemos seu ticket".
|
||||||
|
* **Solução:**
|
||||||
|
1. Adicione a condição no Trigger: `Título` *não contém* `[Ticket#`.
|
||||||
|
2. O Zammad tem proteção nativa, mas filtros de texto ajudam.
|
||||||
|
|
||||||
|
**Problema 3: Automação fechou tickets errados**
|
||||||
|
* **Causa:** Condição de tempo mal calculada.
|
||||||
|
* **Solução:**
|
||||||
|
1. Use o botão **Preview** (Lupa) na configuração do Agendador ANTES de salvar. Ele mostra exatamente quais tickets seriam afetados AGORA.
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Recurso | Frequência Padrão |
|
||||||
|
| :--- | :--- |
|
||||||
|
| **Scheduler** | A cada 10-15 minutos (background job). |
|
||||||
|
| **Trigger** | Real-time (Transaction based). |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] O trigger de auto-resposta chega para o cliente?
|
||||||
|
- [ ] A automação de fechamento aparece nos logs do ticket (`Agendador` mudou estado)?
|
||||||
|
|
@ -0,0 +1,203 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 5 0 R /F4 7 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 11 0 R /PageMode /UseNone /Pages 24 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083552-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083552-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 12 0 R /Last 12 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 4 0 R /Fit ] /First 13 0 R /Last 23 0 R /Parent 11 0 R /Title (MANUAL T\311CNICO - AUTOMA\307\325ES E TRIGGERS - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 14 0 R /Parent 12 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 15 0 R /Parent 12 0 R /Prev 13 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 16 0 R /Parent 12 0 R /Prev 14 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Count -4 /Dest [ 4 0 R /Fit ] /First 17 0 R /Last 20 0 R /Next 21 0 R /Parent 12 0 R
|
||||||
|
/Prev 15 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 18 0 R /Parent 16 0 R /Title (Diferen\347a Cr\355tica)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 19 0 R /Parent 16 0 R /Prev 17 0 R /Title (Etapa 1: Criar um Trigger \(Ex: Auto-resposta\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 20 0 R /Parent 16 0 R /Prev 18 0 R /Title (Etapa 2: Criar uma Automa\347\343o \(Ex: Fechar tickets \363rf\343os\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 16 0 R /Prev 19 0 R /Title (Etapa 3: Auto-Assign \(Atribui\347\343o Autom\341tica\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 22 0 R /Parent 12 0 R /Prev 16 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 8 0 R /Fit ] /Next 23 0 R /Parent 12 0 R /Prev 21 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 8 0 R /Fit ] /Parent 12 0 R /Prev 22 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 4 0 R 6 0 R 8 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1936
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!SlhfIL@&:WfGfLMG\kPM*>P_[NqXAC[W8O1RC>4pi(%f9-h[NsWddm(Qf-P-?4V/\gX;o8UdmI'B0pYG6(&\rpJf["dKn0Wh3[fctjE"7OG%cMa?_TlZSYu=1*E!-e;od`8dA`mQo!%3S="a7cdHCH;'j32Z(cd&#!j+I1"&S<);943]%`i01[_ANo>*93%KcSt88^3QW#d+'9Jf7.G[K<$8(0@_P=&`[cI3(kBQQp]kuN[==J>X8'%_H5+=[i^9oO#@F<=W<Cj"X:\M2pV;j&6Al&?0ZAN#c)[8Q.=h76([7di;&HaR(q@]7i^`<aD%k&*/'.RS2n[b3)F6tM'?[iG#FCt<f]9M0m]Y(QY;^.<tq&<7:muFDGuI!O#$in]@cX95b=CfZ'i>ohq[q_S"(*H\/>aqd"D=7354fN%(d+H:,%B0S)eHH)%DA;A-tKpV13pL^Y4^4q*r<?bbotR5b'XI>aPp]$s@0V$!dTj\QlrB,W<lK?uo"!JhSE-"hS,gae171R$qOsYpC:l6>S^Hk&'*"6qjhQ^.Vee8F1B%;I(,n_pQ_5^_lZ9.c;E$88R[8#7Hr2HEQ9K3GY_OKYc_]I&&l%fgE'f,0%`g=rckA9+&+W:pW!00Nk>W;Sk+]<b=t7GZ%\(@okFP`tkY$M9.'_<#gI4!X?^*M"Be;3(c='O=P/,%JMbp(OI\iS=g?7L\nR]JKX`%1^t[!fu-_V.Y(+[Bf(edB&b+K0d'hJK"=2U[0e:ibUODZIZ@djFXhs5?6@b"c[\iN\4\jSfQIdM<iM=5JM-%$q4.=8d:InP:0_s/f44n$a_bJ%[P6(6/8PtG5i>\R_*G5+9LIX)h,-F5Znb$SKX'hC,tPP#ZC>P+RZ^!bj:uHW\$Co_m)q**XFLM@'.O@0^K7A2?9)@7l6hjc?%aL5nPUtH?@B#%\Vn+=J?6oQ<0nPA6dSN:`Idl&Hko8/YE-90cBGUY<`'j:p@dd/^TD,)mKn4tZ?>+SQdhEC+UGP'q3a>^Uq1RZ*NaFbje==3*TYti-GO<oA%[eNX\TBRI&?D96f<"jGsVeq_Vt6"f\)hVHr_i/5-kuJGJl!R<,1u<q1HQ_XF5krR(s3%e>S8lbu$(EVrfC=m(c2PWn;lsSZ5lLgDMV$m!+_C<Veu<c<i^X['O+Sf^U<eWq:lA#rnF@2hATE?\e0nJV'f]K6j+1aOfqR"RnqT9+h)\HpstS^("+9"l-1bO_okjKCMh?2euK*gYpjo]E-5>m@'oG^29MW$30r%&4J:%o.C;=T?bm`0UFVLnUg1TgLor>,BI[(b$9FY.HE6aF.#=o*`T:`r?O1$B6#k&+ADIaSOt\o]"cE^a]XdX>(V&uX$"Lu$W&O:n'u6f:h`@q/8T&-\QV0Bd02YR<.Z[(N)Gb1juV'*F6G+)&nVGD<ViM$"]m2N"1<!!)=`gg+#LhC_2!lXMWmieO11nK-lc%/_#W39f^D=^OXST5ThH</?"4W:k=<,rEEsMV&D$HqEbRI8"1<T3hk2'l/5)X#>O#4(/??&-$a?MinSQ)(#X7mYdkUJRhbc?-3>gNe(N5\#UPj2$:OM#<[ml3UF$?IW#[r;S.lV4E!+p:E4SZA`R\$QZ'aIMOU_.[<>fTR`q9E2N]qoRRl>Bri"&i!:[e44lAtO^S4-[9^gaCLgnMT-fcKll9\dkl4rNLblgk5\jY3eup?:(gT5?&-T&ffn1b?4ng)J$RJ$iS'B(Nn88YKOV!Yg@-M.p*_g25mA$$g?:&mZ.p\T![/uf6Pe;c&H8"bNP\n=sAXtJ'b0\R%ePbSR*=3P@Q"K[9c1i-EH2[PtP8U*r6GkR03Tc8Lf4?-^Eu-IU&o_FM#-WTN3iN:'UIT*Z,a<[*1eO>fHI&KfIQh\D1n7hEae^[RD;!nj*>&%AmK-%;U1;%nq`Oq,SF]FT)Hk6JR\~>endstream
|
||||||
|
endobj
|
||||||
|
26 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1836
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb"/(hf"uT&:X@\0pa8sP.0dR+:ja#eB(]_P;K.T]PM$:m+&?.!bq);5:n4B*O&2l1odC9/<',c0_<QUbVt'g!tT@!9JV.Y#i;+]^]^AN^^MrRc=%\%^(7pg(/c!Z5U%K4b"7a*5'I;eN:;J8j51\CbnUpHl>u_T30"mrgbD2<%3WfD;MlkI!I,0PJ19L')J<F@bX8K-fI75O"D?9""cVAl8ZGJGV2QkpA'1a$.&It3\P=E/J@pHs+,JdjBO1Wt)LS^DE5t^tI,W@=\B1:!0<g4b8":MUTXY2j,2uimV"r[-:];AD<1>t0"rMV"P:($PJb[BilCSMT$`.X]NY5>+$>PRh:.ZZc4A%E#2]!Re%H2_.mS$cK-X,4fZEhud>>mX!?+:Q]?&-$"C_e/kb$^F""T)`,^K1bAf#$Rdg_jc*g)V7J^3VQ_*V"FEHqi:Jaja`LPF;l$R@@2ji*$k:;j;1oSldQXq$XE8=-GP[p&^8FQoroWiZkr_%f;\A6IIfe:CR)rTZ5XY[t^0r:>]c0KdjEDf+M/7>G4cmP,1cp%]/Yth[8noi\aSYWbao4:9($F=^-2"^q'\/hjT*LYW9_t.]H$S+Z$+3d>?XiUJQI/"$b),T!dQAWilig[pjheI@]V5Z[=kT(Pu.9&e(!SS'PWE+B<B"XV1;,AYsuE<KQ"Y9Vr";F:c2Q]AVKsJ:gql7H,V?d5\o,TJcZK>4K@+J-Y-_?&.@2c%If;=GY]1E5d:;Y[7YZr76)Z:+>?=aC3mV/QA,@f13.^8fSA^pP3^fP$;XoeB'XL((aD1m7f0/`,GKucaifJWo<Uu;Wg*1Y8HLpQ%<JC<F./r([bDG&Fre#]jo((Fs?E?R:"?%<I$&me'Y+KPN5c@eP+Y/'GU!.Aib:\m5O%T)^-!hju3+\m[O&oj]G>cWWM#ZLK)IQa$qDa;jcGC*.(98(:iHH@$ij$9D12>e'US>6VNnLJEJ##?@Rcus/1lBN:\G0IkJ&X8su,sP^_I7rpK$2]tL>\0r8D]lHDM&nktcjm%2'@lWOl2Xd[@0hjK5"Cg6J2ARu&.:&u9mh`X"@mBE:_:\R%;2Jf=OZdOhK.d[DQ@neu<q]^,j9%b;kO*R^@0"9'"#Bcq>%ENjU.!8Fs-j=[%60E,%l;XVf*UEq#NWM1brMbYqf!EliW$q9pLNn&C>5bjD\t,<Zl;9(/$p0^MO&7/6^NGJRheC+N*,g6BV/@92c(IlNUaA%66V"Z$hm:dgeI&;b,-.V?Ac"PaK=r.-q@g2PI5=dq*=^[ZC.DsCQFtN*<Y^=nmIE&N$(omchNKB_PeGP&Je+mV[W?"-`7sa[lKC7%]<Z$d[45H2ZMGFJ1fEaIWH$5p5;'k,i_GDENb3J#SiKh?e_K:)Nr`;!d4'U"Nu6VP'&2M%5ea1j,]!d_W.FU=J5H`2@d4U:LpPH4^rd6_0$h;NeFR28d7a6gL9'X`j7Df=UC"lVkkaknnbIG#pZ5uYn`$XFVL*h[&I@@uL?l1cYe7Co!u>8Y"JL1g4G1a&1b]D:\9&L?5sQh''`*Kh&5Wpa3##buNS:4,l>C2Kgq6qA)^:ol-pWI[;FiM$T$IH7(h)B4]MOI%N]6T`+hC4ra(4jXN&ef.(P!@m)978`".Rja?cA6AQWJr]DTj(o"fKd[:T>1OmBVAQcp_C$d?">8$0K+XmQbq*5(`,QJ8bL,(LN$=8n`N'DXPr`0PDlPPOFg6rR)i#/fTBhH7nN'=7Bpbd'##J"F4<=3"XAsgO,AF.Q.hH_@c4d<'TXF<]1*NOUX/YBQ'n5d3b24m*#!"APs=om2BoSHaNZ$XmbcW72nQ%KDtq4\])#~>endstream
|
||||||
|
endobj
|
||||||
|
27 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1789
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;d9lo&I&A@C2]Lac^Va:]AT=K&CgW?8O`eht6d'<nDKOc>R+bO<orqd0JOeODL;U]eE[5G5um+5H(/9aPA^]Ck3=UG"fi4E&)e4$YCon\Ca)HY&AEUl(l92YHb$">h7I)sIPq_8,4'&!Y.[jbpY'bYdCo^Tu_LL_'NH&mg"+s\HO@t],F":%L.b(su11%E404Q:3aHASUpn@JS)`XJ1`CJ.M^4Cqid163k0.J%7Sac'^6G)#&[P&nijm9_0'pD/L/+,(@`7Y3UU&&FsX@FR/Z`]ictoG@lSf79Y_#Km:I(72XY)-lX;\h?In6!kh`Ek)l&eJ_F?lP8%,_Qel.[AQ")AuRRG^#3bP?g\6WkZj@n"iP&9[=,UlDX]/09:fXi<@7""UKP43]A-,%JP;@L-3DtDq,rgla-Yf"?1'eO"MY3o(\4gGW!1n\F+F)*S"JhV6jX@2g)f42]1/p6G\"5K")5-D)r?Ae8>kpdk.2)WO?fXT.(RWJcG.Dj5V:/t;2OS3/\u;Va@.8F<R+0KF,(&H4:"9kl`\5/pEcu->+&m4._.*l:?QJhAm3\7<Ato'>0';o4?`R^Am?fgUR$$I8mWa5DWi49g.&,,pCF!#jeDaASm`cuDGF&?]ZLsqgkne\Mc/*(7>jWI+%>d1N$<JGfMZXP.e?nW;H3c<RAt;<,t4ZA40_g[cLK^@f'/W-ml,*Wp5El)]P_/!Te]V*VG`Y6'RJ6C,o4id:B_'[_<is.?>7rG6,^EuTD5lLBjJfSdAf)Pfndt6!rpX0]KDa>:A"5%&UOgO]5g_Z(F"3&h-&>@>4Z"L?V\Irh8?[8.TZs'09G]JCC?_TK(JBWrs_m)>RMt8X(H5HBh7^"pa!g#H^a3k\m=ju%$`.!67uJ*83sC4?]$>r\^Hk[9s3nXfJP<GED:CPM#Q\(WbsYKprj[]W!"/G0'b]J[Et)'i![r"/7SVTk&u2/214:/Z1f4qp*`0N&dFX'Y'oNgA-A1u:)J88JhY>6f*CiZfNHZH+LmqKhV=MH/>X/$hd"slmD\:>`'G*I+Xh58DgYX;E=":m,`6(&$ncLC#`n/["$Cus?Kh/]";4QM#!V\-R\_iolT$6a]GNF?6OPHjT@`Ai%k*ol*$a/p8<.PKgqGr:64OQP-Um:8Fec>`2r&Wq@Lk.#:4jJu`sI0=%WO$s2fRf>er%Hm>$pmg-!qn%^ZJ(*7Fpa-*FYE&"magU(>@Ca%f>F&?YT&_VTa7b9QIf+\[E=M#l4Om^O*?mnc,^^G)GTkp)rq7&Gjo;s3iC[=;5hDD@+g\;'2X9g.%JGi1=R'QWgdsNXtD=4Zc]&!r+%L5Q=$H2Ga9MoCVK>17G=L_2DG@97_2RBO94OCS[tLcYJXbcB=)--PRXL,RT,G#k@QUmHY(`+a!s*:asZ(VH.jde/>=rb3:]#:Q"QP+(994M;:1n1R-YeZVt`PqWXjCc=*9;g_7qbY`@F$$?Fb8(tO<Y/@J+HQ!VIJ*7Pg_*D+&\O']hD*7Pg_SVHa'iFCehouAa-gfUnt?Pk0j'DW7.*rs#f^DCm]OWOk"L@9rK,G94e8"-F)G)D"!OTG15Bb*R_?fosY0'=[)_N[(I#-ZmrSR;C5/L"^(Zd[8R)Q0'K[`psH`3sa)o)ART1o4VoZ!8U8PEh]9[a)>!<G-Kqgi)s.2uPZY\H(M)m'?r%gjJ(TO;62;%H!d=&MP+eHfY3joZV/IL/V_;m,5GR[Kh3![E&J#<MNC6g.Z&COUC@FknN$9C3sGsg#f;gW6O[oSpaJ!hbPs%$WPmS[f~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 28
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000122 00000 n
|
||||||
|
0000000229 00000 n
|
||||||
|
0000000341 00000 n
|
||||||
|
0000000546 00000 n
|
||||||
|
0000000651 00000 n
|
||||||
|
0000000856 00000 n
|
||||||
|
0000000971 00000 n
|
||||||
|
0000001176 00000 n
|
||||||
|
0000001262 00000 n
|
||||||
|
0000001515 00000 n
|
||||||
|
0000001589 00000 n
|
||||||
|
0000001750 00000 n
|
||||||
|
0000001860 00000 n
|
||||||
|
0000001965 00000 n
|
||||||
|
0000002079 00000 n
|
||||||
|
0000002248 00000 n
|
||||||
|
0000002352 00000 n
|
||||||
|
0000002493 00000 n
|
||||||
|
0000002657 00000 n
|
||||||
|
0000002793 00000 n
|
||||||
|
0000002936 00000 n
|
||||||
|
0000003050 00000 n
|
||||||
|
0000003155 00000 n
|
||||||
|
0000003227 00000 n
|
||||||
|
0000005255 00000 n
|
||||||
|
0000007183 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<d549a91b28b6630ccfcc85d3d41cf4b4><d549a91b28b6630ccfcc85d3d41cf4b4>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 10 0 R
|
||||||
|
/Root 9 0 R
|
||||||
|
/Size 28
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
9064
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,100 @@
|
||||||
|
# MANUAL TÉCNICO - API E INTEGRAÇÕES - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGENG 0002/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Utilizar a REST API do Zammad para integrações com sistemas externos (CRM, ERP) e configurar Webhooks de saída.
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Token de Acesso (Gerado no Perfil do Usuário).
|
||||||
|
* [ ] Conhecimento de JSON/HTTP ou `curl`.
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Etapa 1: Gerar Token de Acesso
|
||||||
|
1. Clique no seu Avatar > **Perfil** > **Token de Acesso**.
|
||||||
|
2. Clique em **Criar Token**.
|
||||||
|
3. Nome: `Integracao ERP`.
|
||||||
|
4. Permissões: Marque apenas o necessário (ex: `ticket.create`, `user.check`).
|
||||||
|
5. **Copie o Token agora.** Ele não será mostrado novamente.
|
||||||
|
|
||||||
|
### Etapa 2: Usar a API (Exemplos)
|
||||||
|
|
||||||
|
**Endpoint Base:** `https://seu-zammad.com/api/v1`
|
||||||
|
|
||||||
|
**A. Criar um Ticket (CURL)**
|
||||||
|
```bash
|
||||||
|
curl -X POST -H "Authorization: Token token=SEU_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
--data '{
|
||||||
|
"title": "Ajuda com Impressora",
|
||||||
|
"group": "Service Desk",
|
||||||
|
"customer": "email@cliente.com",
|
||||||
|
"article": {
|
||||||
|
"subject": "Socorro",
|
||||||
|
"body": "Impressora pegou fogo",
|
||||||
|
"type": "note",
|
||||||
|
"internal": false
|
||||||
|
}
|
||||||
|
}' \
|
||||||
|
https://zammad.local/api/v1/tickets
|
||||||
|
```
|
||||||
|
|
||||||
|
**B. Buscar Usuário por Email**
|
||||||
|
```bash
|
||||||
|
curl -H "Authorization: Token token=SEU_TOKEN" \
|
||||||
|
https://zammad.local/api/v1/users/search?query=email:joao@itguys.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### Etapa 3: Webhooks (Saída)
|
||||||
|
Notificar sistema externo (ex: Slack, Discord, n8n) quando algo acontece no Zammad.
|
||||||
|
|
||||||
|
1. Acesse **Admin** > **Gerenciar** > **Gatilhos**.
|
||||||
|
2. Crie um novo Gatilho.
|
||||||
|
3. **Condição:** (ex: Ticket Priority mudou para 3 High).
|
||||||
|
4. **Ação:** `Webhook`.
|
||||||
|
5. **Endpoint:** URL do seu n8n/Slack.
|
||||||
|
6. **Método:** `POST`.
|
||||||
|
7. **Custom Payload (JSON):**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"ticket_id": "#{ticket.id}",
|
||||||
|
"title": "#{ticket.title}",
|
||||||
|
"state": "#{ticket.state}"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Integração Quebrou"
|
||||||
|
Erros de Autenticação e Payload.
|
||||||
|
|
||||||
|
**Problema 1: Erro 401 Unauthorized**
|
||||||
|
* **Causa:** Token inválido ou cabeçalho mal formatado.
|
||||||
|
* **Solução:** O header deve ser EXATAMENTE `Authorization: Token token=XYZ`. Cuidado com espaços extras.
|
||||||
|
|
||||||
|
**Problema 2: Erro 422 Unprocessable Entity**
|
||||||
|
* **Causa:** JSON inválido ou campo obrigatório faltando (ex: `group` incorreto).
|
||||||
|
* **Solução:** Verifique se o nome do `group` existe exatamente como escrito.
|
||||||
|
|
||||||
|
**Problema 3: Rate Limiting**
|
||||||
|
* **Nota:** O Zammad não documenta um rate limit fixo, mas abusos travam o Webserver. Use intervalos de 1s entre requests em scripts de lote.
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Recurso | Info |
|
||||||
|
| :--- | :--- |
|
||||||
|
| **Doc Oficial** | `docs.zammad.org/en/latest/api/intro.html` |
|
||||||
|
| **Auth** | Bearer Token ou HTTP Basic (User/Pass). |
|
||||||
|
| **Paginação** | Parâmetros `?page=1&per_page=10`. |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] O comando CURL de teste criou um ticket?
|
||||||
|
- [ ] O Webhook disparou para o endpoint de teste (Use `webhook.site` para testar)?
|
||||||
|
|
@ -0,0 +1,191 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 4 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 10 0 R /PageMode /UseNone /Pages 22 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083552-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083552-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 11 0 R /Last 11 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 5 0 R /Fit ] /First 12 0 R /Last 21 0 R /Parent 10 0 R /Title (MANUAL T\311CNICO - API E INTEGRA\307\325ES - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 13 0 R /Parent 11 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 15 0 R /Parent 11 0 R /Prev 13 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Count -3 /Dest [ 5 0 R /Fit ] /First 16 0 R /Last 18 0 R /Next 19 0 R /Parent 11 0 R
|
||||||
|
/Prev 14 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 17 0 R /Parent 15 0 R /Title (Etapa 1: Gerar Token de Acesso)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 18 0 R /Parent 15 0 R /Prev 16 0 R /Title (Etapa 2: Usar a API \(Exemplos\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 15 0 R /Prev 17 0 R /Title (Etapa 3: Webhooks \(Sa\355da\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 20 0 R /Parent 11 0 R /Prev 15 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 21 0 R /Parent 11 0 R /Prev 19 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 11 0 R /Prev 20 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 5 0 R 6 0 R 7 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1905
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;dhfIL@&:WfGfLMG<kPM);aUapc=J^7O+<[SQ<..T^fhi1!OW[@[rSose#pGC`1lb/)2?OBAh:qo%gY9=dJ,oaDhYe2))[A!F-9rt=pHU^ti4K6Jl$VoHm\E_`%"X(#Xhkm(eTk4B^^22HJc0'[^$HPGE[D7jX7O?QI*h<t_TW-q"cP1S3&L_hZN.k(TtSkQ=kZ$WZWHc!h8"U#p?riEE#nf0Q!/)gQZ;7Fc9cJTAe9G4p`B'X>_)DPS6+'!Zu8$sG=`YJ]eUR9#t-=QA^4MM&1IT^OrE*W!msAJS`k$V+Od\k0J/(pgqPnS7h"ULaCqe%%"sHD$r\DS#ARe8.&%Wb>!6V3H43qg=ml?)8WXW8e09U4!p'`s=IP`l5[7d91]a"j2'[\K[QhLl^X\ti1)Q&V'Bh`33WaX5Cj.^Zm,>&71+Z^#%=8RJps?dhm9f<MEj--10s`8N'+j>c0F>'oLS9A:.@Md&)TX5KCD4Tr+YdQ"&VM#n_V]i)!.mg20\&E"Z""XT64t\[p<p2V>UJ)IGR1L98<R.JUq/7#LA#it(h7k`"oJar`6M,%Yk6p7\.AL#1FoPc*IB]9Pa#f1IL=]3b;f<lQ=[b!0W"VF/YWfHE2aU]Sr[<iek:>40.O,Dm+U3=AW'Mo@WG$p'r@_VUqn`Fiquao9#))R8Wa"VH'c?"%N)-)5n-'`[r@c=K&E!Cgi43C1JPW")eSg@dG/<#9hN]?5aF)-Ps@16;C?Y3at"4!iYRqN+gCgs8Bb6G#fVTmb+Zk!)o,%A>lGVPP[e6DDEULV$%b.!X@?9dJ@4I@/)[3Rd(CamJ.`uD.r6mNCo5BP=g9gkk_W>pLdW(Q""6H%C<C/9=r%!h=NF0OHXGH?,g!f5PcfN@Q4k`Ga+%'e\lfp.*pS(el!8sr%Im=K;I9=#Ge$6)$Y3;WIMCi^DF;cEaL!(=(nUsEinL6rD`;+S&?A>t<!Rbm_;A9Dn+MEe*ne,Ej<\pq7gQtK8U_us##S2VL5si9+*bu;*&NbBr&+:Mko\r&r+g^qW:?:m9o$N^%Pi_L6Gi9UCtRF5j=F>J\/%^umf&$/s%qq$p$tV4qkSXmf.<"GW7<;R*NW+Sf6(li1<G/PNM>'f@^8t<]=0SdCF%5qoS_-fqT8TQ'1+eX\OQ/&8\Z[%UgK>2-MpNZ4k-[XEUACCVtgkR4?\k2i+YpF9D3E=HpYOie1SKF<c\H"XBgp)QeM`)\H6["0$(KECP2/3A0,Dc>T0WG%?r&FSc:lA&PV':fZr^Z=`-GtP(kZ^EP()`1Cr3eh'Q5.s*,-#0XKq;10%G0nA/>2]ELECOU&^KUE6/2W<u#3i.ih=K6X.l?4?,b7RcVs#.H[]h7a)?2K^Z<jZUj!fD!,!2Y&'e<W2_J$m/t].#:$Q)90N\D6LO0R)o+6='^Pg3n&_IhTUFm2k#etao!,=V@?W$_alHoBg29:,Rc!n_I>])5OH$Mas7bWWFeoBQMk8%jS9hq!%3.nCRrhdYMqME[l[QO[g6EEcT'=#Yge'3Mmn"m&d=tUd5p;e(ah-=5=&roY!4C#ci_]m"*HDlN%][#S10-Gh-c'+AjH>R=ru"DScr6(!+?=8]9fK?NaUS5cR7)c52EC?Rm"8Sa-2lbgl$6<'Tkl&[Rl<YENu0m#a&ZH.Z>QSRa(2DIIsM6Zo?j*#NQ4Kj.kX,BU^iqq8o.sKB36L+NF`1i:C"6HB6SlqHpmp(VrnDO_;6CP\-Lu_($Fs;[nDOB#?WZV.Td/Xib_P.+f."q=*=k'Dupe_d3tIEO\nJV%%O2SlU4le0gAkULTa]4/VO2dGZa8c;[65+HFnagD/LiOlhi$Ut/i\+fpq]Y,j"'gJqV(:i6@7;/MC:.;tEAk6abo/r=LV'd<UPnfNp(lZta:rWDF,6L"~>endstream
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2237
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;eD/\/g')q<+1!"fG-`CbL7;iD(DOo;3p,7oZ=MaYG!Z$a53(tUFV5.A&Mu<;OA_F=u3DnS=^]B1#9/Ar\1W(B.0a8":^st;7!=f4qs+UOf#VH-6`#q$o;:,-eq9k[(@B^d5pr$P8&uD-p9`b_J]F]=4NM0E<5ouf(%KGf8#5&t[eOLDJ+@q&]MC9\j=:iE$.C.37bkuiE4iHWHSjHK_n?0FITa,L9<2LiiGY"5A;FVB(+gl<SabW:pa?BaY&0*rRh>ShdI&bsUf1'sha*_t+D=4KNJM#qb`4/YFMCUq@,/sdSlAqN#o<rG0C:^15K98SWH%ZrVOM*DKos;Mke4/&K*N>G@THI&i+p1#/Ra95C9VMoi6pNZN/JgID$q%&c6M";FVJ`r\<m9*GK6>\8_5pdi=pR=n.RjPfRn82<_N%Rjm'$1Xk<:tfj1$%P"2Uqo1Cdpqk;h/0@<hVL_X?Wg88!e%_u7#m3PP5u/i6&@C*0HQ(=/5h$97+W(i0>SIR"\[Y)6\S&,Q60PeFhVRdq:a.dchqm,-gR4urTuU%gO<L'WgHj;Q/T!ZBgM!lFBQq:Tb7fPQtW9G(^RF,13bms<^0.S]&6jE\HE*Wn"PnmK_BLPQDQlIs7JCEq/G>oTa2,6tGQRp9"!BCm3rBVj$'H+>j)lHpIoaEtH][Hl5>NF/h_E'68Ur!)PrHuM5:WF+c)Z=MFqAG\!aRD3cT^,8]HW72.G5/ZW0&jYnKlr>L^*L=[0ddf%t8<jYLb#Ohp09afZT>C<sdE,X6&&N9SnOR5FaGO;C2lkP+Dua0-RjBhiN:jAqQ*%([@U=$Kq<s#k65GEV"m3;1E`Ue'bTTk5Hq7mRjLN]d:%HOqEiN,"CGmp[qGp'p3OcIA^M,S=Q$K'$TptG*Pfr.>.$7M<N`=_KK^1ro)\+I5c-)#\&J\NIWZn:IC,UI5ik'?@V+^K6#EW=?VQ,;B2;M`C\=7?O4B$rIera)YFN0M7HC$b9"l.#ocObiS.4m#\>pU.!nYE=OrLtc6q*m*m[\95)l_#a-kLCm_b7pBJ->bT*[E0i"(93\seQ=nJXpo)FHJ8cZA)DF$4%+$ijq63aSsSTDTr!@/dP*FZh0*"1^9uFu^eB=Uk)EeP>)DVkndWR'3c:_l)RS!_hQGs_a0OE6nW^T2Gs<*M7p#`g;@7jH93%Aaf8?V9AMGe*nmustEHP:OqPNrY&e"AW4);<4A^%$tXKq;6#c7_!\%&qGl6_:j45h?jm?k@IM_RP)laVb?9#HK8jJ=]0+d[Ht;@_]e.J*taY4t&.8]%6l2t0l1Oj`b=aLj(ZLG't"@Kel^.c?FL"@N;H"b4`p[]OW#-U4-ei>oI8,C76ujLJA(KgkCr%c^N#)g('])fkD#(0MonDBm=4R9Z`hZ"SKgf1u!'#&Nk!?ls)3%'.M"Xb%IOp>4Qt%o5(Z\o!-PQHO0h-<Zlmf:)6#C8nQkmN=)k<Pj]1%M[dCkuG7N*]!$[n:Y5R$/+eS\/o_g\k);(]!1r/h6pMZ68kMu5<FVPoVkG]rVP-*clO"hl-@cP^r:Rn>X"UbAte3"3Fl7bc3ZlY]00!/7JIUJEZ9P_%b\amc]tMf8]*!l9,*F1m/CcU4pgtU#LG:8$sB0#`'7hG2h8T6rgs-X1;;Xm@pTq-fNY&a97cA&-'K.X&8TG=PP[MQh^'>g!gk+MSiW9VT#s1V3Yd7"/b*m3r%-H0'Eb(s]#4e`01gkW?nso0&#nZFe=pGt4+bqfn_s$%j)>'.2`MbK+!-Iin&OJH_o]NFUSS.8T5u/lcHc$<^$P*E*JXKgZcMl'6L>!bjS9SbSHeLPE?k5Lc1udQq`SeX?t<K=01ID]X-BZqS)6Ke#X`^*V%5S$<>aI!A(Lb"Ls'TCL`!@1"nH@u)9HEb#4Ncd`)Nr<Z14e-(L!)nPfi_Ol4ZEH_7!i#h8H0?"=c>$Uj+\XC8kI!d\uB[biI0"7h15%?HE;5m^O_2Zpi3jPR0XAjUiH96P2&t;c9+;6?%ao=c=7pN?bQ*%^COmBj-cW>)B=_e0q\>E9ZeaD519on8bB!napW2:="B\?>bZggJ-X+X,Fpc90<1f'4;T1o8M9a&eT'K%L3pmk_PQchqU]`N>7l;RatL`@g/lcLgLE$BqAQY89k9'8uK>[YsJiA_83/AM+UH[CtjM\$s/&$6:3;AL&'1-7\>IPnDi^X(i=)":NV%Ls6#H&1BJP]1?S,>>PiY`K$OArm"!pn~>endstream
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1651
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;dCN%rc'`IH,EBan-Z-]:;]`JU2?L:VnELJ:-Y\=pkR<GuAU-hgm\mI[XnjA9\b?8$XM[`f4n)Kp*MO,"X$lFf6-5jTj"J[mYL]c$=#X]#p9/qt:%tfX'AOXE-O;Brdm3]pZn(S6f6"FQ2kpCAZCdA)s^'e9P-d`PoGmt@_!CRf%8eGW0!#VF:&;o6U9o1MSi?>Z-WYl5o#i6>(2&sK$9SuO)L<#PS0kF<N'N:>DH(&\3"F:'q?P'o&_e/i<B^jm,.'KapI':3S_G3-%<*qLu1*RQ\fI87PEJYF^X69s*R=W]m$Wh'S:I]>`<Zi?[g+Zria::lH@7m%fj0lQ(8k)l1=4fu\S0cl-2&KXMGs<)_#NlB<Q'/p&#O_/:P)7PShp2Irk9`&n/Vsqu+hWD<djjeTPS]c1D&L("*FD+$5K8qMGrh'1$V5NNO<F!l3o_Qa*`]1EaY]OY\`*?P69GrX8#nIg'l^$\Z.R3^k)!&0(`=Eg(2UI#?E>O%2T?7oV:5(1&>01taCQ]+,54b_Sl0D.LaR(b3EsIk8Koqs6746?Epm`#\\X3%6"BC)+-Dm!5!=K:D?O4A=_cB4[`;c_8^fHGA,)$r)4s0#4fspu!t7U&W_>-#;nt5<P!;=R2=UK09>+BM./q:DORQ-&CS;f'6?&h+Uq%*&OjBkYM#a89j@0GPih6q;BFl&G1,"URT1^F&f,M>XZ!DZo.80g(HWFRqY,YM=cg$GeJ5HB(''_P2+I@el;VOQXG'l3^/XJ.X:9Q9Fa1#7i0qcl$4N@[.2fG%nF.5,k((_/_@CaJ(iO4XTUU8$R%>ai4%0Acq+hm-*lWP0l\/mU<UQD_l%VZ2@_"?/pYI/e6F,:,T(J[%PY[&NFFo>H/p4,,E0:3Rr-`HSqr\@3=]Ea5KIXHQsZ0qb3#hs(*j;YNA0+t"PHAj`m;+8HQat^RA8YNNXR;*6'Q@f':F@h!2rH>agq6Z3`#6AU(8N!_*9&!IJc=@":BptiF^9?0B`8P+bP<'3-L1;D@NW-A%*0P%p')?4dNR2:U([3?mNKWLhane8K^t^$)dW&\Zm46Ml![)=[:'=Wb5pS[Q]WC_>7aX)`E1J<e&+?l%UMI#TI*f>^Hf1XFrquh^Y5'Wn2d=FQ"oCK>>%P>..]1G3KMbY!Frf.Spj0bhiYQ'nLHed'$_dR$Rdm6\=6<fB3q.#Pi3*.g4O<VHGlE']G(;,p<F)O<SFYRCjK'gCY-lcZdLM=N[AtY[+b!LYWb[Ak_m5]2;7X8ZD9QhJ%^1WKF6>0%rSdXq5)[h6\\$#q.a%(S[?^.Dp8Qg>9$rf7D.S(*IHl"Q1@C.X9<oG/NGE/3%5$%ObM'sZFF)H]H3DmGZ*pnXSK;p[rHS#>mN^?UDr]L';6;J:LA&UJR=394dQr72rn7MDYcer3a0-k*&#k;-bFZIkf1uL]o7b3Y3lUk"4rdp9S/oWaq_?'3$u[c$N\>n#8VT!=k=N2``=,3/e57m-]6f;fnU8UB4DI)fgGALLg#e+($JPj\48]+h87Z=>BUmr8>aFR%El0:J;5l+hK<\"3cbd?OpV9BAJ*0Z.De/YlmQX;=)()=hE$YloE5b+pa<q@`k%5j'h)oSgNqlTK,FpIE\^XtTfN=t/=7O,Ade<V>#6+[i*PpD~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 26
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000112 00000 n
|
||||||
|
0000000219 00000 n
|
||||||
|
0000000331 00000 n
|
||||||
|
0000000436 00000 n
|
||||||
|
0000000641 00000 n
|
||||||
|
0000000846 00000 n
|
||||||
|
0000001051 00000 n
|
||||||
|
0000001137 00000 n
|
||||||
|
0000001389 00000 n
|
||||||
|
0000001463 00000 n
|
||||||
|
0000001620 00000 n
|
||||||
|
0000001730 00000 n
|
||||||
|
0000001835 00000 n
|
||||||
|
0000001949 00000 n
|
||||||
|
0000002118 00000 n
|
||||||
|
0000002229 00000 n
|
||||||
|
0000002355 00000 n
|
||||||
|
0000002466 00000 n
|
||||||
|
0000002609 00000 n
|
||||||
|
0000002723 00000 n
|
||||||
|
0000002828 00000 n
|
||||||
|
0000002900 00000 n
|
||||||
|
0000004897 00000 n
|
||||||
|
0000007226 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<1b3bb0dbb15757c81dbb225acc978808><1b3bb0dbb15757c81dbb225acc978808>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 9 0 R
|
||||||
|
/Root 8 0 R
|
||||||
|
/Size 26
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
8969
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
# MANUAL TÉCNICO - PLANEJAMENTO DE INFRAESTRUTURA E SIZING - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGENG 0001/26 | **Classificação:** INTERNO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Definir especificações de hardware e ajustes de kernel para garantir performance do Zammad (particularmente do Elasticsearch e PostgreSQL).
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Conhecimento de Virtualização ou Docker.
|
||||||
|
|
||||||
|
## 4. DADOS TÉCNICOS E SIZING
|
||||||
|
|
||||||
|
### Tabela de Sizing (Recomendação iT Guys)
|
||||||
|
|
||||||
|
| Usuários Simultâneos | Tickets/Dia | CPU (vCores) | RAM (Total) | RAM (Elastic) | Disco (NVMe) |
|
||||||
|
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||||
|
| **Pequeno (Até 5)** | < 50 | 2 vCores | 6 GB | 1 GB | 40 GB |
|
||||||
|
| **Médio (Até 20)** | 50-200 | 4 vCores | 8 GB | 2 GB | 80 GB |
|
||||||
|
| **Grande (Até 50)** | 200-1000 | 8 vCores | 16 GB | 4 GB | 160 GB |
|
||||||
|
| **Enterprise (> 50)** | > 1000 | 16 vCores | 32 GB | 8 GB | 500 GB |
|
||||||
|
|
||||||
|
!!! warning "Atenção: Elasticsearch é Faminto"
|
||||||
|
O Zammad pode rodar com 4GB, mas sofrerá OOM Kills se o Elastic não for limitado.
|
||||||
|
|
||||||
|
### Ajustes Críticos de Kernel (Host)
|
||||||
|
Para qualquer instalação (Docker ou Package), o Host deve ter:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Aumentar contagem de mapas de memória (Obrigatório para Elastic)
|
||||||
|
sysctl -w vm.max_map_count=262144
|
||||||
|
|
||||||
|
# Aumentar limite de conexões
|
||||||
|
sysctl -w net.core.somaxconn=1024
|
||||||
|
```
|
||||||
|
|
||||||
|
### Configuração de Postgres (Tuning)
|
||||||
|
Em ambientes com muitos agentes, o padrão de conexões (100) pode esgotar.
|
||||||
|
|
||||||
|
* Arquivo: `postgresql.conf`
|
||||||
|
* Parâmetro: `max_connections`
|
||||||
|
* Cálculo: `Agentes x 3 + Scheduler + Webserver`
|
||||||
|
* Recomendado: **200** para ambientes Médios.
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Lentidão Extrema"
|
||||||
|
O sistema não cai, mas demora 10s para abrir um ticket.
|
||||||
|
|
||||||
|
**Problema 1: CPU em 100% constante (Indexing)**
|
||||||
|
* **Causa:** O Elasticsearch está reconstruindo o índice ou sofrendo GC (Garbage Collection).
|
||||||
|
* **Diagnóstico:**
|
||||||
|
```bash
|
||||||
|
curl localhost:9200/_cluster/health?pretty
|
||||||
|
```
|
||||||
|
Se estiver `red`, ele está falhando. Se `yellow` com `relocating_shards`, está trabalhando.
|
||||||
|
|
||||||
|
**Problema 2: Zammad lento na busca**
|
||||||
|
* **Causa:** Disco magnético (HDD).
|
||||||
|
* **Solução:** O Zammad EXIGE Baixa Latência de IO. Mova para **SSD/NVMe**.
|
||||||
|
|
||||||
|
**Problema 3: Erro 502 frequente**
|
||||||
|
* **Causa:** O Puma (Rails Server) está reiniciando por falta de RAM.
|
||||||
|
* **Log:** `dmesg | grep -i kill` (Procure por `OOMKiller`).
|
||||||
|
* **Solução:** Adicione Swap ou aumente a RAM da VM.
|
||||||
|
|
||||||
|
## 6. VALIDAÇÃO DE PERFORMANCE
|
||||||
|
- [ ] O tempo de carregamento do Dashboard é < 2 segundos?
|
||||||
|
- [ ] A busca de tickets retorna resultados em < 1 segundo?
|
||||||
|
|
@ -0,0 +1,185 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 5 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 22 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 10 0 R /PageMode /UseNone /Pages 21 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083552-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083552-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 11 0 R /Last 11 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count -6 /Dest [ 4 0 R /Fit ] /First 12 0 R /Last 20 0 R /Parent 10 0 R /Title (MANUAL T\311CNICO - PLANEJAMENTO DE INFRAESTRUTURA E SIZING - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 13 0 R /Parent 11 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 14 0 R /Parent 11 0 R /Prev 12 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 15 0 R /Parent 11 0 R /Prev 13 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Count -3 /Dest [ 4 0 R /Fit ] /First 16 0 R /Last 18 0 R /Next 19 0 R /Parent 11 0 R
|
||||||
|
/Prev 14 0 R /Title (4. DADOS T\311CNICOS E SIZING)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 4 0 R /Fit ] /Next 17 0 R /Parent 15 0 R /Title (Tabela de Sizing \(Recomenda\347\343o iT Guys\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 18 0 R /Parent 15 0 R /Prev 16 0 R /Title (Ajustes Cr\355ticos de Kernel \(Host\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Parent 15 0 R /Prev 17 0 R /Title (Configura\347\343o de Postgres \(Tuning\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 6 0 R /Fit ] /Next 20 0 R /Parent 11 0 R /Prev 15 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 11 0 R /Prev 19 0 R /Title (6. VALIDA\307\303O DE PERFORMANCE)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 4 0 R 6 0 R 7 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2155
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gau`TgN)"=&:N^lqN7S2n_>siff*Ar(KZQ4OSt8P+1,MD-irB788;*#nQR4E0n@3`[lAP>,5(2gmW7O=9`P8"P'of@J.D[NHmCs*"F!*jiXgKhIaIrJqVKAs#^?CW7@!NlR^]H#$ogO`A$CAUTMms=Ou)!JT</Vi0aI<L&7uQ,3AAGaj&?)7?j_Q1ccjDQ:RUGj?Mp\pd#J2f>Q;<g%ePot4kGTl3+:U70[:::-Hm^^,*#"R!-ngc<s[YMB@hVtBO,7ZR*WooKYWBlTo-rB:5CP'.A(ok!J0mW[E(%,&gX<:5c=peL:d1A%Z(E2M*-P4JdK:^!bW,P/tmAU&N)SL"UZp#1$Kk$H#js*)3/*U"JZ43*KCF!OY:a@7*Z,Catm5*00(8-\;rd%!D,);Qa(Y[*Stm&)*S<d*=bgtT`\Ag]#4MmpS'k\/iV:eH[Q_>5E<>REA4s1DFRpq_g(Zr0Kat_C%Sr_ERF/jr`erKLr;ta5S=XkN%c>CB.\inV<%j)9aK7$)2r@Q`l'(u:qHj=AmG8@^?q_PqM8No1.9&M\J,=kE^YgmPEaN&'5STE-\#[#AEtnTC;V/RlOV;A@n]XrJH):Hf_B0QcGJZu^5Jbgg+0fEKDoP/GlSoMj[6=U:)G?Co^!-5T&e)X8l*n=Jn1aV8X]L_A7:3$B0Z$o@Ud#i'cq[sreZI7;fTTV%1OAFM">+5*,8Cr?Y#!PJh5>&G,/h?5s7IS=#_RY+S^"3%OR.?OjRaD	-k?p%kb>olZT"&_Gml2rcpasXHV<k8(s0n"&=XMF*;:$,J2+;?'g;[shFMM6<i<8'P;90#J!F7g4u'*N=7ZPope!]H@6P6PYI%5#no9qhargaG*n1QqPfe?@MA"a!-W8&Rn7q]8RcKPr,?7&qf_.&)gIfCjB!kE0:>7T!b$3)iYOa=$sfTpc)1H[_p&3]4MT9-!J"/ok72<P7*WncbE2b:&@n%G)1K'7RY<hFu5s$1[ql]B`I[3arj"/T#.([cZ=XjNX:#F%/&O36EQ?8eW?R2\l-=c/:F<XfLhs&P$h#CT9Z2WU-6m?Bt+l]ZL'ih\p7l9]<WQi+i]l+b]>ns6o0Q[Cs^3AfnO?ALHp>N`SEKcK'<K]n?3\Iui1iOM.S]fOd3TfZ/-j(o9t#U)%1,m/aPem*iY9it@KfGN!E)4a]0%I7%]1^I2W$?$P+M%pq]%bJ/tj?$mC-[4cQkQ4L!<\n>BDdi.3Vr0Jc*LqRBLN*h@l&qJeObI/:t%d,,<]?up]1L;*I*G"T2.uK)(Z@PU=mIfcgMW"'CGs</$^.S(9R-+b8$.\^GcJ1F?HMT7#`$sp3K9!$*=a56!;[m*NFS[de2/!91Y*Z3ekr5.coF)eX1kb`[%2Z')Ka41*-0[Ns6lMp/Hk,?2E*=<"PP.A2Y2X+X$WGN(b&$p\E4Lk$V%1u<$Y[%BQE0m^O0:cBhP$f(0U3?OhbXD2"BQhsRd#e-f/J?P+LiE+#5QbGe*hFJON<:8&kj.b$:^NKj)<Zciqlk0rLd=lR>eS,3E5Yfr!fRGierh+_f]EFEuV$XFZ>;/=kBujD>KCPFP<7$.lik!7(JW/bG]t:k]M6=A#ifm0"Z)++Ud:$8&pT%=`J5SL^9,_VQ;s#b;h*@NdH7MHpROgSqVp/EVq=ngr#pNdSVdOMlB-Qd8upPCW`8K-4&in.a^?g&gKlU'%$/nPQ"0grrakb(^[4l;m>uCqH,;D"Apg:q]:[WQls`<FkB4VPBL^`B,0hJ`!(,VS._@>U@1@0Y7=4pL'>5fbY4$5n-?AS@0(ka>anc4)CK+\eK2d&okZKoS1aI-EK.u7.+5l4Cn4]CZG=+H0>jP<dD-(JkaPm1:O9:P6RP:,@NHng1@1@T%jd$n-gQOtjLp(m:9SQ:bKc0t,h;=2Z(`3.gGL2eH+ml[h$]UWK4G_BS3\sr(]3%CWeM_4U649=2_:);^1^!l$VN=qFkE*INr<G9J(k,&LpEp+O<`&CT>=jHN4'2&8UG]/Tkb>:W92ck2'm]EGJh/ieG([kn.C#jBFg@e;62iW,HiBn]?ur3*k8AZEnn4+ZXT\8SJCINeuZ3`!FRk?ZJ>WGd]r4bNLZ=8lpb3fHf,gq3h/9"b]hEh>!DMe?CAjAF.D(Hq*1IEg<LD>rWgT=[>4~>endstream
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2474
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!l!D/\Gm')q<+0gNK5D9_WWdc+FQflbbMZZWj!EPOk*Tp6Ks>>%R63DKPPJX!:'=>oE:C2mnufSMT6b]%0cTgY"C"q8Ft`[S^R'#+4.!26X0#Jq(.jUKG#PK1f*Um<2I,a&0;3e,*4jJO.%:(Z(d[)3#Y].:tcbS0LCjD)6s6%9(E1EVo30ZF[ae-?E*'bH+Qp."oqB_N(qr>'19-;1l*r_^N@hW=8c<EU&jN-c`./;IfX"GsH1NaN(`!g]Hdq)Q[qqWH&D:M(OAF)X0,#)EC;W1DOm(lIus+#@_B7[o5$nIgZMq]V%TPIhA/FThEq]gsi;I&\DWFu-$X.u<VBp!dp1j&TaeITk3>H<KJ=K*X.((OM?]rU;+BKEi-G-]kS.f^k(*075!3^ASEB[eN+`7$7bjBKf7;HCG_N[.lqt6ilK2q'"_nb2NMu*hjkJ8+V;aIGiaF_W0\P^p2]%$&%d[3V-PjA<l5[-VM>uMU,Z>-)3k!i#0N%]G\g!IP,P.o#!\I2^A,`cf*,NEH'os`$<^m\qmYW)H^_!+H?$5aUlHJK&'QcOrOCgU`%8`EmA,MOq7I!cAWMC-dDu3R%FtY1X@ON4;:B?AWQY.qTW180t4uKI\a]/F3$/#'1AG(jG`+(UZX0gm-e-Ng(e6?(Bcq<*X_q=&GS(J^6DNAnFHIoo`Q/MRB`1^#"g.Wi,4\YpBgEh5X0Ojm6Bu_NT`q#05H[pLjI._4.`fH]h9dcM<c@'-$knUTH)SFeOoHdV8+LYPM]")/u??<WH6OVFSF5*8IQ(@8WQ<F*]el;8Ql3SA?-<CLJFLgP-,\,X)C82KO%(Yi0n;jPm12\fQHfdY17'ldXZ'=]8drJ[:\f,)UPY8X?(Y-=(^*efZEV\`t0Un%:S.5U>pDAAqj'RHBM=?%,#C7bg6Yq:XYLGG4dH.8D&(W!3XPM>A6Am_QKX=E+Od[8ddBeFr`_r.l6Nm>#8L=<ZO>R.l6Nmlst@?@uqAELBOe0d<`Km1*ago>raE8#4+0EB&kqK/*G%\X6p1%"KWNQii[+%RV4BE^oF(Ym`G[5M$@GmX;\\0Xt6fGBJ=R3fedfi>o@$-@4h<l)?ssVkWjQ_hKh8.PQ!mti#_h&)%Q9t,5?h=8'%gh/Qs(n[\GpiDKThoh>jc#h2ui\Di=/jJF2Q\XBSt7PW&SY7sAM"lIhoe;T+!*^Qsqq#G`'UjujgoI%N.p..F1n!?aVB,`qlI?sU^1>,M%J$O-9sp[e[d3I0a3.\%4<h.>pZ;_D/P+ZksA&,MM82S;$r3$Fjr`2Uc\!CRf6*]).@Q^,^^Q`"b0^59u^M+\QunZQ?oHbYQg,cgKgXT9.2Qj"1#5`(TVoq?d6'*fQ:e)J9EEs1s5$j'^Y/-bBJkU!\[FK.XAhBkV#B+C?uJLO#)qc!PC*YQuOYEir="CXd`@BKbX\5'JK?^2:FYckB`s$g]@Xl(@0.4Fae<'ZtO^osrUKJY0PbjPp>KT$RH/De8Ta_"I<W?C*M!pKJg3S`d$Cm$WSU/d4[>7Krl[GV*D(=!/U;#l2jNWgDoEZg/NIp`eI+sNjT=0PI:"iBPHm7Quh[peHtD-<hNhA.7JU.XFXKU%-2<0=-hK[]D\ZEe?q\'@q#X565,#A]<,,b8];2C]nqgd[dRXXYI8asu+e:1f1.GBs+U.NmWcD&!!cX]9W9-01_3!A!i=TMi`Jf@_jo\t,6[?W%D@INPjoGQ[:h]^5@Re*=H(I-c-IY8D98Ap8ZKJ&oT\B*'f?B,i.B5+[q.I7!`P^6_)N&7^8_?urK*mEX8Kf:D&n#Ir(AB5h"GXjIS&X.m!oFmZ$Q6Y)'.<GBN"/!:1Tl/H38XJ;f0OMc^RKO+T`0;/6<N2mE3IW+(u4JaHcSps>,LL9%gRoNfo8I=S,0ku#od[&lT;pQVN6BqYQ10(#-0,,o-1jY2R/GklDaq$S`&Y9H=.H/fo_i?]sbMeC=[U+f4mokZpIq@5XRqMK;H<YL$^J]$?QdrZD-%sb/2G:?`HfLj7(q"A.;i&k_M99qDeZ32k9rbjZBPfBd*q^)HMIn?oJdeO[j7&dL?WFY^X/J;/',0qI@ZF-[SH`ND*(&sdkOdsp,bAZHRkKO!B7f4b]?B2RRloeN_!':-V&#L`m.1+b6#iLP4,8K7-Zf69&<bd=QO6Ge<=Hf7pH@?/<*U_p<]\9TF:TWXEo9'phs.hh9t]9jG^W^n!M4kY(N:2jW`Il6.c:^0O8;tYi^jm11Vq^$__:p02p%#hL['MLo2K;%B[t+[mUNXhcdcL&onqB[RJiP\'"oW,Y7i&66NKDO6&-K18"MR-T]U@#RA;[e^n/ji!Mge`WR/tYq\ocki,3Q+F3(R%1<^O'D@X,t(0<HdpQp*8qgV`GI!%6[qeiZ@IfJI$^bUE@"nhg(d7[g5fQg+2_&.1k[m.?#ML72!F8N*-0Nf%ODr=)r<O/V@VtkC6W&4A64flQ^J$oaY+o~>endstream
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1355
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;b>Ar7S(k).^3%kB(U1$Gff:YCf`blPKY1#chL.t$$98q+q&lV\C>$sRDTR9=YC!pNfK*4K5^?[e7T1IqW"7;\*"h[EHoTk(aUt;8'nWBDQPkMi`^@W1A'L>:,KI-A!nuDFmT7KcE>oDFGVDqh`OP&_nJD8qMFBO6C-H+q!dL)Lc_L33;6X#"\'"D[]I>KJ8prhF9crVYkg[>o5)!\c9ADN'#qbb@]Y*!<YTR!Y[JOAo/UjjV;J]#b-UU9chCVr=0[M&h'cm2:cmC:?`H?El`a-=M^&qb6BM<brs0bP*&3/e.Op,Fit4>1:I=;2Cn*;YR!P^&_(*Iq6WW5flE1q^_ZdLHu"]H&C6=CiFS$.K>*EhQg6&f-2&Zk8t&`JlPQ@VV,n>G4piBA&@]7Vbgk&pl`L+:4f/R"3,b4RK\^DO1?&n6GE.Xr]<(,NX=@_tLTUQf71()i;5QjTcKT&`97+>HrC24T)Y(=6T&B`V/hE@J$pKFO=Tg>l4e/JU60+aE;>=;)]+js/[j62c\20K8u]gk50CSjjGW's$X4p*:F_>0Ihcn<,SNdq&Ig@)>>S=lnXu0eV/`aM4gL2+K,[59B[-l?Q87DT:R1kT*d@h1PlcNQ83BCY-S59Vim_dZT@+iGA6_f8]q:O>*oXY8)B\T>stZ5;9lRdNYCQ#8"]@X[>d"5F",7DrqaXUVYRq>pI`$be5p@-;A`PQS%jV-jVj.p;9hU9B]>b&H[hAnWGf6IFG8kgg69^Fhl(kpaj,Shm%2GEXGmh@<T9Qdp`nItkfL-d*%B96--D8<LSu\"TTjSo;%$'%Ru?I1Ei<fW;0=o+W07Onria5uIR.9(Z<^9$I1fmd\!GA(pTr<\h?`dKi*8)V%p5AQJO8@4686tt`F9PL,e=m8^&L'XgF7T?S07Gqq!=ES6'KVdpb\H70h0/r"<PIgO^D9p2tF^WNf1=YaSM5iPnmHLI$H$?\2Q]QX`EOAM]6Ng(2=i/CDnf1j*ba8le1;STr=cXi?-:&]YU;YB2t6Z:7:E2DiO,SDhj]R`pZl09!dpZ/<LAKPq--5>ht:,Fc3hbkY<65!geNo$A"8uT9fq^,k2t>bDn,e9VSbT"mZY7>mFdc$879b:-gl$&IUi*5OfL%#mid*cHh5tN-eFA4[-]$KT"7>gWAQ%nGZt*;m6LiKQ5'W;"oHF'_8X2WujdKJ"X?s[_.mZmm*e@0\><4[6OSsT@#(PH5WRVpJn\hmZK_RW;70W@=gsL2qe_%>Sn\u_XXa*BFKTc:UMk[g_@XV0N^>NlU'@X5:Zb!L`_ksrrf17ifE"o=r]%EN,5l#"cTg*fn_t!GK>%5\cV,!(k(VApFhTR%A*~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 25
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000112 00000 n
|
||||||
|
0000000219 00000 n
|
||||||
|
0000000331 00000 n
|
||||||
|
0000000536 00000 n
|
||||||
|
0000000641 00000 n
|
||||||
|
0000000846 00000 n
|
||||||
|
0000001051 00000 n
|
||||||
|
0000001137 00000 n
|
||||||
|
0000001389 00000 n
|
||||||
|
0000001463 00000 n
|
||||||
|
0000001636 00000 n
|
||||||
|
0000001746 00000 n
|
||||||
|
0000001851 00000 n
|
||||||
|
0000001965 00000 n
|
||||||
|
0000002128 00000 n
|
||||||
|
0000002256 00000 n
|
||||||
|
0000002388 00000 n
|
||||||
|
0000002510 00000 n
|
||||||
|
0000002653 00000 n
|
||||||
|
0000002767 00000 n
|
||||||
|
0000002839 00000 n
|
||||||
|
0000005086 00000 n
|
||||||
|
0000007652 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<f0917c04d916b40c44889c55fce8c796><f0917c04d916b40c44889c55fce8c796>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 9 0 R
|
||||||
|
/Root 8 0 R
|
||||||
|
/Size 25
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
9099
|
||||||
|
%%EOF
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
# MANUAL TÉCNICO - MANUTENÇÃO, BACKUP E RESTORE - ZAMMAD
|
||||||
|
|
||||||
|
**Código:** ITGENG 0003/26 | **Classificação:** CRÍTICO
|
||||||
|
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
|
||||||
|
|
||||||
|
## 1. HISTÓRICO DE REVISÃO
|
||||||
|
|
||||||
|
| Data | Versão | Descrição | Autor |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
|
||||||
|
|
||||||
|
## 2. OBJETIVO
|
||||||
|
Garantir a continuidade do negócio através de rotinas de Backup, procedimentos de Atualização e Plano de Restore (Disaster Recovery).
|
||||||
|
|
||||||
|
## 3. PRÉ-REQUISITOS
|
||||||
|
* [ ] Acesso Root ao servidor.
|
||||||
|
* [ ] Downtime agendado (para Restore).
|
||||||
|
|
||||||
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
||||||
|
|
||||||
|
### Etapa 1: Rotina de Backup (Docker)
|
||||||
|
O Zammad via Docker não tem backup automático nativo no cron do host, você deve criar um script.
|
||||||
|
|
||||||
|
1. Crie o script `/opt/zammad-docker-compose/backup.sh`:
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
cd /opt/zammad-docker-compose
|
||||||
|
docker compose exec zammad-railsserver /usr/local/bin/zammad-backup
|
||||||
|
# Os arquivos ficarão em /var/tmp/zammad (dentro do volume)
|
||||||
|
# Mova para o host:
|
||||||
|
timestamp=$(date +%Y-%m-%d)
|
||||||
|
docker cp $(docker compose ps -q zammad-railsserver):/var/tmp/zammad_backup_${timestamp}.tar.gz /mnt/backup/
|
||||||
|
```
|
||||||
|
2. Adicione ao Crontab (`crontab -e`):
|
||||||
|
```bash
|
||||||
|
0 2 * * * /opt/zammad-docker-compose/backup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Etapa 2: Rotina de Backup (Pacote)
|
||||||
|
Instalações via pacote já possuem script nativo.
|
||||||
|
|
||||||
|
1. Edite a config:
|
||||||
|
```bash
|
||||||
|
zammad run rails r "Setting.set('backup_dir', '/mnt/backup_externo')"
|
||||||
|
```
|
||||||
|
2. Verifique o Cron:
|
||||||
|
```bash
|
||||||
|
/etc/cron.d/zammad
|
||||||
|
```
|
||||||
|
|
||||||
|
### Etapa 3: Procedimento de Restore
|
||||||
|
⚠️ **PERIGO:** Isso apaga os dados atuais.
|
||||||
|
|
||||||
|
**Para Docker:**
|
||||||
|
1. Pare o serviço: `docker compose stop`.
|
||||||
|
2. Limpe o banco (se necessário) ou suba um ambiente limpo.
|
||||||
|
3. Coloque o arquivo `.tar.gz` do backup na pasta mapeada.
|
||||||
|
4. Execute:
|
||||||
|
```bash
|
||||||
|
docker compose exec zammad-railsserver /usr/local/bin/zammad-restore /path/to/backup_file
|
||||||
|
```
|
||||||
|
5. Reinicie: `docker compose start`.
|
||||||
|
|
||||||
|
### Etapa 4: Atualização de Versão (Update)
|
||||||
|
**Docker:**
|
||||||
|
1. Edite o `.env` ou `docker-compose.yml` mudando a Tag da versão (ex: `6.1` para `6.2`).
|
||||||
|
2. Pull e Up:
|
||||||
|
```bash
|
||||||
|
docker compose pull
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
* O container cuidará das migrações de banco (db:migrate).
|
||||||
|
|
||||||
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
||||||
|
|
||||||
|
!!! warning "Pânico: Restore Falhou"
|
||||||
|
O backup não sobe ou o sistema quebrou após update.
|
||||||
|
|
||||||
|
**Problema 1: Versão do PostgreSQL incompatível no Restore**
|
||||||
|
* **Erro:** `pg_restore: [archiver] unsupported version (1.14) of input file`.
|
||||||
|
* **Causa:** Você fez backup num Postgres 15 e tentou restaurar num Postgres 12.
|
||||||
|
* **Solução:** O ambiente de destino DEVE ter a mesma versão ou superior do Banco de Dados. Atualize o Docker do Postgres.
|
||||||
|
|
||||||
|
**Problema 2: "Migrations Pending" após Update**
|
||||||
|
* **Sintoma:** Tela de "Maintenance" eterna.
|
||||||
|
* **Solução:** Force a migração manual:
|
||||||
|
```bash
|
||||||
|
docker compose exec zammad-railsserver rails db:migrate
|
||||||
|
docker compose restart
|
||||||
|
```
|
||||||
|
|
||||||
|
**Problema 3: Disco cheio durante Backup**
|
||||||
|
* **Causa:** O directorio `/var/tmp` lotou.
|
||||||
|
* **Solução:** Configure o `backup_dir` para um mountpoint externo (NFS/S3) ou limpe backups antigos (> 7 dias).
|
||||||
|
|
||||||
|
## 6. DADOS TÉCNICOS
|
||||||
|
|
||||||
|
| Componente | Local Padrão (Pacote) | Nota |
|
||||||
|
| :--- | :--- | :--- |
|
||||||
|
| **Arquivos** | `/opt/zammad` | Código fonte e assets. |
|
||||||
|
| **Banco** | `/var/lib/postgresql` | Dados críticos. |
|
||||||
|
| **Storage** | `/opt/zammad/storage` | Anexos de tickets (se local). |
|
||||||
|
|
||||||
|
## 7. VALIDAÇÃO FINAL
|
||||||
|
- [ ] O arquivo de backup `.tar.gz` é gerado diariamente e tem tamanho coerente (> 10MB)?
|
||||||
|
- [ ] O script de restore finalizou com "Restore completed successfully"?
|
||||||
|
|
@ -0,0 +1,203 @@
|
||||||
|
%PDF-1.4
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /ZapfDingbats /Name /F4 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Outlines 11 0 R /PageMode /UseNone /Pages 24 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Author () /CreationDate (D:20260127083552-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260127083552-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
||||||
|
/Subject () /Title () /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /First 12 0 R /Last 12 0 R /Type /Outlines
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<<
|
||||||
|
/Count -7 /Dest [ 5 0 R /Fit ] /First 13 0 R /Last 23 0 R /Parent 11 0 R /Title (MANUAL T\311CNICO - MANUTEN\307\303O, BACKUP E RESTORE - ZAMMAD)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
13 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 14 0 R /Parent 12 0 R /Title (1. HIST\323RICO DE REVIS\303O)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
14 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 15 0 R /Parent 12 0 R /Prev 13 0 R /Title (2. OBJETIVO)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
15 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 16 0 R /Parent 12 0 R /Prev 14 0 R /Title (3. PR\311-REQUISITOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
16 0 obj
|
||||||
|
<<
|
||||||
|
/Count -4 /Dest [ 5 0 R /Fit ] /First 17 0 R /Last 20 0 R /Next 21 0 R /Parent 12 0 R
|
||||||
|
/Prev 15 0 R /Title (4. PASSO A PASSO \(EXECU\307\303O\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
17 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 5 0 R /Fit ] /Next 18 0 R /Parent 16 0 R /Title (Etapa 1: Rotina de Backup \(Docker\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
18 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 19 0 R /Parent 16 0 R /Prev 17 0 R /Title (Etapa 2: Rotina de Backup \(Pacote\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
19 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 20 0 R /Parent 16 0 R /Prev 18 0 R /Title (Etapa 3: Procedimento de Restore)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
20 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Parent 16 0 R /Prev 19 0 R /Title (Etapa 4: Atualiza\347\343o de Vers\343o \(Update\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
21 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 7 0 R /Fit ] /Next 22 0 R /Parent 12 0 R /Prev 16 0 R /Title (5. SOLU\307\303O DE PROBLEMAS \(TROUBLESHOOTING\))
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
22 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 8 0 R /Fit ] /Next 23 0 R /Parent 12 0 R /Prev 21 0 R /Title (6. DADOS T\311CNICOS)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
23 0 obj
|
||||||
|
<<
|
||||||
|
/Dest [ 8 0 R /Fit ] /Parent 12 0 R /Prev 22 0 R /Title (7. VALIDA\307\303O FINAL)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
24 0 obj
|
||||||
|
<<
|
||||||
|
/Count 3 /Kids [ 5 0 R 7 0 R 8 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
25 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1927
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!;dhilbP&:WfGfM5dE-OB[VD!-f<kk3BbmK1*r-ZpLFUKj=>7;P>[9`OmJA2"5SZ^^$=koF8m[Cb/kp04XF!Z3U&H]=<kB)rEj,sWj]Dh)fF+a=3TT_G/STiXbsE!-e;od_uKZM1(gJ.k=o!rHC-KC'?5ETT=OZ$-t"I5"_E@HKk["ND9fS9f]/Qigd<1#<cII,c:-gJ<,#rA]=coqr3&E3>u/;C/j^)0\HfR>)hp%Z-?.OtZn,#_I73quVL<qid]I_M2L%[G_Bu+Q<cYlb(OME<RKBV%36N5^M$TX:Ft1niYe3c\GK9RpQZl&I/L]Ea#OM#@ZTm-U.)A$Ima4U50`+)YL%IopG%fhr?)1#=uH0\Y=UX'[TaNggZ1IO#$in]@cX95b=CgYu!Y,?/:O4),LVW?X8\q@0#Fm0Y%N.G!h#;p#@(6rNjoHpY-XS^iV=>Y,;pM^oPlSkG.X>7#<uL*bIS>j8n81&a$t&U;r@,8-/&iYebD^Zc3t>\!!Lbaq9:EYt46M%PXS/,+'9BLtE<"![/<o])<H_`ZZ"3*oH302A04P<iQ[s_8YL#!\hW18-Snn>D\oArcfTm/:J7&H]jt(),EUhSA5,PX?T_<8gdc_38(7LWTmDf&H>5E;[n:aW4=N:EhO.&X'BI?<o_rFbiPfml4,Nd;G>&$hAS0.GT:^P?RAOP-Q[;^`SRh<MnD%-US.j6!'/iT732_dh_&P-a=*MrXNh:*?=(o.%o8_7J:-;^l2i^,.\,.RX/oNQ+2tbU<!$j<'Pl945U]+WV&T\U[iF2(<6B]A0'*rGSGQZfb61,$\?&!JTR`$_Y")mS,A>aRG!H?F\.^b;#kj-iW*?T)$5eRoL5:aAFrd4Y$.i!s)m*Jr?&4QSU:g6>>sr0%%AQT#['6&s;)nQM68bmgq>*opWmn*o9Xhr5\L;^qUZ1Afo"ID%<>MEN\`U='c%K:8`"1n75XKjHe>%/he!=*)nU>Vb<`f4d2"PTZ3,"MH)b4%/&*+!^\1>ZCaFeIN='eKPP;nH]U+6HhjP.F-^M<^W]Sh91h\mD\VXUr_i*?k=63uPenb;[M[ssh;=gd5bb]_e?>@.,udZ^0^NuIc+p)W!DJK8FRW/;V>;/OoZF-JG'TM_I6G,/fLWcn,SL._t;hPOYF516q3=5OS#fe55LGaj.^qFJ@ESSe)TP'a-7QfH):Ju@^_HCc2"fC6-jnL+$'&U]Xe7AsF>>HF+t\6Z]jgF]ld`_-KjY$I1WQIco4/]g-%Y1YY]D]:)n_LM@Z&4LPdp2gpP^3l$u%s(<8(gjM`hX**0g<kUJAWk(_8;MANa2pB6bIN58L.'jch00QKOEi<7k'SP/\UmfDE?af;R>g"+=-$dTl:B00F!RRK^aNR57Js^EMH/?kDAG"T7VJg->c.qGrct$U/6=8o<MVQ'r=hF^?2)-nGf]mpHXMTd`gdg+_0#8-p2Y<o>gFH8q6X^/Ii&J]U.Fo?_1WuD@B:gPrm?0c>h?tN$0isNBsaM6KiNW>?SI@:Q>)_$SV,FRWH8g"FkSjX<&jWLom[%\\c.uWnPXqN;or:i22(pn9]_<4s+0B67-Xp]CH7aY2O2&igl,jOCD^p'_uA_XanW;,R1(0#6t$YYBiu0"nS7b,'G2L)])9]Z,:h3MI="0S2Gm4i\WT4L^soN2qrQ,)=#tZ2d[DkZ>c7"6>0sJ3Q!>s'*&b&Ya7Sh#$>*5Q1urBXYDW\I3nI#GZC/aqL.(1o7RNmn8p+UorjOr3+2^Q<+`f'UeODih`\N8@Z<YDo/q9.1B!5iORcedmkC'jI<R1f=<c`=fe#jOKdo_0U!eB+[0&%E,%eV:nI^Vfbb\[CcO^>24VM59N.!p;go_[^fb%mEYKqEi5^5eDN]oV<0N.J]g$7LA?m\fnc7Bi%NA\?+.3iqTW.\QMh-r&;K~>endstream
|
||||||
|
endobj
|
||||||
|
26 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2129
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
GauHLD/\/e&H88.ES+=Al"4*EokIkVRb$j5A@%c8"bp_>BSg`=8YSOL?IrWcI@qk#8kHF./M,P[FZeO(F3bkd_#Xd[rLW'M(JC..^jl_BDZIDjL#jW)Q=kDSG@umL#1#eg7&#=',X6Y3-fAHe[fZHI(rkqr.!01]_&m;+bLQmp*[-;nYfqYrMPs07E+#(8VT?*p=Sj:X*cg".X^NK@n?Vmh_\eugUrmsk=A7NnVCn.<N2_Sr66luZ5gEg6)_@VspfRQ4H1ngm_nPlV'0$Km,<rcc*K1tqM=kNFh1=J97ihd6nj7/@YJ8ZF;S]ecQaE*%G>`-4a^i8oa\!82%kQ%03aT)PpSrnM@BP0\]1Qn8L)Z7/e\m%%0\J-;0mVG)fu@J8O&B:$,pAPXO]dt@p`.#&+6A5CaV4g`[o/\E(m/lV=C-IV9fu%9iUH60T?!#`nY7p)hl07[niKp7P[L?A0/>2Wk"oe0hsD[ndhNOaem*(%MU/1J<k`>hHhYcl]A<KVL+0M/YgYDM$SuMX-JKW';VI=2htJ0ckRf@;J?VCWDX%S.F+Phb2G8h9H2-W[T\@!1EY'AeS*g<^<I^h<Bds`=$P#kI1F3FH<Y1>WXnE;E-1-mNDkCigNT0OYS4]uP^9s!='DpKR>*`cY\0eWD2RRE"OhUdY%.jph#iQ#(No7.b+daD=qfU\gD;5D)g;M81I6ZqCg+^e\.iFEt>Y-.I"t>=cVPrM%JgJk74ifkMRhl51l/L?;#Pj!Mri4>"AM)1&*nRV.[TKYsn68Rl%&MIbi]63jM:+Z*N7^ZXfDuM4naaJfV`\Rj0H:oTZFCM4H_B5')H9^%9h1l7X(uU3.+Uq1'9=3D4Hp3Gpq'fp4?fF0GPo/5WfW;%o</@RRF2<`ILeL=G8<4KmU.0Oj\"<a]8Atn4njVR_G)ej%#!&mmdk?@e3@V7p?i<p"J*Crab6S/NZ6De`>-uo.R)?8fCqHqDZ>P:-84.+#$SQ7;4J3tm`@A"A=KpEm-<-Eq=M$k^alN5Y`c++8.@"@V$:N]-M1\TTmlY0"t9cY^De9C#Mb"RCnB61XQq6'Y[GU_g5[Jrd]DdZqdd._7[Bs@&.eu2+tp($'e9n'nOR^LGf$ks4KX9qcTtSn9$u1H6'VPq=+V6C6RMA%,+o45a\4UhekUH1P7At86\eROHeljPgEs:9OL(+VPTb!i\JrfMo;"/>Sg$AgQbV\iF@Wk>XO'&,WhrHt;DN;T0lfpY2^7Pr-K$&Wih@!@kcq*AB=H\\%8<0b*X9OR,D>ttfYj>t;cBqpHoO*qU`A63AMHM'B\ntsi#Y(5&3p('F`ui99*a%t"6J#hi?#f*@agI+eNM%2%\)\.4R9)kX-=?u"9qN-L6TO:+FO*8(I11$*@:ElZOQGe.-XLOF`B(7/-?B#b$d_;>4Ig6WY3<ca-%f([j-f>U,YPd-.;W\LEU4IEj8Z#;ddal/<d66ohu6e_=/i)6]q6WC:_b&;;g'i+RT^YIZ4da#[N;g;+q)O!V5$eBoq<t\=R'AM5_0,e=gr.5(gi)r8Mbjj3qe"8'@t/Ru>JCoagZio$pMhHXQ:BMYtgK!FWE`fc!o@<or7o(klC/:\P`3hrcQa6fd[*78Xm7l2cbDijfYo0QM-nK3Ga!G=njj9Q@RfEhkW\JHt3H&T<atJs#4!*aie3D4C5g-&R$J(EkE*9a0tNc`(F@\JPQ8+I<56LB.u+Ctc8+R(B()M4AI='6q@!gO69Y"VX=u6R)X\,1uLhWA^X)T7'D(`bugBLW'dUIuoM<Mq_N`(PXMkSpY]4*LM9?*G"&Z*;AQ`%`n:i@R?1:KZ"p.*#+.ArBm\aE=]_qDr<on^?a_eX(f-(Q7F7pTaf<cgf8`uA-K&nWD>BNFjiUJRW&&efcIH+hVm?F)P5r==>C8t0A-FD9!0q=$TpT9hl29_e7PiXp$56^Kr'61@d84XSj=N\:(PBNi,glL.4)SXp9aRYlZ_`leb1<D4FU]g\J6'dIYFfK<EVq*GZsi5+Ua)r(h)#kUGj<QZ80ccPbB.fT!:noY#0+K&lXk,%KEYdm`q,mb-rPAQIRr3H]kDERa!>$'HE$m^5]=-<p`ARXo\.m'V3rN)c9.N5'oBWD2<0)%l5)fCB~>endstream
|
||||||
|
endobj
|
||||||
|
27 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1874
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gb!Sm>>s99'RnB335\[�!lqj^E?7PYQENd$!4Op!/T%7I%!l"\E=\rq[YWM.72\2Pj)[(,@4-hmn/*QB%"\=C;.ff/O!p?,5e."1DWX&(j/X/2#o+@e)3uQrGIBY(s[:%NAd7I.Es=i*_3sJF,1Jj7NZb*9+U"n)SSqp-E%QA<?j-3=nLgEU3ZV=<rD'Ej[j[^JMOtSFoB'@@Ah,D>@2K0q@jFbZUWQ6l\E8%cOXJLl::;N@>hL3J>@9YW.6p[f/4DaTiK6^357kHhs3Jp4d'Eob#Aj7+ahtAa>Ed\_*#0<T-Ud'0m^R18jW_KWJG@--1,G7*5ZY*):2[F%@.<dtC?sF&gX>rPjBRGX!td]&?O="d<U5@4S.VJ1Lra4TSu%&T$b9Fa\%Zk`AMpS%rVPp,^\-0/1'Or%;J>"oAE4hPX"4<QY[U2loQu@X.rq'bQKtpjJE(`Cq[aeu!Bhl_0=3l"sTPT$rlDk^mAFF*@&EVM/I_/Ril'9JKC@"@jDsR]:U5f#qZ,i<:#Pe&g$UDjOO#Miq[")op#(In/TJ8?2=#4C<*MJ:1i\I%ts^P@Ho-9M-WQRFq9i2.Ma'SJW<'4d?gW.Ors#%!rK@]4>8+_rLsG;]0Y45I$G?;@6SU#,a<W>cpOAp5G<C,H]RZUk6RCMj3[L5's)7VXe$c)-=I=?-?kfc:q'ZG]B?.9;1g_h&P`gr_?@r@rXp@KeeFRQ\AW5Zr"QPkf(RcRU0:Tc>H3qW,M;ZbuY<'9bM-5dNt4k9o[0W0AtH_,>"kn%S,F6D@iJffpDZ./E6a+T#n9Tp3oAnB6%haJO;+6Jr+EXJ6XJ/Wf291cKFBB[sFggq!@;%g%F`mNu"D8$U!/K$m4B0D&:32%ShOO&;5?[cJZ,a*X@%OG\W!Rhf=>L:k5h>\U+##C9d(*p+5:X@0jn!"Ms$qBYRN+ruPTX@q<2[cmPoIZ.<Q?=XTLq#OM;Ch8JU[[`PHb/\k+Xfs1L`R3ltr*.-_enr[MZ/pJ4AZ\$g!L)oG5%T-'i"5@+S$H;r."`^D`X+D)PrO[QY@XY$j_LGV)fQ**C?68Y`O(eeW1_J93&5@(VbS?$G#:L_'^Krf_MZVX&[f(4NY.12.Z$Hs@mEMTgm'FpE:7Sk>.+:[=a"Ff53al76a%[pPQP20h;R>Y!+.MeeP(C7C37HtfOtJcMF+)h!TMdO&=;?/?\?Cu5;n7o_bVMC!R2B3BAEhod[B>Q4ZEX^^.3kAi1*o'$+sO1jd[6*:N/L$oo*Y<(<F!o4k^E<>4F-W01m=]IWq5jmq!$#R]O5*Ve;k1kNB]4q$T#mIe(];#.;$J9'+Fn7:uHVjkJPc`+5]hTnRtk#1eJnhY:bDb[?8uVC",_$,b@t6"#_k,qlEaqH_aid[]NR^eSf421K/Xr>0*VY`al+O)lnE<A.ZX>=oqKBo[,d;AXN*;3kDljTCRVlqKf)0R@/Ml->kL`*Hl1^RH^&Pil3`<W4S?MJ3aW=pfQ)P9ahZjf$MB[mfWq+g\"*s0b_55:"V]DG&>_G1XR`#KT5#<89$4ik(i#ek]&]qkoV+Y/`4NemmOS4f)shJr=aS!52Sa*NrBr+mD1_Hj7jYA=pnHMdLGP&D?lC:&DE<8kXK[f,D\;.5Q*>8'd(76o?2@@o8$Lt6nE?f([nNhQ`neH+a1B)@lW8r-HNPNRT7l:fkH-<WlOdEdG94-*QP:eD$+gR[\`Cfp^=6U<Y'nqEiWAZ42!_OW'JOE4,l?#[K)Ued"FcL;NXlU5!_D).@,U\3A!F7LcH,\Gh]17f)*q[nCOr43J-r$OoGI41)B+HBr6$"Rd2ju>3P\o][VpV3;C!)em7X$.@,K8j-WD`?Y8!CKC<:9_ZV=d!M)1AU]~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 28
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000122 00000 n
|
||||||
|
0000000229 00000 n
|
||||||
|
0000000341 00000 n
|
||||||
|
0000000446 00000 n
|
||||||
|
0000000651 00000 n
|
||||||
|
0000000734 00000 n
|
||||||
|
0000000939 00000 n
|
||||||
|
0000001144 00000 n
|
||||||
|
0000001230 00000 n
|
||||||
|
0000001483 00000 n
|
||||||
|
0000001557 00000 n
|
||||||
|
0000001725 00000 n
|
||||||
|
0000001835 00000 n
|
||||||
|
0000001940 00000 n
|
||||||
|
0000002054 00000 n
|
||||||
|
0000002223 00000 n
|
||||||
|
0000002340 00000 n
|
||||||
|
0000002470 00000 n
|
||||||
|
0000002596 00000 n
|
||||||
|
0000002727 00000 n
|
||||||
|
0000002870 00000 n
|
||||||
|
0000002984 00000 n
|
||||||
|
0000003089 00000 n
|
||||||
|
0000003161 00000 n
|
||||||
|
0000005180 00000 n
|
||||||
|
0000007401 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<4ddf6fd48d3aa9586234b9922b1e3e51><4ddf6fd48d3aa9586234b9922b1e3e51>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 10 0 R
|
||||||
|
/Root 9 0 R
|
||||||
|
/Size 28
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
9367
|
||||||
|
%%EOF
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
%PDF-1.4
|
|
||||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
|
||||||
1 0 obj
|
|
||||||
<<
|
|
||||||
/F1 2 0 R /F2 3 0 R
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
2 0 obj
|
|
||||||
<<
|
|
||||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
3 0 obj
|
|
||||||
<<
|
|
||||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
4 0 obj
|
|
||||||
<<
|
|
||||||
/Contents 10 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources <<
|
|
||||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
|
||||||
>> /Rotate 0 /Trans <<
|
|
||||||
|
|
||||||
>>
|
|
||||||
/Type /Page
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
5 0 obj
|
|
||||||
<<
|
|
||||||
/Outlines 7 0 R /PageMode /UseNone /Pages 9 0 R /Type /Catalog
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
6 0 obj
|
|
||||||
<<
|
|
||||||
/Author () /CreationDate (D:20260126204049-03'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260126204049-03'00') /Producer (xhtml2pdf <https://github.com/xhtml2pdf/xhtml2pdf/>)
|
|
||||||
/Subject () /Title () /Trapped /False
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
7 0 obj
|
|
||||||
<<
|
|
||||||
/Count 1 /First 8 0 R /Last 8 0 R /Type /Outlines
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
8 0 obj
|
|
||||||
<<
|
|
||||||
/Dest [ 4 0 R /Fit ] /Parent 7 0 R /Title (Test Document)
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
9 0 obj
|
|
||||||
<<
|
|
||||||
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
10 0 obj
|
|
||||||
<<
|
|
||||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 319
|
|
||||||
>>
|
|
||||||
stream
|
|
||||||
Gar?,b>,r/&4Q?mMRs!:VB3KaZE9d9fG+5cW&/?gdo$fX4s/I7!)^kL$]j\%NYrTJ>]\Ero8M@S_%+!Z#7AP5\Bj;JQKD_tF,ZJ726L@Y&kX,W<o'B&1V&<G*d=RqY>0'qo/nmqA4u:%ouJ.5;H.hEPg'uHbe-P!$tMeZB2B-Y<C+bY.H4iiX1[j*g`9Igh>/g1,JPDZ'\HuN-!'=N#?"A(T"X(H_0D-!ZT2!FY&MJ3]uT_do27AhC.'GC+3e.]Z+`?j:JjY]XFBh0WZ4B>'Q_a'-JMge?&od1`Tc%7CHHWbp\rmpKigp6DfZ1k!<~>endstream
|
|
||||||
endobj
|
|
||||||
xref
|
|
||||||
0 11
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000061 00000 n
|
|
||||||
0000000102 00000 n
|
|
||||||
0000000209 00000 n
|
|
||||||
0000000321 00000 n
|
|
||||||
0000000525 00000 n
|
|
||||||
0000000609 00000 n
|
|
||||||
0000000861 00000 n
|
|
||||||
0000000932 00000 n
|
|
||||||
0000001011 00000 n
|
|
||||||
0000001070 00000 n
|
|
||||||
trailer
|
|
||||||
<<
|
|
||||||
/ID
|
|
||||||
[<235bf3be80ebe884edf6848997a9ae5c><235bf3be80ebe884edf6848997a9ae5c>]
|
|
||||||
% ReportLab generated PDF document -- digest (opensource)
|
|
||||||
|
|
||||||
/Info 6 0 R
|
|
||||||
/Root 5 0 R
|
|
||||||
/Size 11
|
|
||||||
>>
|
|
||||||
startxref
|
|
||||||
1480
|
|
||||||
%%EOF
|
|
||||||
Loading…
Reference in New Issue