日志管理

1 日志介绍

Linux系统的日志记录
  rsyslog程序
    rsyslog的一些特性:
      多线程 
      可以基于UDP,TCP,SSL,TLS,RELP 实现日志记录
      MySQL, PGSQL,Oracle实现日志存储
      自定义输出
ELK: elasticsearch, logstash,kibana
  非关系型分布式数据库
  基于apache软件基金会jakarta项目组的项目Lucene(搜索引擎)
  Elasticsearch是个开源的分布式搜索引擎
  Logstash对日志进行搜集,分析,并将其存储以供分析使用
  Kibana可以提供的日志分析很好的web界面
rsyslog的介绍
  facility: 设施,从功能或程序上对对日志进行分类    auth,authpriv,cron,daemon,ftp,kernel,lpr,mail,news,security(auth),user,uucp,local0-local7,syslog
  priority 优先级,从低到高
    debug,info,notice,warn,err,crit,alert,emerg
系统记录日志的默认文件:
  /var/log/secure: 系统安装日志,文本格式
  /var/log/btmp: 当前系统上,用户的失败尝试登录相关的日志分析,二进制格式,lastb命令进行查看
  /var/log/lastlog: 每一个用户最近一次登录信息,二进制格式,lastlog命令可以查看
  /var/log/dmesg: 系统引导过程中的日志信息,文本格式,可通过文本查看工具或dmesg命令查看
  /var/log/messages: 系统中大部分的信息
  /var/log/anaconda: anaconda的日志(CentOS7 存在)

2 journalctl

日志管理工具journalctl (CentOS7)
  systemd 统一管理所有Unit的启动日志.带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用服务日志).日志的配置文件/etc/systemd/journald.conf
  journalctl的用法:
    journalctl -k # 查看内核日志,默认为应用的日志
    journalctl -b -0 | journalctl -b # #查看系统本次启动的日志,通过#可以查看上几次的日志
    journalctl --since "time1"  --until "time2" #通过指定时间可以查看指定范围的日志
    journalctl -n # # 可以通过#设定查看尾部指定行的日志
    journalctl -f # 实时滚动日志显示最新日志
    journalctl -p priority -b # 显示指定级别的日志
    journalctl --disk-usage # 显示日志占据的磁盘空间
    journalctl --vacuum-size=#  #指定日志文件占据的最大空间
    journalctl --vacuum-time=# #指定日志文件可以保存多长时间
配置使用基于mysql存储日志信息:
  (1) 准备好MySQL服务器,创建用户,授权对Syslog数据库的全部访问权限;
  (2) 安装rsyslog-mysql程序包;
  (3) 创建rsyslog-mysql依赖的数据库;
    # mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
  (4) 配置rsyslog使用ommysql模块
    #### MODULES ####
    $ModLoad ommysql
    #### RULES ####
    facility.priority   :ommysql:DBHOST,DB,DBUSER,USERPASS

    重启rsyslog服务
  (5) 安装loganalyzer
    (a) 配置webserver, 支持php
      # yum install httpd php php-mysql php-gd
      # service httpd start
    (b) loganalyzer
      # cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer
      # cp loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer
      # cd /var/www/html/loganalyzer
      # chmod +x *.sh
      # ./configure.sh

你可能感兴趣的:(日志管理)