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 :)
 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:




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

Read More
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.

Read More
Sem muitas delongas:

Aplique esse comando diretamente no banco do Zabbix

update zabbix.users set passwd=md5('mynewpassword') where alias='Admin';
São tempos difíceis. Não dá mais pra confiar na infraestrutura dos serviços web pois eles fornecem seus dados a quem não deveria. Nada mais confortável do que você manter seus dados dentro de casa, não é verdade? Certa vez eu quis fazer isso, mas sempre dava zica! Dessa vez, com um repositório pro Node.js, ficou bem mais fácil a resolver as pendengas que surgiram da primeira vez. Thanks bro!


Mas, o que é o Etherpad?


É um serviço que até o nosso governo brasileiro usa: http://notas.dados.gov.br/notas/
Não ajudou muito né? :D
Bom, é um serviço de edição de notas online, em que várias pessoas podem editar um documento simultaneamente. O Google Docs tem essa funcionalidade também, porém não dá pra rodar o Google Docs dentro de sua infraestrutura. #PrivacidadeFail.

Read More
Vazamento de energia inter-universos pode revelar mundos paralelos: Ninguém menos do que o Nobel de Física Frank Wilczek quer testar a existência de múltiplos universos, a famosa teoria dos multiversos.
Acompanhando uma discussão na lista GTER (Grupo de Trabalho e Engenharia em Redes), surgiu uma thread muito interessante, sobre gestão de conexões físicas. Temos muitos softwares por aí para fazer monitoramento, o que é muito útil, mas, quando a questão é localizar fisicamente aonde é o problema ou identificar aonde está a régua Nº2, ou qualquer outro item que não pode ser monitorado, aí já complica.
A necessidade apresentada pelo amigo foi a seguinte:
Senhores, procuro uma solução para gestão de conexões físicas, que permita rastreabilidade.
Por ex porta eth1 do SRV1 RACK 1 -> patch cord A -> patch panel X RACK 1 -> Patch Panel Y RACK 2 -> Patch Cord B -> Porta 1 Switch Z RACK 2

Soluções apresentadas:

opendcim

O único com tal nível de detalhamento que achei até agora foi o OpenDCIM, porém, peca no visual...

Rackmonkey

o Rackmonkey pelo teste não entra no detalhe de conexões.



RackTables

Na minha opinião, o mais simpático e intuitivo


Mais
http://www.i-doit.org/

http://www.combodo.com/-Overview-.html
Seguindo a ideia de que as coisas importantes não devem ser postadas só nas redes sociais, registro aqui um clássico que tanto gosto. Música nostálgica. Perfeita.
Um abraço :)