ELK对业务日志进行收集
下载httpd
进到文件设置收集httpd的文件进行 设置
编辑内容 用于收集日志的内容 将日志的内容发送到实例当中
input {
file{
path => /etc/httpd/logs/access_log
type=>"access"
start_position =>"beginning"}
file{
path => /etc/httpd/logs/access_log
type=>"error"
start_position =>"beginning"}}
output {if[type]=="access"{
elasticsearch {
hosts =>["20.0.0.13:9200","20.0.0.14:9200"]
index =>"apache_access-%{+YYYY.MM.dd}"}}if[type]=="error"{
elasticsearch {
hosts =>["20.0.0.13:9200","20.0.0.14:9200"]
index =>"apache_error-%{+YYYY.MM.dd}"}}
启动文件
logstash -f http.conf --path.data /opt/test5 &
API接口:
软件内部代码之间通信的接口,代码的连接点
端口是对外提供访问程序的内容接口
页面访问httpd刷新
查看创建索引
filebeat安装 移动
filebeat:
1、可以在本机收集日志
2、也可以远程收集日志
3、轻量级的日志收集系统,可以再非java环境下运行
logstash是在jvm环境中运行,资源消耗很好,启动一个logstash要消耗500M左右的内存
filebeat只消耗十M左右的内存
打开文件 。yml
开启日志收集,以及确定日志文件的路径,指定标签和发送到目标主机的logstash
指定的是es展示的ip+端口 IP不是指定的只要是logstash主机上没有被占用的端口都可以使用,大于1024即可
要注释掉的
文件名是对方的主机地址
这里的端口和上面自己设置的是一样的
这里是指定往哪里发送
input {
beats { port =>"5045"}}
output {if"nginx"in[tags]{
elasticsearch {
hosts =>["20.0.0.13:9200","20.0.0.14:9200"]
index =>"%{[fields][service_name]}-%{+YYYY.MM.dd}"}}
这个配置文件里的service_name就是之前在
[root@sysql1 filebeat]# vim filebeat.yml[root@sysql1 filebeat]# pwd
/usr/local/filebeat
这个目录下设置的_nginx
nohup ./filebeat -e-c filebeat.yml > filebeat.out &
-e:输出到标准输出
-c:指定配置文件
nohup:在系统的后台运行,不会因为终端的关闭导致后台停止运行
> : 可以把运行的日志文件保存到指定的文件
启动设置好的配置文件
如果页面访问不了 刷新一下
如果还不行就进入虚拟机启动脚本并将他放入后台运行
mysql
nginx
httpd
通过远程收集发送到 logstash
ip +_mysql-*
ip +_nginx-*
ip +_httpd-*
mysql的日志文件 用于二进制收集文件的路径
修改端口nginx的端口 不然两个服务端口冲突 可修改任意 然后页面访问查看
nginx nginx的日志存放路径
httpd 日志存放路径
mysql 日志存放路径
- type: log
enabled: true
paths:
- /var/log/nginx/access.log
- /var/log/nginx/error.log
tags: ["nginx"]
fields:
service_name: 20.0.0.40_nginx
log_type: nginx
from: 20.0.0.40
- type: log
enabled: true
paths:
- /var/log/httpd/access_log
- /var/log/httpd/error_log
tags: ["httpd"]
fields:
service_name: 20.0.0.40_httpd
log_type: httpd
from: 20.0.0.40
- type: log
enabled: true
paths:
- /usr/local/mysql/data/mysql_general.log
tags: ["mysqld"]
fields:
service_name: 20.0.0.40_mysqld
log_type: mysql
from: 20.0.0.40
脚本修改名字
input {
beats { port =>"5050"}}
output {if"nginx"in[tags]{
elasticsearch {
hosts =>["20.0.0.13:9200","20.0.0.14:9200"]
index =>"%{[fields][service_name]}-%{+YYYY.MM.dd}"}}if"httpd"in[tags]{
elasticsearch {
hosts =>["20.0.0.13:9200","20.0.0.14:9200"]
index =>"%{[fields][service_name]}-%{+YYYY.MM.dd}"}}if"mysqld"in[tags]{
elasticsearch {
hosts =>["20.0.0.13:9200","20.0.0.14:9200"]
index =>"%{[fields][service_name]}-%{+YYYY.MM.dd}"}}}
nohup ./filebeat -e-c filebeat.yml > filebeat.out &[1]20372[root@sysql1 filebeat]# nohup: 忽略输入重定向错误到标准输出端
logstash -f nmh_40.conf --path.data /opt/test7 &
页面访问
kiabana上边就已经可以展示了
版权归原作者 孟里啥都有. 所有, 如有侵权,请联系我们删除。