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进数据库
​
​
然后在可视化页面刷新
相关推荐
独隅3 分钟前
Android Studio 接入多种不同 AI 大模型进行开发的全面详细指南(Android Studio+AI)
android·人工智能·android studio
夜微凉416 分钟前
三、MySQL
android·数据库·mysql
我命由我1234535 分钟前
Android 开发问题:项目同时引入了两个包含相同类文件的库(AndroidX 库、旧版本支持库),导致了重复类错误
android·java·java-ee·android studio·android-studio·androidx·android runtime
anthonyzhu41 分钟前
安卓Android studio panda run无法应用更新的问题
android·ide·android studio
jingling5552 小时前
Flutter | Dio网络请求实战
android·开发语言·前端·flutter
帅次2 小时前
讯飞与腾讯云:Android 实时语音识别服务对比选择
android·ios·微信小程序·小程序·android studio·android runtime
jiayong233 小时前
MySQL 排序规则冲突问题与 utf8mb4_general_ci 统一方案
android·mysql·ci/cd
随遇丿而安4 小时前
第6周:RecyclerView 真正难的不是“写个列表”,而是让列表在复用中保持正确
android
晓梦林4 小时前
EVA靶场学习笔记
android·笔记·学习
私人珍藏库4 小时前
【Android】抖音无水印下载安卓端 轻载 QingZai v1.0.4
android·app·工具·软件·多功能