日志管理方案:
服务器数量较少时:
直接登录到目标服务器捞日志查看 --> 通过rsyslog或shell/python 等脚本实现日志收集,并集中保存到统一的日志服务器
服务器数量较多时:
ELK 大型的日志系统,实现日志收集、日志存储、日志检索和分析
容器环境:
EFK Loki+Granfana
ELK组件:
Logstash:收集日志数据,通过插件模块对数据进行过滤,格式化处理再输出 ElasticSearch:存储日志数据,并创建索引,方便全文检索 集群化部署,节点分三种类型:master/data/client,设置相同的cluster.name并使用zen discovery通过单播的方式加入到集群中 Kiabana:接入ElasticSearch的数据源,将日志数据进行图形化展示,方便用户通过浏览器查看、统计、分析日志 Filebeat:替代logstash采集日志数据 Fluentd:替代logstash采集日志数据和过滤转换等功能,常用于k8s容器环境 kafka/redis:作为mq消息队列,实现流量削峰、缓冲等功能
ELK 的工作原理:
(1)在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash。
(2)Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
(3)Elasticsearch 对格式化后的数据进行索引和存储。
(4)Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。
总结:
logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。
Elasticsearch索引管理
#创建索引 curl -X PUT http://192.168.116.0:9200/<索引名>[/<类型>/<文档>?pretty&pretty] [-H 'content-Type: appliction/json' -d '{"键名1":"键值","键名2":"键值"}'] #删除索引: curl -X DELETE http://ip:9200/<索引名>[,<索引名2>,...] #查看索引配置: curl -X GET http://ip:9200/<索引名>/_settings #修改索引配置: curl -X PUT http://ip:9200/<索引名>/_settings -H 'content-Type: appliction/json' -d '{"键名":"键值"}' #创建索引别名: curl -X POST http://ip:9200/_aliases -H 'content-Type: appliction/json' -d '{"actions":[{"add":{"index":"索引名","alias":"索引别名"}}]}' #删除索引别名: curl -X POST http://ip:9200/_aliases -H 'content-Type: appliction/json' -d '{"actions":[{"remove":{"index":"索引名","alias":"索引别名"}}]}'
ELK 部署:
Elasticsearch部署:
#环境准备
准备两台node节点服务器,以及一台nginx服务器
在node节点 部署 Elasticsearch 软件
将Elasticsearch的rpm包上传到/opt目录下,并进行安装
修改Elasticsearch主配置文件
#指定数据和日志的存放路径
#避免es使用swap分区
#设置监听地址和监听端口
#集群发现通过单播实现,指定要发现的节点
#node2节点也一样配置
#进行内核调优
重新启动后优化生效
#启动Elasticsearch,检查配置是否成功
#浏览器中访问node1和node2节点地址,查看node1和node2信息
#查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行
#state?pretty 检查群集状态信息
这样的页面查看信息对用户很不友好
我们可以安装 Elasticsearch-head 插件 来进行图形化的管理
修改 Elasticsearch 主配置文件
#开启跨越访问支持
#指定跨越访问允许的域名地址为所有
重新启动服务
#插入索引
在nginx节点上部署 Logstash
Logstash 一般部署在需要监控其日志的服务器。用于收集 nginx 服务器的日志信息并发送到 Elasticsearch。
将 Logstash软件包上传到/opt目录下,并解压
启动Logstash服务
定义 logstash配置文件
在node1节点上部署 Kibana
将Kibana软件包上传到/opt目录中,并解压
设置Kibana主配置文件
开启服务
标签:ELK,系统,节点,索引,Elasticsearch,服务器,日志,Logstash From: https://www.cnblogs.com/chenjw0608/p/17973223