:::: MENU ::::

terça-feira, 14 de outubro de 2014


O OTRS é uma ferramenta de service desk, muito boa por sinal. Estou fazendo alguns testes com ela em minha rede, para substituir o GLPI. Sei que o GLPI é muito bom, mas o acho muito feio e o designer que tinha, já saiu. Então, me resta utilizar algo pronto e bonito :)
Enfim, vamos as configurações:

As configurações do OTRS devem ser feitas diretamente no arquivo Config.pm, que fica dentro do diretório /opt/otrs/Kernel, caso você instale por meio de um pacote .rpm - até recomendo, simplifica e agiliza em muito, até na hora de atualizar as versões.

Então, segue o meu arquivo de configuração:

#Enable LDAP authentication for Customers / Users
  $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
  $Self->{'Customer::AuthModule::LDAP::Host'} = 'winad01.linux.local';
  $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=linux,DC=local';
  $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
  $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=services,DC=linux,DC=local';
  $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'SeuPassword?';
    # CustomerUser
    # (customer user ldap backend and settings)
    $Self->{CustomerUser} = {
        Name => 'LDAP Data Source',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            # ldap host
            Host => 'winad01.linux.local',
            # ldap base dn
            BaseDN => 'dc=linux, dc=local',
            # search scope (one|sub)
            SSCOPE => 'sub',
            UserDN => 'CN=otrs,OU=services,DC=linux,DC=local',
            UserPw => 'SeuPassword?',
            AlwaysFilter => '(&(objectClass=user)(objectCategory=person))',
            SourceCharset => 'utf-8',
            DestCharset   => 'utf-8',
            # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
            Params => {
#               port => 389,
                port => 3268,
                timeout => 120,
                async => 0,
                version => 3,
            },
        },
                ReadOnly => 1,
                # customer unique id
        CustomerKey => 'sAMAccountName',
        # customer #
        CustomerID => 'mail',
        CustomerUserListFields => ['cn', 'mail'],
        CustomerUserSearchFields => ['cn', 'givenname', 'mail'],
        CustomerUserSearchPrefix => '',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['mail'],
        CustomerUserNameFields => ['givenname', 'sn'],
        # show not own tickets in customer panel, CompanyTickets
        CustomerUserExcludePrimaryCustomerID => 0,
        # add an ldap filter for valid users (expert setting)
#       CustomerUserValidFilter => '(!(description=locked))',
        # administrator can't change customer preferences
        AdminSetPreferences => 0,
#        # cache time to live in sec. - cache any database queries
        CacheTTL => 120,
  Map => [
            # note: Login, Email and CustomerID are mandatory!
            # if you need additional attributes from AD, just map them here.
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
#            [ 'UserSalutation', 'Title',      'title',           1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',   'givenname',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',    'sn',              1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',    'sAMAccountName',             1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',       'mail',            1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID',  'sAMAccountName',            0, 1, 'var', '', 0 ],
#            [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
            [ 'UserPhone',      'Phone',      'telephoneNumber', 1, 0, 'var', '', 0 ],
#            [ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
#            [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
            [ 'UserMobile',     'Mobile',      'mobile', 1, 0, 'var', '', 0 ],
            [ 'UserRoom',       'Room',        'physicalDeliveryOfficeName', 1, 0, 'var', '', 0 ],
        ],
    };
No nosso exemplo:
linux.local: Nosso domínio
winad01.linux.local: endereço do Active Directory

Esse é exatamente meu arquivo de configuração, que autentica em um controlador de domínio Windows Server 2012 R2, que não aceita conexões anônimas por padrão.
Um detalhe que percebi é que ele se conecta a porta 3268, diferente da 389 do LDAP. A porta 3268 é a do Global Catalog Search Base. Para maiores informações, leiam aqui: http://technet.microsoft.com/en-us/library/cc978012.aspx

Até a próxima :)

quinta-feira, 10 de julho de 2014

 Esse é um problema raro, mas as vezes acontece. Aconteceu agora comigo. Explico:

Sou usuário da rede da PRODEB-BA (empresa de dados do Estado da Bahia), e, como estou dentro dela, recomenda-se que utilizemos os seus servidores de DNS como forwarder, pois alguns endereços não são publicados para fora de sua rede (ex: fiplan.ba.gov.br e etc.). De uma hora pra outra, não consegui mais acessar o site da bendita PRODEB. Entrei em contato com eles e disseram que o problema é comigo.
Ok. Depois de muito funçar, alterei o meu forwarder (encaminhador) para um endereço do DNS do Google - e funcionou!

Então, para que esse problema seja resolvido, faremos o seguinte:

Para o domínio prodeb.ba.gov.br, use os DNS 8.8.8.8 e 8.8.4.4



E para os outros domínios, use o forwarder da PRODEB:




quinta-feira, 3 de julho de 2014

Uma das grandes vantagens de se utilizar o Zabbix, é as suas infinitas possibilidades de expansão. O shellscript é um grande aliado na coleta de informações, visto que qualquer informação que você possa obter com o shellscript, ela pode ser jogada no Zabbix. 

Nesse post, vamos mostrar por etapas como consultar dentro da base de dados do GLPI, o número de tickets fechados no mês e jogar essas informações no Zabbix, e gerar também gráficos, porque chefe gosta é de gráfico! :D


Vamos dividir esse tutorial em:
1. Banco de dados
1.1 Criação de usuário no banco
1.2 Criação do select
2. Shell Script
2.1 Criação do script
2.2 Teste de script
3. Configuração do Zabbix
3.1 Inserção do shell script
3.2 Criação do template
3.2.1 Criação do item
3.2.2 Criação do gráfico

quarta-feira, 2 de julho de 2014

A algum tempo estou utilizando o Zabbix lá na empresa e com o passar do tempo, alguns problemas vieram aparecendo no servidor, como por exemplo:
  • Zabbix busy unreachable poller process
  • zabbix icmp pinger processes more than 75 busy
No momento 1, alteramos o parâmetros para o icmp pinger, e no momento 2 alteramos os parâmetros para o unreachable poller process. Veja no gráfico como a melhora é imediata.

segunda-feira, 31 de março de 2014

Posts populares