ELK实现nginx mysqld httpd的日志收集

通过配置收集日志文件,发送到可视化页面

API接口:

软件内部代码之间通信的接口,代码的连接,代码之间调用的接口

端口是对外提供访问的接口

filebeat:

1、可以在本机收集日志

2、也可以远程收集日志

3、轻量级的日志系统,可以在非java环境运行

logstash实际在java环境中运行,资源消耗低,启动一个logstash要小号500M左右的内存

filebeat只消耗10M左右的内存

mysql nginx httpd

开一个MySQL在里面安装nginx httpd

复制代码
[root@MySQL ~]# systemctl stop firewalld
[root@MySQL ~]# setenforce 0
[root@MySQL ~]# yum -y install nginx httpd
​
[root@MySQL opt]# vim /etc/my.cnf   #开启MySQL日志文件
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#重启
[root@MySQL opt]# systemctl restart mysqld
​
​
[root@MySQL opt]# vim /etc/nginx/nginx.conf
  server {
        listen       82;
        #listen       [::]:80;
[root@MySQL ~]# systemctl restart nginx
[root@MySQL ~]# systemctl restart httpd
​
[root@MySQL filebeat]# vim filebeat.yml 
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log
  tags: ["nginx"]
  fields:
    servuce_name: 192.168.65.13_nginx
    log_type: nginx
    from: 192.168.65.13
​
- type: log
  enabled: true
  paths:
    - /var/log/httpd/access_log
    - /var/log/httpd/error_log
  tags: ["httpd"]
  fields:
    servuce_name: 192.168.65.13_httpd
    log_type: httpd
    from: 192.168.65.13
​
- type: log
  enabled: true
  paths:
    - /usr/local/mysql/data/mysql_general.log
  tags: ["mysqld"]
  fields:
    servuce_name: 192.168.65.13_myqld
    log_type: mysqld
    from: 192.168.65.13
output.logstash:
  # The Logstash hosts
  hosts: ["192.168.65.43:5046"]
​
​
[root@MySQL filebeat]# nohup ./filebeat -e -c filebeat.yml > filebeat.out &
[1] 23086
[root@MySQL filebeat]# nohup: 忽略输入重定向错误到标准输出端
​
​
复制代码
[root@test43 conf.d]# vim nmh.conf
​
input {
     beats { port => "5046"}
}
output {
​
    if "nginx" in [tags] {
      elasticsearch  {
           hosts => ["192.168.65.44:9200","192.168.65.45:9200"]
           index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
                  }
          }
      if "httpd" in [tags] {
      elasticsearch  {
           hosts => ["192.168.65.44:9200","192.168.65.45:9200"]
           index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
                  }
          }
       if "mysqld" in [tags] {
      elasticsearch  {
           hosts => ["192.168.65.44:9200","192.168.65.45:9200"]
           index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
                  }
          }
}
~        
​
[root@test43 conf.d]# logstash -f nmh.conf --path.data /opt/test1 &
[1] 54366
​
​
在浏览器访问:192.168.65.13:82
192.168.65.13
在xshell进数据库
​
​
然后在可视化页面刷新
相关推荐
小羊子说4 小时前
Android系统中 socketpair 的源码解读与应用分析小结
android·java
FL4m3Y4n5 小时前
MySQL索引原理与SQL优化
android·sql·mysql
spring2997925 小时前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb
我命由我123455 小时前
Android Gradle - Gradle 自定义插件(Build Script 自定义插件、buildSrc 自定义插件、独立项目自定义插件)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
冬奇Lab6 小时前
AudioFlinger混音机制深度解析
android·音视频开发·源码阅读
滑雪的企鹅.7 小时前
Kotlin云头条技术点剖析(项目复习02)——用户协议页面
android·开发语言·kotlin
JMchen1238 小时前
Android NDK开发从入门到实战:解锁应用性能的终极武器
android·开发语言·c++·python·c#·android studio·ndk开发
脚大江山稳9 小时前
单独为mysql数据库的某个库创建用户
android·数据库·mysql
吉哥机顶盒刷机9 小时前
XDBL安卓玩机刷机工具V2.8_解压缩版
android·智能手机·电脑