线上服务器负责匹配整理数据到 redis
中存储,本地把 redis
里的日志文件再致使 ES
中。html
环境的前提是已经把 java 8
安装好java
yum 软件安装后占用大小node
如下以 centos7 yum
方式安装linux
# yum search java-1.8.0 # #找到 java-1.8.0-openjdk-devel # yum install java-1.8.0-openjdk-devel # #添加环境变量 # vi /etc/profile export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin # #JAVA_HOME 须要替换成你服务器的目录,cd /usr/lib/jvm/java + tab 进入,pwd 显示全路径 # #验证 # java -version
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # vi /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # yum install elasticsearch
yum elasticsearch 安装redis
配置shell
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # vi /etc/yum.repos.d/logstash.repo [logstash-7.x] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # yum install logstash # #启用慢处理 # yum install haveged # systemctl start haveged # #安装服务 # cd /usr/share/logstash/bin # ./system-install /etc/logstash/startup.options systemd # vi /etc/logstash/logstash.yml node.name: test mkdir 755 /var/log/logstash chown logstash:logstash /var/log/logstash chown logstash:logstash /etc/logstash/startup.options # #启用 # systemctl start logstash
yum logstash 安装
添加 logstash 到windows 服务windows
FQA:centos
一、服务启动不了服务器
经过查看系统日志来查看错误,systemctl
启动时没有任何信息出来,经过 ps aux |grep logstash
查看有没有进行启动。也能够经过 systemctl status logstash
查看状态。信息中会出现最后一些中止的时候,咱们能够判断是否是报错了,经过 /var/log/message
查看错误内容,若是不确认是否是当次的报错可使用 tail -f /var/log/message
执行后回车留空几行(在单独一个窗口中)。再启动 logstash
就能够获得错误信息。咱们只须要关注 [ERROR|error]
标识里的 :message
信息便可并发
could not find java; set JAVA_HOME or ensure java is in PATH
二、匹配过的数据第二次就再也不进行匹配了
这是 logstash.sincedb
的做用。咱们须要在 pipeline.input.sincedb_path
中进行设置便可,linux 设置为 "/dev/null"
,windows 设置成 "NUL"
便可不记录处理历史。
三、 Ignoring the 'pipelines.yml' file because modules or command line options are specified
这个问题是我手贱动配置致使的问题,logstash.yml 里的 Pipeline Configuration Settings 下的配置不要动,会出上面的那个提示。(单个 pipeline 的时候感受不到问题,可是如何是多个就会出现失效的错觉)
四、logstash 启动慢设置
Note: 不知道是否是由于用了虚拟机的问题,感受运行速度没有什么变化。
五、ERROR No configuration found in the configured sources.
这个错误是由于你没有 pipeline 而报的错
六、为何无论 linux 仍是 windows 服务都会出现重启的问题
// TODO 未找到缘由
若是没有用过的软件,配置文件只动必需动的。不要软件还没能正常启动就处处动配置(固然你自信对配置了如指掌能够忽略),到时出错调试到你头秃。
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # vi /etc/yum.repos.d/kibana.repo [kibana-7.x] name=Kibana repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # yum install kibana
# 服务管理 任务管理器 -> 服务 -右键-> [启动服务|中止服务] # 删除服务 sc delete 服务名
由于是集中式日志系统,咱们会有多台服务器,每台服务器都会监听日志文件,日志文件的生成数量是不同的,这会形成并发高而致使 ES
写入失败。redis
在这里的是起一个排队的做用(起码能保存能写入完成再进行下一次写入),还可使用 kafka
来代替,内存抗压强,读写快。
若是 logstash.pipeline 没有生成 sincedb
文件,会把日志文件所有从新处理。已有则能够删除 sincedb
文件再启动便可。