ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ElasticSearch+Filebeats+Kibana实现服务器日志分析以及性能分析

2022-02-02 19:31:05  阅读:266  来源: 互联网

标签:filebeat Filebeats elastic modules Kibana nginx elasticsearch ElasticSearch 7.6


考虑到nginx日志文件太大,分割太麻烦,为了方便分析服务器性能,所以有了此文章。

安装elastic

下载 Elastic 产品 | Elastic免费下载 Elasticsearch、Logstash、Kibana 和 Beats,分分钟上手使用 Elastic APM、Elastic App Search、Elastic Workplace Search 等服务。https://www.elastic.co/cn/downloads/

新建文件夹

mkdir -p /usr/local/elk

下载elastic

cd /usr/local/elk
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-linux-x86_64.tar.gz
tar xvf elasticsearch-7.6.0-linux-x86_64.tar.gz

启动elastic

cd /usr/local/elk/elasticsearch-7.6.0/bin
./elasticsearch -d

异常情况:

java.lang.RuntimeException: can not run elasticsearch as root
这种就是不能用root

解决方式

    创建elastic用户
    adduser elastic
    设置密码
    passwd elastic
    修改目录权限
    chown -R  elstic /etc/usr/elk
    切换用户
    su elastic

然后可以用curl 127.0.0.1:9200 测试,如果返回json串就是成功了。

本地可以安装一个elastic head可视化查询elastic数据,https://github.com/mobz/elasticsearch-head

npm run start 启动,本地访问9100端口,然后连接服务器地址:9200就可以了

如果外部访问不了这么排查:

1.先curl看能不能访问,如果没有拒绝那就是端口没打开

2.然后就排查端口是否开放,安全组件放了端口后,服务器的防火墙也要把端口打开

3.elastic 配置改一下 外网可以访问host:0.0.0.0

打开端口命令:/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT

查看端口是否开放:/sbin/iptables -L -n

如果出现下面异常:

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

添加配置:

cluster.name: my-application
node.name: node-1
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

==================================================================

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

/etc/sysctl.conf
vm.max_map_count=262144
/sbin/sysctl -p  立即生效

==================================================================

elasticsearch-head 集群健康值: 未连接
elasticsearch.yml 配置文件加上
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

安装filebeats

cd /usr/local/elk/
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.0-linux-x86_64.tar.gz
tar xvf filebeat-7.6.0-linux-x86_64.tar.gz
./filebeat modules list

./filebeat modules enable nginx
查询modules列表打开nginx

./filebeat modules disable nginx 关掉modules

修改modules.d里面的nginx文件 配置access.log和error.log

然后把外面配置文件里面的输入删除  设置modules

nohup ./filebeat -e -c filebeat.yml > filebeat.log &

后台启动

Exiting: Error while initializing input: required 'object', but found 'string' in field 'filebeat.inputs.0.fields' (source:'filebeat.yml')

一般配置有问题,用排除法修改配置测试

./filebeat -c filebeat.nginx.yml setup 

安装大盘表

Exiting: resource 'filebeat-7.9.3' exists, but it is not an alias
会提示这个资源已经存在,但是没有别名,因此,需要删除原本创建的filebeat索引,再重新执行上述命令让其自动创建索引即可正常地进行仪表盘安装。

删除掉后需要日志改变才会去激活,nginx 502 都会有日志 

安装kibana

cd /usr/local/elk/logstash-7.6.0/config
cp logstash-sample.conf logstash.conf
vim logstash.conf
配置日志输入,beats配置
input {
  beats {
      # beats的端口号
    port => 5044
    # 是否开启ssl加密,否
    ssl => false
  }
}

./kibana & 后台启动

标签:filebeat,Filebeats,elastic,modules,Kibana,nginx,elasticsearch,ElasticSearch,7.6
来源: https://blog.csdn.net/u013271012/article/details/122770075

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有