filebeat作用为收集日志,所以发布到日志所在的服务器
Elasitcsearch + Kibana发布在日志最终传输的目的服务器
filebeat ,Elasitcsearch ,Kibana最好使用相同版本,不然很可能会出现不兼容现象
centos 6.x 环境下
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
将以下内容
[elastic-5.x] name=Elastic repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
保存为 /etc/yum.repos.d/beat.repo
文件
开始安装
yum -y install filebeat chkconfig --add filebeat
启动命令
/etc/init.d/filebeat start
https://www.elastic.co/downloads/beats/filebeat1
方式一:源码
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-linux-x86_64.tar.gz tar -zxvf filebeat-6.0.0-linux-x86_64.tar.gz
方式二:rpm
#推荐使用 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-x86_64.rpm sudo rpm -ivh filebeat-6.0.0-x86_64.rpm
mkdir -p ~/download && cd ~/download wget -c https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.zip unzip elasticsearch-1.7.2.zip (或者) curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz tar -xvf elasticsearch-6.0.0.tar.gz mv elasticsearch-1.7.2 /usr/local/elasticsearch
启动命令
cd /usr/local/elasticsearch/bin ./elasticsearch -d
注意:出于安全考虑,es不能以root用户执行,所以,步骤如下:
groupadd elsearch useradd elsearch -g elsearch -p elasticsearch chown -R elsearch:elsearch elasticsearch目录(此处为/usr/local/elasticsearch) su elsearch #切换账户 cd /usr/local/elasticsearch/bin #进入你的elasticsearch目录下的bin目录 ./elasticsearch -d
#方式一 rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch cat > /etc/yum.repos.d/kibana.repo [kibana-6.x] name=Kibana repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md yum install kibana chkconfig --add kibana #方式二 wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm rpm -ivh kibana-6.0.0-x86_64.rpm chkconfig --add kibana
启动命令
/etc/init.d/kibana start
filebeat: prospectors: - document_type: "php-fpm" paths: - /var/log/php/php-fpm.log - document_type: "php-fpm.slow" paths: - /var/log/php/slow.log multiline: pattern: '^[[:space:]]' negate: true match: after output: elasticsearch: hosts: ["192.168.1.88:9200"] shipper: tags: ["web"]
上面的配置表示从 /var/log/server/php/php-fpm.log
, /var/log/server/php/cloud.slow.log
这两个位置收集日志,其中由于 slow 日志存在多行的做为一条记录的情况,filebeat 通过三个配置来将多行转为一行, pattern
, negate
, match
, 上面的配置表示,如果不是以空白开头的行将被拼接到上一行的后面,pattern 遵循golang的正则语法
output
指令中指定将日志输出到 elasticsearch
,并添加了服务所在ip 和端口,可以添加多台,还能支持负均衡
shipper
中可以指定一些tag,方便后面在 kibana 中筛选数据
好了,重启filebeat就可以了, /etc/init.d/filebeat restart
确保 Elasticsearch 已经启动
安装 filebeat 的示例仪表盘等
mkdir -p ~/download && cd ~/download curl -L -O http://download.elastic.co/beats/dashboards/beats-dashboards-1.3.1.zip unzip beats-dashboards-1.3.1.zip cd beats-dashboards-1.3.1/ ./load.sh
默认情况下,脚本假设在127.0.0.1:9200上运行Elasticsearch。 使用-url选项指定其他位置。 例如:./load.sh -url http://192.168.1.88:9200
。
kibana中需要配置 elasticsearch 的地址和端口,现在两个服务都是在同一台上,配置默认是 localhost:9200
,所以也不用改
kibana 启动后默认 端口是 5601 , 从浏览器打开 http://192.168.1.88:5601
进入elasticsearch目录,下载x-pack
bin/elasticsearch-plugin install x-pack
安装过程中跳出选项现在y即可。
如果你在Elasticsearch已禁用自动索引的创建,在elasticsearch.yml配置action.auto_create_index允许X-pack创造以下指标:
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*
启动ES,很有可能会报错!
Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/elasticsearch/config/elasticsearch.keystore
提示权限不够,此时,切换到root用户,执行
chown 用户名(elsearch) /usr/local/elasticsearch -R
另。因为很可能出现初始账号密码不对,所以可以事先设定自己的密码(此方法适用6.x及以上版本版本)
bin/x-pack/setup-passwords interactive
进入kibana目录,下载x-pack
bin/kibana-plugin install x-pack #直到出现Plugin installation complete才算安装完成
修改kibana.yml中的elasticsearch账号密码,默认为 账号:elastic 密码:changme
在进入kibana界面之后,可以进行密码修改,但是修改之后又要重新修改kibana中的账号密码,重启
注:rpm安装默认在/usr/share/kibana;可以find / -name kibana-plugin
在登录kibana之后,进入管理页面
在Management里面可以添加新的用户,并分配不同的权限