terça-feira, 28 de julho de 2015

Instalação do syslog Graylog

Para instalar o Graylog é necessário ter um Linux configurado.
Este tutorial foi baseado no CentOS 7

Abaixo um resumo dos passos para a instalação:

  • Instalação do banco de dados MongoDB (Download);
  • Instalação do openjdk;
  • Instalação do serviço de pesquisa Elastic Search (Download);
  • Instalação do Graylog-server (Download repositório);
  • Instalação do Graylog-web (Utilizar o mesmo repositório do server);
  • Configurar syslogd;


Instalação MongoDB

Criar o repositório abaixo:
/etc/yum.repos.d/mongodb-org-3.0.repo
Adicionar o  conteúdo abaixo no arquivo:

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
sslverify=0

Após instalar com o comando:
yum install -y mongodb-org

Desabilitar o selinux no
/etc/selinux/config
SELINUX=disabled

Reiniciar o computador com o comado abaixo:
reboot

Iniciar o serviço com o comando:
systemctl start mongod

Para testar:
mongostat --rowcount 5 2
/usr/bin/mongo

O arquivo de configuração está em: /etc/mongod.conf
Outros comandos do banco de dados podem ser vistos em: http://docs.mongodb.org/manual/reference/mongo-shell/


Instalação Java

yum install java-1.7.0-openjdk.x86_64



Instalação Elastic Search

rpm -ivh elasticsearch-1.6.0.noarch.rp
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service

Alterar o arquivo abaixo:
vim /etc/elasticsearch/elasticsearch.yml
Alterar os campos abaixo:
cluster.name: graylog2
network.bind_host: localhost

Adicionar as linhas:
script.disable_dynamic: true
discovery.zen.ping.multicast.enabled: false
#Alterar a linha abaixo com o FQDN do seu servidor
discovery.zen.ping.unicast.hosts: ["hostname.domínio:9300"]
network.bind_host: sun16.unimed-ners.net

Configurar memória no arquivo:
/usr/share/elasticsearch/bin/elasticsearch.in.sh

Reiniciar o serviço
systemctl restart  elasticsearch.service

netstat -lpnt | grep :9200


Instalação Graylog-server 

Para instalar o repositório
rpm -ivh graylog-1.1-repository-el7_latest.rpm
Observação: colocar o comando "sslverify=0" no arquivo .repo da pasta yum referente ao graylog

Para instalar a aplicação
yum install graylog-server graylog-web

Editar o arquivo: /etc/graylog/server/server.conf

Alterar os campos abaixo:
password_secret = senha keypass
root_password_sha2 = senha
#usar o commando "echo -n admin | shasum -a 256" em outro servidor parar gerar a senha admin para o usuário admin

#Alterar a linha abaixo com o FQDN do seu servidor
rest_listen_uri = http://hostname.domínio:12900/
elasticsearch_shards = 1
elasticsearch_discovery_zen_ping_multicast_enabled = false
#Alterar a linha abaixo com o FQDN do seu servidor
elasticsearch_discovery_zen_ping_unicast_hosts = hostname.domíniot:9300
#Alterar a linha abaixo com o FQDN do seu servidor
rest_transport_uri = http://hostname.domínio:12900/

Iniciar os serviços
systemctl restart graylog-server
systemctl restart graylog-web

Alterar configuração de memória:
vim /usr/share/graylog-server/bin/graylog-server



Instalação Graylog-web

Editar o arquivo: /usr/share/graylog-web/conf/web.conf
Alterar os campos abaixo: o mesmo do /etc/graylog/server/server.conf campo password_secret
application.secret="Mesma senha do password_secret entre aspas duplas"
#Alterar a linha abaixo com o FQDN do seu servidor
graylog2-server.uris=http://hostname.domínio:12900

Importante: usuário admin e senha admin, após é necessário alterar a senha.

Para acessar a aplicação utilizar o link: http://hostname.domínio:9000  


Configurar syslogd

Editar o arquivo abaixo:
vi /etc/rsyslog.conf

Adicionar no final do arquivo as linhas:
$template GRAYLOGRFC5424,"<%PRI%>%PROTOCOL-VERSION% %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n"
*.* @sun16.unimed-ners.net:10514;GRAYLOGRFC5424

Reiniciar o serviço
systemctl restart rsyslog
ou
service rsyslog restart



segunda-feira, 20 de julho de 2015

Powershell - Ler o conteúdo de vários arquivos e adicionar em um arquivo

As vezes é preciso adicionar o conteúdo de uma série de arquivos em um único para podermos gerar relatórios ou até mesmo importar para o Excel


O pequeno script abaixo lê o conteúdo dos arquivos com extensão txt da pasta e adiciona em c:\temp\log.txt.

#A pasta de destino precisa existir
$pastaLogs="c:\pastadosarquivos\*.txt"


$arquivos = dir $pastaLogs
foreach ($arquivo in $arquivos){
    Get-Content $arquivo >> c:\temp\log.txt

}


segunda-feira, 6 de julho de 2015

Listar arquivos que estão abertos pelo sistema operacional

As vezes digitamos o comando:
df -h / 

E ele mostra que estamos com menos espaço do que quando listamos o conteúdo das pastas com o comando:
du -sch /

Isto acontece porque existem processos que marcam alguns arquivos para serem apagados, porém não os apagam. Para listar estes arquivos basta utilizar o comando abaixo:
lsof / | grep "deleted" | sort -k7 -n

Para apagar os arquivos acessar a pasta /proc/numero do processo/fd
ls -la numero informado na 4 coluna, para o exemplo "processo  103469        root  548ur  REG 253,17 1939946640  284282 /opt/logs/jboss.log (deleted)"
Será 548

Para zerar o arquivo digitar: > 548

Após este comando a área do arquivo será liberada para o sistema operacional.