部署EFK收集Nginx日志(filebeat连接elasticsearch)

时间同步:

yum -y install ntpdate
ntpdate ntp1.aliyun.com

安装java-1.8:

yum install java-1.8.0-openjdk -y
java -version

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

修改打开文件最大数:

vim /etc/sysctl.conf

vm.max_map_count = 655360

sysctl -p


部署ES:

下载并安装源码包:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.1.rpm
rpm -ivh elasticsearch-6.4.1.rpm

#修改es配置文件
[root@elk-01 ~]# grep '^[a-Z]' /etc/elasticsearch/elasticsearch.yml

cluster.name: olda-cluster          #集群名称
node.name: elk-01                   #节点名称
node.master: true                   #当前节点为集群master
node.data: true                 #当前为数据节点
path.data: /var/lib/elasticsearch    #数据存放位置
path.logs: /var/log/elasticsearch   #日志存放位置
network.host: 10.0.0.10         #监听的IP地址
http.port: 9200                 #监听的端口
discovery.zen.ping.unicast.hosts: ["elk-01"]  #集群节点的主机名或IP地址

启动ES服务:
systemctl start elasticsearch.service
systemctl enable elasticsearch.service

查看ES进程:(有进程启动成功,没进程启动失败)
ps -ef |grep elasticsearch

查看集群状态:
curl '10.0.0.10:9200/_cluster/health?pretty'

报错解决:
如果状态是yellow

curl -H "Content-Type: application/json" -XPUT 'http://10.0.0.10:9200/_settings' -d '
{
    "index" : {
        "number_of_replicas" : 0
    }
}'

部署KA:

下载并安装源码包:
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.1-x86_64.rpm
rpm -ivh kibana-6.4.1-x86_64.rpm

KA配置:

#默认日志存放在系统日志
grep '^[a-Z]' /etc/kibana/kibana.yml

server.port: 5601                               #kibana监听的端口
server.host: "10.0.0.10"                      #kibana监听的IP地址
elasticsearch.url: "http://10.0.0.10:9200"        #kibana连接ES集群master节点地址

启动KA:
systemctl start kibana.service
systemctl enable kibana.service

查看端口:

访问测试:


部署FB:

下载并安装源码包:
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.1-x86_64.rpm
rpm -ivh filebeat-6.4.1-x86_64.rpm

FB配置:

#本地连接终端显示日志
egrep -v '^$|#' /etc/filebeat/filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
#这里定义的是收集那个日志文件
    - /var/log/messages
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 3
setup.kibana:
#定义推送到那个终端,这里是终端控制台,正式配置是推送到ES服务
output.console:
  enable: true

前台启动测试是否可收集日志:
/usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml

正式配置输出到ES分析日志:

#把输出到console改为elasticsearch,并指定ES的地址与端口
egrep -v '^$|#' /etc/filebeat/filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/messages
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 3
setup.kibana:
output.elasticsearch:
  hosts: ["10.0.0.10:9200"]

启动FB:
systemctl start filebeat.service
systemctl enable filebeat.service

FB日志:
tail -f /var/log/filebeat/filebeat

查看FB是否收集日志:
curl '10.0.0.10:9200/_cat/indices?v'

配置KA展示日志:

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论
高级运维 中级运维 运维简历 运维简历 DB简历
加入我们
  • 站长QQ:885097398 一键联系
  • 扫一扫加站长QQ
    Linux运维交流群