Aqui falaremos sobre os procedimentos de instalação do ELK 3 em CentOS para ser possível importar os dashboards para Exchange 2013 disponibilizado por ELIJAH PAUL (dísponível aqui, ou nas referências abaixo)
Antes de mais nada, será necessário o Java, para instalar execute:
yum -y install java-1.7.0-openjdk policycoreutils-python
Para instalar o Elasticsearch, execute os comandos abaixo:
rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch
echo "[elasticsearch-1.1]" > /etc/yum.repos.d/elasticsearch.repo
echo "name=Elasticsearch repository for 1.1.x packages" >> /etc/yum.repos.d/elasticsearch.repo
echo "baseurl=http://packages.elasticsearch.org/elasticsearch/1.1/centos" >> /etc/yum.repos.d/elasticsearch.repo
echo "enabled=1" >> /etc/yum.repos.d/elasticsearch.repo
yum -y install elasticsearch-1.1.1
echo "script.disable_dynamic: true" >> /etc/elasticsearch/elasticsearch.yml
sed -i "s/# network.host: 192.168.0.1/network.host: localhost/g" /etc/elasticsearch/elasticsearch.yml
sed -i "s/# discovery.zen.ping.multicast.enabled: false/discovery.zen.ping.multicast.enabled: false/g" /etc/elasticsearch/elasticsearch.yml
ln -s /usr/share/elasticsearch/bin/elasticsearch /usr/bin/elasticsearch
service elasticsearch restart
/sbin/chkconfig --add elasticsearch
Para instalar o logstash, execute os comandos abaixo:
rpm -ivh http://download.elastic.co/logstash/logstash/packages/centos/logstash-2.4.1.noarch.rpm
vi /etc/logstash/conf.d/logstash.conf
Pressione a tecla INSERT para entrar em modo de edição e insira o seguinte conteúdo no arquivo:
input { udp { type => “Exchange” port => 5141 } } filter { if [type] == “Exchange” { csv { add_tag => [ ‘exh_msg_trk’ ] columns => [‘logdate’, ‘client_ip’, ‘client_hostname’, ‘server_ip’, ‘server_hostname’, ‘source_context’, ‘connector_id’, ‘source’, ‘event_id’, ‘internal_message_id’, ‘message_id’, ‘network_message_id’, ‘recipient_address’, ‘recipient_status’, ‘total_bytes’, ‘recipient_count’, ‘related_recipient_address’, ‘reference’, ‘message_subject’, ‘sender_address’, ‘return_path’, ‘message_info’, ‘directionality’, ‘tenant_id’, ‘original_client_ip’, ‘original_server_ip’, ‘custom_data’] remove_field => [ “logdate” ] } grok { match => [ “message”, “%{TIMESTAMP_ISO8601:timestamp}” ] } mutate { convert => [ “total_bytes”, “integer” ] convert => [ “recipient_count”, “integer” ] split => [“recipient_address”, “;”] split => [ “source_context”, “;” ] split => [ “custom_data”, “;” ] } date { match => [ “timestamp”, “ISO8601” ] timezone => “Europe/London” remove_field => [ “timestamp” ] } if “_grokparsefailure” in [tags] { drop { } } } } output { elasticsearch { hosts => localhost } stdout { codec => rubydebug } } |
Terminando de inserir, pressione a tecla ESC para sair do modo de edição e digite :wq! para salvar e sair.
ln -s /opt/logstash/bin/logstash /usr/bin/logstash
/opt/logstash/bin/logstash-plugin install logstash-input-beats
/opt/logstash/bin/logstash-plugin install logstash-input-udp
/opt/logstash/bin/logstash-plugin install logstash-output-elasticsearch
systemctl daemon-reload
systemctl enable logstash
systemctl start logstash
Para instalar o Kibana, execute os comandos abaixo:
yum install -y httpd
systemctl enable httpd.service
systemctl start httpd.service
cd ~; curl -O https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz
tar xvf kibana-3.1.2.tar.gz
sed -i "s/elasticsearch: \"http:\/\/\"+window.location.hostname+\":9200\",/elasticsearch: \"http:\/\/\"+window.location.hostname+\":80\",/g" ~/kibana-3.1.2/config.js
mkdir -p /var/www/html/kibana3
cp -R ~/kibana-3.1.2/* /var/www/html/kibana3/
chmod -R 777 /var/www/html/kibana3
vim /etc/httpd/conf.d/kibana3.conf
Pressione a tecla INSERT para entrar em modo de edição e insira o seguinte conteúdo no arquivo:
<VirtualHost $HOSTNAME:80> ServerName $HOSTNAME DocumentRoot /var/www/html/kibana3 <Directory /var/www/html/kibana3> Allow from all Options -MultiViews </Directory> <Proxy http://localhost:9200> ProxySet connectiontimeout=5 timeout=90 </Proxy> # Proxy for _aliases and .*/_search <LocationMatch “^/(_nodes|_aliases|.*/_aliases|_search|.*/_search|_mapping|.*/_mapping)$”> ProxyPassMatch http://127.0.0.1:9200/$1 ProxyPassReverse http://127.0.0.1:9200/$1 </LocationMatch> # Proxy for kibana-int/{dashboard,temp} stuff (if you don’t want auth on /, then you will want these to be protected) <LocationMatch “^/(kibana-int/dashboard/|kibana-int/temp)(.*)$”> ProxyPassMatch http://127.0.0.1:9200/$1$2 ProxyPassReverse http://127.0.0.1:9200/$1$2 </LocationMatch> <Location /> AuthType Basic AuthBasicProvider file AuthName “Restricted” AuthUserFile /etc/httpd/conf.d/kibana-htpasswd Require valid-user </Location> </VirtualHost> |
Terminando de inserir, pressione a tecla ESC para sair do modo de edição e digite :wq! para salvar e sair. em seguida execute:
htpasswd -c /etc/httpd/conf.d/kibana-htpasswd user
Informe a senha do usuário user, pressione ENTER, confirme a senha e pressione novamente ENTER.
yum install -y epel-release
yum install -y python-pip
pip install --upgrade pip
pip install elasticsearch-curator
systemctl restart httpd.service
Agora é possível acessar o kibana pelo endereço http://IP_SEU_SERVIDOR
Fontes/Referências
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Entre em contato conosco pelo e-mail equipe@nvlan.com.br.