• mysql自带客户端在哪_Linux系统日志发送到Mysql中保存 风行天下


    1、

    https://blog.csdn.net/weixin_33712536/article/details/113491878

    一、需求

    统一收集Linux各系统的系统日志保存在MySQL数据库中。

    二、架构

    利用Linux系统自带的rsyslog/syslog/syslog-ng等自带服务来发送、接收和转发系统日志。

    因rsyslog功能强大,维护性强,我们统一采用它来进行发送和接收数据。

    有两种架构可供使用:

    一种是客户端使用rsyslog工具直接发送日志到一台服务器的MySQL数据库中

    一种是客户端使用rsyslog工具把日志统一发送给一台rsyslog服务器上,然后rsyslog服务再把日志发送给MySQL中。

    这里是推荐使用第二种方案。

    三、服务端部署安装

    3.1 rsyslog安装

    # yum install rsyslog# yum install rsyslog-mysql
    开机自启动

    #chkconfig rsyslog on
    3.2 Mysql安装

    #yum install mysql mysql-server
    启动服务

    #service mysqld start
    开机启动

    #chkconfig mysqld on
    设置MySQL密码

    #mysqladmin -u root password 'root123456'
    创建保存日志的库Syslog(可自定义,只要后面配置时对应就行)

    > create database Syslog CHARACTER SET utf8;
    添加用于管理日志数据库的用户syslog(可自定义,只要配置后面时对应就行)

    >grant all privileges on Syslog.* to 'syslog'@'%' with grant option;>update mysql.user set password=PASSWORD('root456789') where User='syslog';>FLUSH PRIVILEGES;
    更改Mysql数据目录到/data:

    #mkdir -p /data/mysql#chown mysql:mysql /data -R
    停止mysql服务

    #service mysqld stop
    复制原目录到新目录中

    #cd /var/lib/mysql#cp -Rp * /data/mysql#chown mysql:mysql /data/mysql
    修改my.cnf

    [mysqld]datadir=/data/mysqlsocket=/data/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links
    重启服务

    # service mysqld restart
    3.3 配置部署

    1、在Mysql中添加制定好的表结构

    序列号ID

    日志接收时间 Timestamp

    日志产生的时间 EventTime

    产生日志的设施 Facility

    日志告警级别 Priority

    产生日志的主机名 FromHost

    产生日志的主机 IPFromIP

    日志内容 Message

    日志的类型 InfoUnitID

    产生日志的服务 SysLogTag

    产生日志的进程 Process

    产生日志的进程PID ProcessID

    use Syslog;CREATE TABLE SystemEvents( ID int unsigned not null auto_increment primary key comment '序列号', Timestamp datetime NULL comment '日志接收时间', EventTime datetime NULL comment '日志产生的时间', Facility smallint NULL comment '产生日志的设施,如kern,mail,cron', Priority smallint NULL comment '日志告警级别', FromHost varchar(60) NULL comment '产生日志的主机名', FromIP varchar(60) NULL comment '产生日志的ip', SysLogTag varchar(60) NULL comment '产生日志的进程+进程号,如sshd[6443],crond[3823]', Process varchar(60) NULL comment '产生日志的进程名', ProcessID varchar(10) NULL comment '产生日志的进程号', InfoUnitID int NULL comment 'Messagetype:日志类型', Message text comment '日志内容') ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    2、修改rsyslog配置文档,使其接收日志,并发送日志到Mysql数据库

    #vim /etc/rsyslog.conf

    # 开启udp端口514接收远端数据$ModLoad imudp$UDPServerRun 514# 开启tcp端口514接收远端数据$ModLoad imtcp$InputTCPServerRun 514#加载rsyslog-mysql模块,用于插入数据到Mysql数据库$ModLoad ommysql#创建一个自己的模板,对应表结构插入相对应数据$template myFormat,"insert into SystemEvents (Message, Facility, FromIP, FromHost, Priority, EventTime, Timestamp, InfoUnitID, SysLogTag, Process, ProcessID) values ('%msg%', %syslogfacility%, '%fromhost-ip%', '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%', '%programname%', '%procid%')",SQL#增加Mysql数据库连接账号和密码。数据库连接地址,数据库名称,用户名,密码,模板名称*.*;mail.none :ommysql:localhost,Syslog,syslog,root456789;myFormat
    重启rsyslog服务

    #service rsyslog restart

    服务器端报错问题解决:

    ln -s  /tmp/mysql.sock  /var/lib/mysql/mysql.sock 


    四、客户端配置

    4.1 配置客户端rsyslog

    #vim /etc/rsyslog.conf#添加下面一行代码,@@表示使用的是TCP传输,@表示使用的是UDP传输*.*;mail.none @@接收服务器IP:514
    除了mail产生的日志外,其它日志都都通过tcp协议发往rsyslog服务器上。

    重启rsyslog服务

    #service rsyslog restart
    4.2 发送测试日志

    通过logger命令产生新日志,测试是否正常发送日志到服务端

    #logger -p info ‘这条是测试’
    然后到mysql数据库中查询是否有这条数据插入,如果有,说明部署正常,如没有,请仔细排查问题。

    五、注意事项

    5.1 数据发送不成功

    主要可能有几点:

    1、客户端、服务端、Mysql数据库三个节点之间是否通顺

    从客户端用telnet命令测试服务端rsyslog端口是否通顺

    在rsyslog服务端测试是否能远程连上Mysql数据库

    2、rsyslog服务端中的表结构和数据库结构是否对应

    在rsyslog.conf文件中自定义表结构时,要注意一一对应。
    ————————————————

    2、

  • 相关阅读:
    Jmeter-分布式
    Jmeter 重要测试指标释义
    Jmeter-12-如何使用Plugin Manager
    Jmeter-Java heap内存溢出
    Centos 6 FTP 配置
    Jmeter-8-FTP测试
    数据库介绍与分类
    WCP源码分析 与SpringMVC学习资料
    mvc 各种返回值
    JavaWeb工程 目录结构
  • 原文地址:https://www.cnblogs.com/yaok430/p/16259184.html
Copyright © 2020-2023  润新知