python用的是python-logstash库https://github.com/vklochan/python-logstash
这一套用起来都比较方便.
logstash安装,配置,运行
下载并安装logstash
打开https://www.elastic.co/downloads/logstash,找到最新版下载链接,使用wget下载rpm,然后通过yum安装
wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-2.1.1-1.noarch.rpm
yum install logstash-2.1.1-1.noarch.rpm
也可以直接通过repo安装:https://www.elastic.co/guide/en/logstash/current/package-repositories.html
配置logstash
vim /etc/logstash/conf.d/logstash.conf
input {
tcp {
port => 5959
codec => json
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
}
运行logstash
chkconfig logstash on
/etc/init.d/logstash start
telnet 127.0.0.1 5959 #test
Python logstash
安装python包
pip install python-logstash
测试脚本 vim test.py
import logging
import logstash
import sys
host = 'localhost'
test_logger = logging.getLogger('python-logstash-logger')
test_logger.setLevel(logging.DEBUG)
test_logger.addHandler(logstash.TCPLogstashHandler(host, 5959, version=1))
test_logger.error('python-logstash: test logstash error message.')
test_logger.info('python-logstash: test logstash info message.')
test_logger.warning('python-logstash: test logstash warning message.')
extra = {
'test_string': 'python version: ' + repr(sys.version_info),
'test_boolean': True,
'test_dict': {'a': 1, 'b': 'c'},
'test_float': 1.23,
'test_integer': 123,
'test_list': [1, 2, '3'],
}
test_logger.info('python-logstash: test extra fields', extra=extra)
检查是否成功
curl http://127.0.0.1:9200/_search?pretty&q=logstash
kibana安装使用
从https://www.elastic.co/downloads/kibana找到最新版本的kibana
wget https://download.elastic.co/kibana/kibana/kibana-4.3.1-linux-x64.tar.gz
tar -zxf kibana-4.3.1-linux-x64.tar.gz
vim config/kibana.yml,找到elasticsearch.url这行,根据情况决定是否要修改,如果修改记得去掉前面的注释符号
运行bin/kibana启动服务,访问http://127.0.0.1:5601/,点击创建即可
配置nginx访问
安装htpasswd工具,生成账号密码
yum install httpd-tools
htpasswd -b -c /data/kibana.htpasswd username password
配置nginx server
upstream kibana {
server 127.0.0.1:5601 fail_timeout=0;
}
server {
listen 80;
server_name kibana.domain.com;
location / {
auth_basic "Restricted";
auth_basic_user_file /data/kibana.htpasswd;
proxy_pass http://kibana;
}
}
重启nginx
nginx -s reload