Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade

Sempre é bom ter mais tempo para fazer as coisas, então por que não automatizar algumas delas? Com o aumento da demanda e cada vez menos tempo, cada segundo conta e automatizar as coisas ajuda a ganhar tempo e a ter mais controle.

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen
  • Als Erste(r) kommentieren

Zabbix Conference LatAm 2019 - Automação: Ganhando produtividade

  1. 1. AUT MAÇÃO Ganhando produtividade
  2. 2. Igor Nicoli dos Santos Especialista em automação, Tecnólogo em redes, Zabbix Specialist/Professional, entusiasta OpenSource e aficionado por tecnologia e “scripiteiro” por vocação. Quem sou eu 2
  3. 3. Para que criar um script, robô ou automatizar alguma coisa? 3 Por que automatizar?
  4. 4. Criando scripts, robôs e até mesmo micro sistemas, você ganha tempo, aumenta a produtividade, mantém o controle e ainda pode flexibilizar suas rotinas e tomadas de decisão. 4 Por que automatizar?
  5. 5. Facilite seu dia-a-dia: Gaste tempo criando, planejando e inovando. Para executar dezenas, centena ou milhares de vezes a mesma ação, crie um robô/script... Por que automatizar? TEMPO... 5
  6. 6. PRODUTIVIDADE/FLEXIBILIDADE... 6 Por que automatizar? Crie seus scripts de forma flexível, e tente alcançar o máximo possível de possibilidades. Scripts parametrizáveis ou quê recebem parâmetros são mais flexíveis. Criando scripts/robôs você aumenta a sua produtividade, já que você fica livre para fazer outras coisas.
  7. 7. Mantenha tudo organizado e sob controle: Uma forma de se padronizar e manter o controle é garantindo que uma determinada ação/tarefa seja executada sempre da mesma maneira. Para isso, crie um T-800 script… 7 Por que automatizar? PADRONIZAÇÃO/CONTROLE...
  8. 8. MENTIRAS E VERDADES... 8 Curiosidades Nem sempre é possível automatizar tudo. A automatização vai tirar o nosso emprego. Sem padronização, não tem automação. Sempre vale a pena automatizar.
  9. 9. AUTOMATIZAR UMA TAREFA/PROCEDIMENTO? 9 Quando... O que automatizar, não é uma decisão fácil! ● É possível executar o procedimento sem intervenção humana? ● Será executado mais de uma vez? Quantas vezes? ● Quanto tempo leva para executar manualmente? ● Esse procedimento já é executado manualmente? Por quem?
  10. 10. AUTOMATIZAR UMA TAREFA/PROCEDIMENTO? 10 Quando... 1 dia 1 mês 1 ano Quantidade de execuções 3 vezes 3 vezes x 20 dias 3 vezes x 252 dias 60 vezes 756 vezes Tempo de execução (manual) 3 horas 3 hora x 20 dias 3 hora x 252 dias 2 dias e 12 horas 31 dias e 12 horas Tempo de desenvolvimento 30 horas Tempo de execução (script) 30 segundos 30s x 20 dias 10s x 252 dias 10 minutos 2 horas, 6 minutos
  11. 11. 11 Zabbix Ferramenta facilmente customizável e gerenciável via script. API simples, robusta e rápida. Ótima para se utilizar para automatizar tarefas.
  12. 12. 12 Zabbix Documentação organizada, completa e com muitos exemplos de uso… DOCUMENTAÇÃO
  13. 13. 13 Zabbix EXEMPLOS findHostWithThisProxy Necessidade: Criar uma lista com todos os hosts monitorados por um proxy. Aplicabilidade: - Relatório operacional para controle do ambiente; - Migração dos hosts para outro proxy. Perl #!/usr/bin/perl use JSON::RPC::Client; require "/opt/zabbix/etc/zabbix_api.conf" ; # Authenticate yourself $OBJsonClient = new JSON::RPC::Client; $OBJson = { jsonrpc => "2.0", method => "user.login" , params => { user => $APIUser , password => $APIPass }, id => 1 };
  14. 14. moveHost2Proxy Necessidade: Migrar uma lista de hosts para outro proxy. Aplicabilidade: - Mover hosts de um proxy para outro em momentos de manutenção ou de falha. 14 Zabbix EXEMPLOS Perl $OBJson = { jsonrpc => "2.0", method => "host.get" , params => { filter => { available => [ 0, 2 ], snmp_available => [ 0, 2 ], jmx_available => [ 0, 2 ], ipmi_available =>[ 0, 2 ] }, output => "extend" , sortfield => "host", sortorder => "ASC", }, auth => $ZBXAuthID , id => 1 };
  15. 15. 15 findMacro Necessidade: Encontrar os hosts que possuem uma determinada macro. Aplicabilidade: - Identificar os hosts com customização via MACRO; - Encontrar os hosts que estão usando uma MACRO que sera removida. - Fazer um levantamento de todos os hosts que precisam ter uma determinada MACRO altera. Zabbix EXEMPLOS Perl if( &CheckRequest( $RPCResponse , 0 )){ foreach my $data (@{$RPCResponse ->content->{ result }}){ if( $OptDisplay =~ m/all/i ){ print $AvailableCodes { $data->{ available }}. ", ".$data->{ proxy_hostid }. ", ".$data->{ name }. ", ".$data->{ error }. "n"; } else { if( $data->{ jmx_available } == 2 ){ print $AvailableCodes { $data->{ jmx_available }}. ", ".$data->{ proxy_hostid }.", ".$data->{ name }. ", ".$data->{ jmx_error }. "n"; } if( $data->{ ipmi_available } == 2 ){ print $AvailableCodes { $data->{ ipmi_available }}. ", ".$data->{ proxy_hostid
  16. 16. updateMacro Necessidade: Manipular as macros globais e de hosts. Aplicabilidade: - Altera, criar, excluir ou adicionar macros global ou em host. Zabbix EXEMPLOS 16 Perl # Get Response my $RPCResponse = $OBJsonClient ->call( $APIUrl, $OBJson ); die "n * Authentication failed n" unless $RPCResponse ->content->{ 'result' }."nn"; # Get AuthID $ZBXAuthID = $RPCResponse ->content->{ 'result' }; print "n * Authentication successful. Auth ID: $ZBXAuthID nn"; # Check if response was successful die "Failed to auth on "$APIUrl"n" unless $RPCResponse ->content->{ result };
  17. 17. 17 findOrphanItem Necessidade: Auditar uma determinação criada para o ambiente: Nenhum item pode ser criado diretamente em um host, obrigatoriamente os itens precisam ser criado em um template. Aplicabilidade: - Cria uma lista com todos os hosts e seus itens “Orphans” para auditoria. Zabbix EXEMPLOS Perl #!/usr/bin/perl use JSON::RPC::Client; require "/opt/zabbix/etc/zabbix_api.conf" ; # Authenticate yourself $OBJsonClient = new JSON::RPC::Client; $OBJson = { jsonrpc => "2.0", method => "user.login" , params => { user => $APIUser , password => $APIPass }, id => 1 };
  18. 18. managerMap Necessidade: Gerenciar os mapas de forma mais rápida e fácil bem como alterar suas características de permissionamento. Aplicabilidade: - Encontrar todos os mapas de um determinado usuário; - Mudar as permissões de compartilhamento e acesso. Zabbix EXEMPLOS 18 Perl #============================================ ================ # Efetua o logoff via API no zabbix: sub ZabbixLogoff { $OBJson = { jsonrpc => "2.0", method => "user.logout" , params => [ ], auth => $ZBXAuthID , id => 1 }; my $RPCResponse = $OBJsonClient ->call( $APIUrl, $OBJson ); if( ! &CheckRequest( $RPCResponse , 0 )){
  19. 19. 19 Obrigado! ALGUMA PERGUNTA? Todos os scripts aqui referenciados serão disponíbilizados no github. Você consegue me encontrar no: Igor Nicoli dos Santos @igor_nicoli igor.nicoli@gmail.com https://github.com/wuilber002
  20. 20. CREDITS Special thanks to all the people who made and released these awesome resources for free: ▪ Presentation template by SlidesCarnival ▪ Photographs by Unsplash 20
  21. 21. Presentation design This presentations uses the following typographies: ▪ Titles & Body copy: Cousine You can download the fonts on this page: https://www.fontsquirrel.com/fonts/cousine You don’t need to keep this slide in your presentation. It’s only here to serve you as a design guide if you need to create new slides or download the fonts to edit the presentation in PowerPoint® 21
  22. 22. ROBOT https://fcit.usf.edu/matrix/?s=Robot You don’t need to keep this slide in your presentation. It’s only here to serve you as a design guide if you need to create new slides or download the fonts to edit the presentation in PowerPoint® 22
  23. 23. SlidesCarnival icons are editable shapes. This means that you can: ● Resize them without losing quality. ● Change fill color and opacity. Isn’t that nice? :) Examples: 23
  24. 24. 24 Now you can use any emoji as an icon! And of course it resizes without losing quality and you can change the color. How? Follow Google instructions https://twitter.com/googledocs/status/730087240156643328 ✋👆👉👍👤👦👧👨👩👪💃🏃 💑❤😂😉😋😒😭👶😸🐟🍒🍔 💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌🔑 and many more... ��

×