文章采集系统(log日志文件中grep、awk节点(node)节点 )
优采云 发布时间: 2021-12-26 20:06文章采集系统(log日志文件中grep、awk节点(node)节点
)
我们通常在日志文件中直接用grep和awk分析日志,得到我们想要的信息。这种方法效率低下,并且需要在生产中进行集中日志管理。汇总了所有服务器上的日志采集
。
弹性搜索
一个节点(node)是一个Elasticsearch实例,一个集群(cluster)是由一个或多个节点组成,它们具有相同的cluster.name,它们一起工作来共享数据和负载。当添加新节点或删除节点时,集群将感知并平衡数据。
集群中的一个节点会被选举为主节点(master),它会临时管理集群层面的一些变化,比如创建或删除索引,添加或删除节点等。主节点不参与文档- level 变化或搜索,这意味着当流量增长时,master 节点不会成为集群的瓶颈。
作为用户,我们可以与集群中的任何节点通信,包括主节点。每个节点都知道文档存在于哪个节点,并且可以将请求转发到相应的节点。我们访问的节点负责采集
各个节点返回的数据,最后一起返回给客户端。所有这些都由 Elasticsearch 处理。
一个完整的集中式日志系统需要包括以下主要功能:
采集——可以采集多个来源的日志数据
传输——日志数据可以稳定传输到中央系统
Storage-如何存储日志数据
分析-可以支持UI分析
警告-可以提供错误报告,监控机制
Fluentd基于CRuby实现,一些对性能很关键的组件用C语言重新实现,整体性能不错。
Fluentd支持所有主流日志类型,插件支持更多,性能更好
Logstash支持所有主流日志类型,插件支持最丰富,DIY灵活,但性能较差,JVM容易导致内存占用高。
Elasticsearch 是一个开源的分布式搜索引擎,提供采集
、分析和存储数据三大功能
Kibana 也是一个开源的免费工具。Kibana 可以为 td-agent 和 ElasticSearch 提供日志分析友好的 web 界面,可以帮助汇总、分析和搜索重要的数据日志。
node-1
#yum -y install java //下载java
#java -version //检测版本号
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)
#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.rpm
# rpm -ivh elasticsearch-6.3.1.rpm //安装
# vim /etc/elasticsearch/elasticsearch.yml //修改配置文件
cluster.name: my-application
node.name: node-1
node.master: true
network.host: 172.21.0.9
http.port: 9200
/etc/init.d/elasticsearch start //启动
curl http://192.168.124.173:9200/_cat/ //尝试链接 如果链接失败,关闭防火墙,查看配置文件
#curl http://192.168.124.173:9200/_cat/health
# curl http://192.168.124.173:9200/_cat/nodes
node-2
# yum install java
# java -version
#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.rpm
# rpm -ivh elasticsearch-6.3.1.rpm
# vim /etc/elasticsearch/elasticsearch.yml //更改配置
cluster.name: my-application
node.name: node-2
node.master: false
network.host: 192.168.124.251
http.port: 9200
discovery.zen.ping.unicast.hosts: ["host1", "192.168.124.173"]
# /etc/init.d/elasticsearch start //启动服务
# /etc/init.d/elasticsearch status //查看状态
# curl http://192.168.124.251:9200/_cat
node-1
Fluentd(tdagent)
wget http://packages.treasuredata.com.s3.amazonaws.com/3/redhat/7/x86_64/td-agent-3.2.0-0.el7.x86_64.rpm
rpm -ivh td-agent-3.2.0-0.el7.x86_64.rpm --force --nodeps
yum install -y libcurl-devel
opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-elasticsearch
#cd /etc/td-agent/
#cat td-agent.conf
@type forward
port 24224
####################################
@type tail
path /var/log/httpd/access_log
pos_file /var/log/td-agent/httpd-access.log.pos
tag apache.access
@type apache2
####################################
@type stdout
####################################
@type copy
@type elasticsearch
host 10.0.0.9
port 9200
logstash_format true
logstash_prefix fluentd-${tag}
logstash_dateformat %Y%m%d
include_tag_key true
type_name access_log
tag_key @log_name
flush_interval 1s
@type stdout
# /etc/init.d/td-agent restart
# yum -y install http
# systemctl start httpd
# chmod 777 /var/log/httpd/
# curl 'http://192.168.124.173:9200/_cat/indices?v'
# systemctl stop firewalld
# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.1-x86_64.rpm
# rpm -ivh kibana-6.3.1-x86_64.rpm
# vim /etc/kibana/kibana.yml
server.port: 5601
server.host: “192.168.124.173"
elasticsearch.url: "http://192.168.124.173:9200
kibana.index: ".kibana”
# /etc/init.d/kibana restart
#tail -f /var/log/kibana/kibana.stderr
访问 kibana 网页界面
http://192.168.124.173:5601/
添加监控项
file:///root/%E4%B8%8B%E8%BD%BD/%E7%81%AB%E7%8B%90%E6%88%AA%E5%9B%BE_2018-07-14T06-39 -23.568Z.png